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

Issue 835973005: Fold alpha to the inner savelayer in savelayer-savelayer-restore patterns (Closed)

Created:
5 years, 11 months ago by Kimmo Kinnunen
Modified:
5 years, 11 months ago
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@record-opt-savelayer-draw-non-opaque
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Fold alpha to the inner savelayer in savelayer-savelayer-restore patterns Fold alpha to the inner savelayer in savelayer-savelayer-restore patterns such as this: SaveLayer (non-opaque) Save ClipRect SaveLayer Restore Restore Restore Current blink generates these for example for SVG content such as this: <path style="opacity:0.5 filter:url(#blur_filter)"/> The outer save layer is due to the opacity and the inner one is due to blur filter being implemented with picture image filter. Reduces layers in desk_carsvg.skp testcase from 115 to 78. BUG=skia:3119 Committed: https://skia.googlesource.com/skia/+/dc0f408a961b6ce4e7631e06031bbfe1d8d7bcec

Patch Set 1 #

Total comments: 14

Patch Set 2 : address review comments #

Patch Set 3 : #

Total comments: 2

Patch Set 4 : #

Patch Set 5 : ab->ba #

Total comments: 16

Patch Set 6 : address review comments #

Patch Set 7 : SkIntToScalars + RecordOpts leak #

Patch Set 8 : remove one too many inttoscalar #

