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

Issue 23503046: [CSS Blending] Implement mix-blend-mode in software. (Closed)

Created:
7 years, 3 months ago by mitica
Modified:
7 years, 2 months ago
CC:
blink-reviews, blink-layers+watch_chromium.org, dglazkov+blink, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

[CSS Blending] Implement mix-blend-mode in software. The implementation follows the CSS Blending and compositing spec at http://dev.w3.org/fxtf/compositing-1/ It seems that there might be slightly better performance if we use the software path for CSS blending. Basically, on the hardware path, there are some bitmap copy operations involved, and we'd like to avoid this whenever possible. The hardware implementation, currently in the works will only be followed for elements that force the creation of a composited layer. BUG=288655 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=159061

Patch Set 1 #

Total comments: 6

Patch Set 2 : Addressing review comments #

Patch Set 3 : Completely remove CompositingReasonBlending #

Total comments: 5

Patch Set 4 : Addressing review comments #

Total comments: 6

Patch Set 5 : Add blended child as a descendant dependent flag #

Total comments: 6

Patch Set 6 : #

Total comments: 6

Patch Set 7 : #

Total comments: 2

Patch Set 8 : #

Patch Set 9 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+567 lines, -61 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-composited-layers.html View 1 chunk +35 lines, -0 lines 0 comments Download
A + LayoutTests/css3/compositing/mix-blend-mode-composited-layers-expected.txt View 1 chunk +6 lines, -7 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolated-group-1.html View 1 2 3 4 5 6 7 8 1 chunk +79 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html View 1 2 3 4 5 6 7 8 1 chunk +80 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-isolated-group-3.html View 1 2 3 4 5 6 7 1 chunk +112 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-simple.html View 1 2 3 4 5 6 7 1 chunk +63 lines, -0 lines 0 comments Download
A LayoutTests/css3/compositing/mix-blend-mode-simple-text.html View 1 2 3 4 5 6 7 1 chunk +65 lines, -0 lines 0 comments Download
D LayoutTests/css3/compositing/should-have-compositing-layer.html View 1 chunk +0 lines, -23 lines 0 comments Download
D LayoutTests/css3/compositing/should-have-compositing-layer-expected.txt View 1 chunk +0 lines, -10 lines 0 comments Download
A LayoutTests/fast/repaint/mix-blend-mode-separate-stacking-context.html View 1 2 3 4 5 6 7 1 chunk +38 lines, -0 lines 0 comments Download
M Source/core/rendering/CompositingReasons.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/rendering/RenderLayer.h View 1 2 3 4 5 6 7 8 3 chunks +8 lines, -0 lines 0 comments Download
M Source/core/rendering/RenderLayer.cpp View 1 2 3 4 5 6 7 8 12 chunks +73 lines, -8 lines 0 comments Download
M Source/core/rendering/RenderLayerCompositor.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/rendering/RenderLayerCompositor.cpp View 1 2 3 4 5 6 7 8 3 chunks +0 lines, -9 lines 0 comments Download
M Source/web/AssertMatchingEnums.cpp View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M public/platform/WebCompositingReasons.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 33 (0 generated)
mitica
Hi, can you please review? Thanks!
7 years, 3 months ago (2013-09-10 20:08:18 UTC) #1
jamesr
I'm not a good reviewer for this patch. Perhaps some of the skia/graphics folks (pdr/schenney/fmalita) ...
7 years, 3 months ago (2013-09-10 20:17:34 UTC) #2
shawnsingh
I have some thoughts on this. https://codereview.chromium.org/23503046/diff/1/Source/core/rendering/CompositingReasons.h File Source/core/rendering/CompositingReasons.h (right): https://codereview.chromium.org/23503046/diff/1/Source/core/rendering/CompositingReasons.h#newcode28 Source/core/rendering/CompositingReasons.h:28: // FIXME: remove ...
7 years, 3 months ago (2013-09-10 21:23:40 UTC) #3
mitica
Thanks for the review, uploading a revisited version of this patch. https://codereview.chromium.org/23503046/diff/1/Source/core/rendering/CompositingReasons.h File Source/core/rendering/CompositingReasons.h (right): ...
7 years, 3 months ago (2013-09-11 16:04:14 UTC) #4
mitica
Can you please have another look at this? Thanks!
7 years, 3 months ago (2013-09-12 16:24:31 UTC) #5
shawnsingh
On 2013/09/12 16:24:31, mitica wrote: > Can you please have another look at this? Thanks! ...
7 years, 3 months ago (2013-09-13 10:26:31 UTC) #6
mitica
Completely remove CompositingReasonBlending
7 years, 3 months ago (2013-09-16 08:46:42 UTC) #7
mitica
Can you please have another look? Thanks!
7 years, 3 months ago (2013-09-18 14:37:21 UTC) #8
shawnsingh
On 2013/09/18 14:37:21, mitica wrote: > Can you please have another look? Thanks! Sorry for ...
7 years, 3 months ago (2013-09-18 23:58:38 UTC) #9
shawnsingh
This looks solid as far as I can tell =) There is only one issue ...
7 years, 3 months ago (2013-09-19 11:05:54 UTC) #10
mitica
https://codereview.chromium.org/23503046/diff/13001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/23503046/diff/13001/Source/core/rendering/RenderLayer.cpp#newcode430 Source/core/rendering/RenderLayer.cpp:430: if (!childIsBlended && child->isStackingContext()) On 2013/09/19 11:05:56, shawnsingh wrote: ...
7 years, 3 months ago (2013-09-19 11:48:59 UTC) #11
mitica
Can you please have another look? Thank you!
7 years, 3 months ago (2013-09-19 12:23:17 UTC) #12
shawnsingh
non-OWNER LGTM. Thanks for your patience while addressing my feedback. I think Julien is appropriate ...
7 years, 3 months ago (2013-09-21 10:38:53 UTC) #13
Julien - ping for review
https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp#newcode422 Source/core/rendering/RenderLayer.cpp:422: if (!child->isStackingContext() && child->hasNonAcceleratedBlendedChildInCurrentStackingContext()) Doesn't this means we will ...
7 years, 3 months ago (2013-09-23 18:55:38 UTC) #14
mitica
https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp#newcode422 Source/core/rendering/RenderLayer.cpp:422: if (!child->isStackingContext() && child->hasNonAcceleratedBlendedChildInCurrentStackingContext()) On 2013/09/23 18:55:38, Julien Chaffraix ...
7 years, 3 months ago (2013-09-23 20:12:19 UTC) #15
Julien - ping for review
https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp#newcode422 Source/core/rendering/RenderLayer.cpp:422: if (!child->isStackingContext() && child->hasNonAcceleratedBlendedChildInCurrentStackingContext()) On 2013/09/23 20:12:20, mitica wrote: ...
7 years, 3 months ago (2013-09-23 22:15:08 UTC) #16
mitica
On 2013/09/23 22:15:08, Julien Chaffraix wrote: > https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp > File Source/core/rendering/RenderLayer.cpp (right): > > https://codereview.chromium.org/23503046/diff/2/Source/core/rendering/RenderLayer.cpp#newcode422 ...
7 years, 3 months ago (2013-09-23 23:01:06 UTC) #17
mitica
On 2013/09/23 23:01:06, mitica wrote: > On 2013/09/23 22:15:08, Julien Chaffraix wrote: > > > ...
7 years, 2 months ago (2013-09-30 15:19:38 UTC) #18
Julien - ping for review
https://codereview.chromium.org/23503046/diff/33001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/23503046/diff/33001/Source/core/rendering/RenderLayer.cpp#newcode828 Source/core/rendering/RenderLayer.cpp:828: bool hadBlendMode = m_blendMode != BlendModeNormal; Unused variable. https://codereview.chromium.org/23503046/diff/33001/Source/core/rendering/RenderLayer.cpp#newcode834 ...
7 years, 2 months ago (2013-09-30 17:59:11 UTC) #19
mitica
https://codereview.chromium.org/23503046/diff/33001/Source/core/rendering/RenderLayer.cpp File Source/core/rendering/RenderLayer.cpp (right): https://codereview.chromium.org/23503046/diff/33001/Source/core/rendering/RenderLayer.cpp#newcode834 Source/core/rendering/RenderLayer.cpp:834: setAncestorChainBlendedDescendant(); On 2013/09/30 17:59:11, Julien Chaffraix wrote: > I ...
7 years, 2 months ago (2013-10-01 13:14:37 UTC) #20
mitica
Can you please have another look? Thanks
7 years, 2 months ago (2013-10-01 20:04:12 UTC) #21
Julien - ping for review
https://codereview.chromium.org/23503046/diff/39001/LayoutTests/css3/compositing/mix-blend-mode-simple-text.html File LayoutTests/css3/compositing/mix-blend-mode-simple-text.html (right): https://codereview.chromium.org/23503046/diff/39001/LayoutTests/css3/compositing/mix-blend-mode-simple-text.html#newcode15 LayoutTests/css3/compositing/mix-blend-mode-simple-text.html:15: <div style="mix-blend-mode: normal; background-color: blue;">The quick brown fox jumps ...
7 years, 2 months ago (2013-10-03 21:38:28 UTC) #22
mitica
Please have another look https://codereview.chromium.org/23503046/diff/39001/LayoutTests/fast/repaint/mix-blend-mode-separate-stacking-context.html File LayoutTests/fast/repaint/mix-blend-mode-separate-stacking-context.html (right): https://codereview.chromium.org/23503046/diff/39001/LayoutTests/fast/repaint/mix-blend-mode-separate-stacking-context.html#newcode15 LayoutTests/fast/repaint/mix-blend-mode-separate-stacking-context.html:15: <div id="first" style="mix-blend-mode: normal; background-color: ...
7 years, 2 months ago (2013-10-07 10:56:02 UTC) #23
Julien - ping for review
lgtm https://codereview.chromium.org/23503046/diff/49001/LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html File LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html (right): https://codereview.chromium.org/23503046/diff/49001/LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html#newcode28 LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html:28: <body> Can you add a description of what ...
7 years, 2 months ago (2013-10-07 16:40:55 UTC) #24
Julien - ping for review
https://codereview.chromium.org/23503046/diff/49001/LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html File LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html (right): https://codereview.chromium.org/23503046/diff/49001/LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html#newcode28 LayoutTests/css3/compositing/mix-blend-mode-isolated-group-2.html:28: <body> On 2013/10/07 16:40:55, Julien Chaffraix wrote: > Can ...
7 years, 2 months ago (2013-10-07 16:41:35 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mitica@adobe.com/23503046/55001
7 years, 2 months ago (2013-10-07 17:12:55 UTC) #26
commit-bot: I haz the power
Failed to apply patch for Source/core/rendering/RenderLayer.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 2 months ago (2013-10-07 17:13:02 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mitica@adobe.com/23503046/59001
7 years, 2 months ago (2013-10-07 19:32:47 UTC) #28
commit-bot: I haz the power
Retried try job too often on blink_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=blink_presubmit&number=8264
7 years, 2 months ago (2013-10-07 19:55:50 UTC) #29
mitica
Hi abarth, can you please stamp this chageset with your l g t m? Thanks!
7 years, 2 months ago (2013-10-07 19:59:49 UTC) #30
abarth-chromium
public <--- LGTM
7 years, 2 months ago (2013-10-07 21:08:27 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mitica@adobe.com/23503046/59001
7 years, 2 months ago (2013-10-07 21:12:15 UTC) #32
commit-bot: I haz the power
7 years, 2 months ago (2013-10-08 00:00:25 UTC) #33
Message was sent while issue was closed.
Change committed as 159061

Powered by Google App Engine
This is Rietveld 408576698