Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(362)

Issue 776673002: Collapse consecutive SkTableColorFilters (Closed)

Created:
6 years ago by cwallez
Modified:
5 years, 11 months ago
CC:
reviews_skia.org, fmalita_google_do_not_use
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Collapse consecutive SkTableColorFilters BUG=skia:1366 For the added bench, the collapsing makes the bench take: - 70% of the time for CPU rendering of 3 consecutive matrix filters - almost no change in the GPU rendering of the matrix filters - 50% of the time for CPU and GPU rendering of 3 consecutive table filters Committed: https://skia.googlesource.com/skia/+/c12b74dc413ef024b13e0ed478491c4b1bafe6b1

Patch Set 1 #

Total comments: 10

Patch Set 2 : Take into account senorblanco@'s comments #

Total comments: 1

Patch Set 3 : Implement the benchmark. #

Total comments: 11

Patch Set 4 : Take into account most of junov@'s comments #

Patch Set 5 : Add a comment to explain what the gm does #

Total comments: 3

Patch Set 6 : Take into account Reed's comments #

Patch Set 7 : Add an ignore for the changed GM #

Total comments: 7

Patch Set 8 : Add comments for the positioning logic #

Patch Set 9 : Steven's comments, -ignored-tests.txt #

Total comments: 1

Patch Set 10 : Fix MSVC warning #

Patch Set 11 : Rebased #

Patch Set 12 : Fix another msvc warning #

Unified diffs Side-by-side diffs Delta from patch set Stats (+269 lines, -22 lines) Patch
A bench/ImageFilterCollapse.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +158 lines, -0 lines 0 comments Download
M gm/tablecolorfilter.cpp View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +69 lines, -15 lines 0 comments Download
M gyp/bench.gypi View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/effects/SkColorFilterImageFilter.cpp View 1 2 3 4 5 6 3 chunks +41 lines, -7 lines 0 comments Download

Messages