Unified diffs Side-by-side diffs Delta from patch set Stats (+482 lines, -29 lines) Patch
A gm/recordopts.cpp View 1 2 3 4 5 6 1 chunk +218 lines, -0 lines 0 comments Download
M gyp/gmslides.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/core/SkRecordOpts.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M src/core/SkRecordOpts.cpp View 1 2 3 4 5 4 chunks +107 lines, -29 lines 0 comments Download
M src/core/SkRecordPattern.h View 2 chunks +13 lines, -0 lines 0 comments Download
M tests/RecordOptsTest.cpp View 1 2 3 4 5 6 7 2 chunks +139 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (8 generated)
Kimmo Kinnunen
Robert, you mentioned: """ 2) SaveLayer1|SaveLayer2|Restore|Restore where SL2 has a SkColorFilterImageFilter The SaveLayer1|SaveLayer2|Restore|Restore patterns do ...
5 years, 11 months ago (2015-01-13 09:08:53 UTC) #1
mtklein
We're gonna want tests before we land this. https://codereview.chromium.org/835973005/diff/1/src/core/SkRecordOpts.cpp File src/core/SkRecordOpts.cpp (right): https://codereview.chromium.org/835973005/diff/1/src/core/SkRecordOpts.cpp#newcode170 src/core/SkRecordOpts.cpp:170: SaveLayer ...
5 years, 11 months ago (2015-01-13 21:12:20 UTC) #3
Kimmo Kinnunen
On 2015/01/13 21:12:20, mtklein wrote: > We're gonna want tests before we land this. > ...
5 years, 11 months ago (2015-01-14 13:44:03 UTC) #5
Stephen White
On 2015/01/14 13:44:03, Kimmo Kinnunen wrote: > On 2015/01/13 21:12:20, mtklein wrote: > > We're ...
5 years, 11 months ago (2015-01-14 15:46:37 UTC) #6
Kimmo Kinnunen
On 2015/01/14 15:46:37, Stephen White wrote: > On 2015/01/14 13:44:03, Kimmo Kinnunen wrote: > > ...
5 years, 11 months ago (2015-01-15 09:07:15 UTC) #7
Kimmo Kinnunen
On 2015/01/13 21:12:20, mtklein wrote: > This pattern seems very specific. This makes me wonder: ...
5 years, 11 months ago (2015-01-21 14:00:03 UTC) #8
reed1
On 2015/01/21 14:00:03, Kimmo Kinnunen wrote: > On 2015/01/13 21:12:20, mtklein wrote: > > This ...
5 years, 11 months ago (2015-01-21 14:03:45 UTC) #9
reed1
5 years, 11 months ago (2015-01-21 14:03:58 UTC) #11
mtklein
Ah, good point. We cannot merge ClipRect into a SaveLayer. Let's go ahead with the ...
5 years, 11 months ago (2015-01-21 16:20:30 UTC) #12
Kimmo Kinnunen
How about now? https://codereview.chromium.org/835973005/diff/1/src/core/SkRecordOpts.cpp File src/core/SkRecordOpts.cpp (right): https://codereview.chromium.org/835973005/diff/1/src/core/SkRecordOpts.cpp#newcode15 src/core/SkRecordOpts.cpp:15: static void SkRecordNoopSaveLayerSaveLayerRestores(SkRecord* record); On 2015/01/21 ...
5 years, 11 months ago (2015-01-22 13:55:01 UTC) #13
mtklein
Thanks. Just one last question. https://codereview.chromium.org/835973005/diff/40001/src/core/SkRecordOpts.cpp File src/core/SkRecordOpts.cpp (right): https://codereview.chromium.org/835973005/diff/40001/src/core/SkRecordOpts.cpp#newcode215 src/core/SkRecordOpts.cpp:215: static bool IsParentAlphaModulationTransitive(const SkPaint& ...
5 years, 11 months ago (2015-01-22 14:40:43 UTC) #14
Kimmo Kinnunen
https://codereview.chromium.org/835973005/diff/40001/src/core/SkRecordOpts.cpp File src/core/SkRecordOpts.cpp (right): https://codereview.chromium.org/835973005/diff/40001/src/core/SkRecordOpts.cpp#newcode215 src/core/SkRecordOpts.cpp:215: static bool IsParentAlphaModulationTransitive(const SkPaint& paint) { On 2015/01/22 14:40:43, ...
5 years, 11 months ago (2015-01-23 14:46:35 UTC) #15
mtklein
lgtm, with a few suggestions for code tweaks and comments Just to make sure I ...
5 years, 11 months ago (2015-01-23 15:12:07 UTC) #16
mtklein
> - next 6 rows are green, with a grey box in the middle row ...
5 years, 11 months ago (2015-01-23 15:13:11 UTC) #17
Kimmo Kinnunen
https://codereview.chromium.org/835973005/diff/80001/gm/recordopts.cpp File gm/recordopts.cpp (right): https://codereview.chromium.org/835973005/diff/80001/gm/recordopts.cpp#newcode57 gm/recordopts.cpp:57: static void draw_save_layer_draw_rect_restore_sequence(SkCanvas* canvas, const SkColor& shapeColor, On 2015/01/23 ...
5 years, 11 months ago (2015-01-26 07:11:01 UTC) #18
Kimmo Kinnunen
On 2015/01/23 15:12:07, mtklein wrote: > lgtm, with a few suggestions for code tweaks and ...
5 years, 11 months ago (2015-01-26 07:12:25 UTC) #19
Kimmo Kinnunen
https://codereview.chromium.org/835973005/diff/80001/src/core/SkRecordOpts.cpp File src/core/SkRecordOpts.cpp (right): https://codereview.chromium.org/835973005/diff/80001/src/core/SkRecordOpts.cpp#newcode61 src/core/SkRecordOpts.cpp:61: static bool fold_opacity_layer_color_to_paint(const SkPaint& layerPaint, On 2015/01/23 15:12:07, mtklein ...
5 years, 11 months ago (2015-01-26 07:13:48 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/835973005/100001
5 years, 11 months ago (2015-01-26 07:14:18 UTC) #22
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/2086)
5 years, 11 months ago (2015-01-26 07:19:59 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/835973005/120001
5 years, 11 months ago (2015-01-26 07:34:18 UTC) #26
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/2088)
5 years, 11 months ago (2015-01-26 07:38:20 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/835973005/140001
5 years, 11 months ago (2015-01-26 08:07:29 UTC) #30
commit-bot: I haz the power
5 years, 11 months ago (2015-01-26 08:14:30 UTC) #31
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://skia.googlesource.com/skia/+/dc0f408a961b6ce4e7631e06031bbfe1d8d7bcec

Powered by Google App Engine
This is Rietveld 408576698