Total messages: 53 (16 generated)
cwallez
6 years ago (2014-12-02 21:20:25 UTC) #2
Stephen White
Almost there: just some nits and cleanup, and also needs a bench to show the ...
6 years ago (2014-12-04 15:36:24 UTC) #4
cwallez
Still need to make a bench https://codereview.chromium.org/776673002/diff/1/gm/tablecolorfilter.cpp File gm/tablecolorfilter.cpp (right): https://codereview.chromium.org/776673002/diff/1/gm/tablecolorfilter.cpp#newcode127 gm/tablecolorfilter.cpp:127: y += bm.height() ...
6 years ago (2014-12-15 19:19:52 UTC) #6
Stephen White
On 2014/12/15 19:19:52, cwallez wrote: > Still need to make a bench > > https://codereview.chromium.org/776673002/diff/1/gm/tablecolorfilter.cpp ...
6 years ago (2014-12-15 19:23:23 UTC) #7
Stephen White
https://codereview.chromium.org/776673002/diff/20001/gm/tablecolorfilter.cpp File gm/tablecolorfilter.cpp (right): https://codereview.chromium.org/776673002/diff/20001/gm/tablecolorfilter.cpp#newcode114 gm/tablecolorfilter.cpp:114: static SkColorFilter* (*cfMakers[])() = {make_null_cf, make_cf0, make_cf1, make_cf2, make_cf3}; ...
6 years ago (2014-12-15 19:24:26 UTC) #9
cwallez
+junov
6 years ago (2014-12-19 23:28:33 UTC) #11
Justin Novosad
https://codereview.chromium.org/776673002/diff/40001/bench/ImageFilterCollapse.cpp File bench/ImageFilterCollapse.cpp (right): https://codereview.chromium.org/776673002/diff/40001/bench/ImageFilterCollapse.cpp#newcode32 bench/ImageFilterCollapse.cpp:32: for(int i = nFilters; i --> 0;) { Add ...
6 years ago (2014-12-19 23:54:37 UTC) #13
cwallez
https://codereview.chromium.org/776673002/diff/40001/bench/ImageFilterCollapse.cpp File bench/ImageFilterCollapse.cpp (right): https://codereview.chromium.org/776673002/diff/40001/bench/ImageFilterCollapse.cpp#newcode32 bench/ImageFilterCollapse.cpp:32: for(int i = nFilters; i --> 0;) { On ...
5 years, 11 months ago (2015-01-19 19:56:13 UTC) #15
Justin Novosad
https://codereview.chromium.org/776673002/diff/40001/gm/tablecolorfilter.cpp File gm/tablecolorfilter.cpp (right): https://codereview.chromium.org/776673002/diff/40001/gm/tablecolorfilter.cpp#newcode150 gm/tablecolorfilter.cpp:150: x += xOffset; On 2015/01/19 19:56:13, cwallez wrote: > ...
5 years, 11 months ago (2015-01-19 20:03:52 UTC) #16
reed1
https://codereview.chromium.org/776673002/diff/80001/src/effects/SkColorFilterImageFilter.cpp File src/effects/SkColorFilterImageFilter.cpp (right): https://codereview.chromium.org/776673002/diff/80001/src/effects/SkColorFilterImageFilter.cpp#newcode25 src/effects/SkColorFilterImageFilter.cpp:25: out[i+j*5] += SkScalarMul(a[k+j*5], b[i+k*5]); unrelated nit: SkScalarMul no long ...
5 years, 11 months ago (2015-01-20 13:52:03 UTC) #18
cwallez
I added the changed gm to ignored-tests.txt so unless you have other comments, everything is ...
5 years, 11 months ago (2015-01-21 16:32:12 UTC) #19
Stephen White
https://codereview.chromium.org/776673002/diff/120001/bench/ImageFilterCollapse.cpp File bench/ImageFilterCollapse.cpp (right): https://codereview.chromium.org/776673002/diff/120001/bench/ImageFilterCollapse.cpp#newcode17 bench/ImageFilterCollapse.cpp:17: // Chains several matrix color filter imager filter or ...
5 years, 11 months ago (2015-01-21 16:50:07 UTC) #21
Justin Novosad
https://codereview.chromium.org/776673002/diff/120001/gm/tablecolorfilter.cpp File gm/tablecolorfilter.cpp (right): https://codereview.chromium.org/776673002/diff/120001/gm/tablecolorfilter.cpp#newcode150 gm/tablecolorfilter.cpp:150: x += xOffset; The complex x/y positioning logic still ...
5 years, 11 months ago (2015-01-21 16:50:32 UTC) #22
cwallez
On 2015/01/21 16:50:32, junov wrote: > https://codereview.chromium.org/776673002/diff/120001/gm/tablecolorfilter.cpp > File gm/tablecolorfilter.cpp (right): > > https://codereview.chromium.org/776673002/diff/120001/gm/tablecolorfilter.cpp#newcode150 > ...
5 years, 11 months ago (2015-01-21 18:13:07 UTC) #23
Justin Novosad
fine by me. Will let senorblanco give final approval since he knows this area of ...
5 years, 11 months ago (2015-01-22 20:08:20 UTC) #24
Stephen White
LGTM https://codereview.chromium.org/776673002/diff/160001/bench/ImageFilterCollapse.cpp File bench/ImageFilterCollapse.cpp (right): https://codereview.chromium.org/776673002/diff/160001/bench/ImageFilterCollapse.cpp#newcode36 bench/ImageFilterCollapse.cpp:36: SkColorFilterImageFilter::Create(colorFilters[i], fImageFilter, NULL, 0) Nit: weird spacing here.
5 years, 11 months ago (2015-01-22 21:24:48 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/776673002/160001
5 years, 11 months ago (2015-01-22 21:30:32 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-VS2013-x86-Debug-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Win-VS2013-x86-Debug-Trybot/builds/2032)
5 years, 11 months ago (2015-01-22 21:34:53 UTC) #29
cwallez
The MSVC warning should be fixed now.
5 years, 11 months ago (2015-01-23 19:11:28 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/776673002/180001
5 years, 11 months ago (2015-01-23 21:21:01 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/776673002/200001
5 years, 11 months ago (2015-01-26 15:18:00 UTC) #34
commit-bot: I haz the power
Try jobs failed on following builders: Build-Win-VS2013-x86-Debug-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Win-VS2013-x86-Debug-Trybot/builds/2095)
5 years, 11 months ago (2015-01-26 15:28:31 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/776673002/220001
5 years, 11 months ago (2015-01-26 15:38:20 UTC) #39
commit-bot: I haz the power
Committed patchset #12 (id:220001) as https://skia.googlesource.com/skia/+/c12b74dc413ef024b13e0ed478491c4b1bafe6b1
5 years, 11 months ago (2015-01-26 15:45:56 UTC) #40
reed1
Did this CL change results in layouttests? webkit_tests webkit_tests failures: css3/filters/effect-combined.html svg/W3C-SVG-1.1/filters-comptran-01-b.svg svg/custom/feComponentTransfer-Discrete.svg svg/custom/feComponentTransfer-Gamma.svg svg/custom/feComponentTransfer-Linear.svg ...
5 years, 11 months ago (2015-01-26 21:21:35 UTC) #41
reed1
5 years, 11 months ago (2015-01-26 21:21:54 UTC) #42
f(malita)
The edge-only diffs are somewhat odd - are these safe to rebaseline? https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/43743/layout-test-results/results.html
5 years, 11 months ago (2015-01-26 21:28:20 UTC) #43
Stephen White
On 2015/01/26 21:28:20, f(malita) wrote: > The edge-only diffs are somewhat odd - are these ...
5 years, 11 months ago (2015-01-26 21:35:41 UTC) #44
reed1
On 2015/01/26 21:35:41, Stephen White wrote: > On 2015/01/26 21:28:20, f(malita) wrote: > > The ...
5 years, 11 months ago (2015-01-26 21:40:10 UTC) #45
f(malita)
Stephen/Corentin: if it's not clear whether these diffs are expected, shall I revert so you ...
5 years, 11 months ago (2015-01-26 21:47:20 UTC) #46
Stephen White
On 2015/01/26 21:40:10, reed1 wrote: > On 2015/01/26 21:35:41, Stephen White wrote: > > On ...
5 years, 11 months ago (2015-01-26 21:47:49 UTC) #47
Stephen White
On 2015/01/26 21:47:20, f(malita) wrote: > Stephen/Corentin: if it's not clear whether these diffs are ...
5 years, 11 months ago (2015-01-26 21:56:01 UTC) #48
reed1
On 2015/01/26 21:56:01, Stephen White wrote: > On 2015/01/26 21:47:20, f(malita) wrote: > > Stephen/Corentin: ...
5 years, 11 months ago (2015-01-26 22:14:21 UTC) #49
reed1
On 2015/01/26 21:47:49, Stephen White wrote: > On 2015/01/26 21:40:10, reed1 wrote: > > On ...
5 years, 11 months ago (2015-01-26 22:23:08 UTC) #50
Stephen White
On 2015/01/26 22:14:21, reed1 wrote: > On 2015/01/26 21:56:01, Stephen White wrote: > > On ...
5 years, 11 months ago (2015-01-26 22:23:32 UTC) #51
reed1
On 2015/01/26 22:23:32, Stephen White wrote: > On 2015/01/26 22:14:21, reed1 wrote: > > On ...
5 years, 11 months ago (2015-01-26 22:25:30 UTC) #52
Stephen White
5 years, 11 months ago (2015-01-26 22:30:41 UTC) #53
Message was sent while issue was closed.
On 2015/01/26 22:25:30, reed1 wrote:
> On 2015/01/26 22:23:32, Stephen White wrote:
> > On 2015/01/26 22:14:21, reed1 wrote:
> > > On 2015/01/26 21:56:01, Stephen White wrote:
> > > > On 2015/01/26 21:47:20, f(malita) wrote:
> > > > > Stephen/Corentin: if it's not clear whether these diffs are expected,
> > shall
> > > I
> > > > > revert so you can investigate/re-land with suppressions?
> > > > > 
> > > > > (If they are expected please add suppressions to unblock the roll)
> > > > 
> > > > Sorry for the mess; I should've had Corentin run the layout tests.
> > > > 
> > > > Florin will add the suppressions to skia/skia_test_expectations.txt, and
> > I'll
> > > > rebaseline in Blink once it's rolled in.
> > > 
> > > For the future, lets following the following work-flow:
> > > 
> > > If you CL blocks the DEPS roll due to layouttest changes, either:
> > > 1. revert and add suppressions to blink (and then wait for blink to roll)
> > > 2. amend the DEPS roll (manually) with suppression in chrome file (and
then
> > move
> > > them into blink)
> > > 
> > > Either of these should be done by the author, as the sheriff's
> responsibility
> > is
> > > only to identify the breakage.
> > 
> > It would be great to have the Skia Chrome canaries run layout tests too.
That
> > should
> > catch the case where the submitter didn't know it would break them.
> 
> Yes, we have been trying to add that, but it has proved difficult. Eric has
more
> details.
> 
> I have no problem that we didn't notice the break until the DEPS roller
actually
> tried. That is ok. *After* we discover this, it is the responsibility of the
> author to handle the suppressions/reverts/etc.

SGTM

Powered by Google App Engine
This is Rietveld 408576698