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

Issue 23455060: mix-blend-mode implementation for accelerated layers (Closed)

Created:
7 years, 3 months ago by rosca
Modified:
7 years ago
CC:
chromium-reviews, cc-bugs_chromium.org, webkitbugtracker_adobe.com, reveman
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 17

Patch Set 2 : moving blend_mode property to SharedQuadState #

Total comments: 15

Patch Set 3 : has_blend_mode -> !uses_default_blend_mode and other small changes #

Patch Set 4 : Added compositor_bindungs #

Total comments: 24

Patch Set 5 : Adding compositor pixel tests, clang-format #

Total comments: 13

Patch Set 6 : rebase #

Total comments: 2

Patch Set 7 : Addressing comments #

Total comments: 9

Patch Set 8 : Addressing comments #40 #

Total comments: 8

Patch Set 9 : removed src/webkit/renderer/compositor_bindings #

Total comments: 57

Patch Set 10 : Addressing comments #47 #

Patch Set 11 : Added tests for occlusion #

Patch Set 12 : Small changes to cc blending pixeltests #

Patch Set 13 : Addressing comments #51 #

Patch Set 14 : Rebase #

Total comments: 2

Patch Set 15 : #

Patch Set 16 : unittests fixed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+790 lines, -128 lines) Patch
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M cc/layers/compositing_reasons.h View 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M cc/layers/delegated_renderer_layer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -4 lines 0 comments Download
M cc/layers/delegated_renderer_layer_impl_unittest.cc View 1 2 3 4 5 6 4 chunks +23 lines, -22 lines 0 comments Download
M cc/layers/layer.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +22 lines, -0 lines 0 comments Download
M cc/layers/layer.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +74 lines, -6 lines 0 comments Download
M cc/layers/layer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +13 lines, -0 lines 0 comments Download
M cc/layers/layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +24 lines, -1 line 0 comments Download
M cc/layers/layer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 chunks +26 lines, -7 lines 0 comments Download
M cc/layers/layer_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M cc/layers/render_surface_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M cc/output/gl_renderer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -2 lines 0 comments Download
M cc/output/gl_renderer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +169 lines, -25 lines 0 comments Download
M cc/output/renderer_pixeltest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -2 lines 0 comments Download
M cc/output/software_renderer_unittest.cc View 1 2 3 4 5 6 3 chunks +21 lines, -6 lines 0 comments Download
M cc/quads/draw_quad_unittest.cc View 1 2 3 4 5 chunks +7 lines, -2 lines 0 comments Download
M cc/quads/render_pass_unittest.cc View 1 2 3 4 5 6 6 chunks +56 lines, -16 lines 0 comments Download
M cc/quads/shared_quad_state.h View 1 2 3 4 3 chunks +4 lines, -1 line 0 comments Download
M cc/quads/shared_quad_state.cc View 1 2 3 4 5 3 chunks +11 lines, -8 lines 0 comments Download
A cc/test/data/blending_and_filter.png View 1 2 3 4 Binary file 0 comments Download
A cc/test/data/blending_transparent.png View 1 2 3 4 5 6 7 8 9 10 11 Binary file 0 comments Download
A cc/test/data/blending_with_root.png View 1 2 3 4 Binary file 0 comments Download
M cc/test/render_pass_test_common.cc View 1 2 3 4 2 chunks +9 lines, -2 lines 0 comments Download
M cc/test/render_pass_test_utils.cc View 1 2 3 4 5 chunks +30 lines, -7 lines 0 comments Download
M cc/trees/layer_tree_host_common.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +36 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -1 line 0 comments Download
A cc/trees/layer_tree_host_pixeltest_blending.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +120 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_occlusion.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +68 lines, -0 lines 0 comments Download
M cc/trees/occlusion_tracker.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -2 lines 0 comments Download
M content/common/cc_messages.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/cc_messages_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 chunks +45 lines, -13 lines 0 comments Download

Messages

Total messages: 63 (0 generated)
rosca
This is the compositor part of the mix-blend-mode implementation. Please review it.
7 years, 3 months ago (2013-09-24 16:20:21 UTC) #1
danakj
Where are the tests?
7 years, 3 months ago (2013-09-24 16:24:29 UTC) #2
rosca
On 2013/09/24 16:24:29, danakj wrote: > Where are the tests? I uploaded this patch as ...
7 years, 3 months ago (2013-09-24 16:52:19 UTC) #3
enne (OOO)
https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc#newcode589 cc/trees/layer_tree_host_common.cc:589: if (layer->is_root_for_isolated_group()) { Whoa there. According to http://dev.w3.org/fxtf/compositing-1/#csscompositingrules_CSS, an ...
7 years, 3 months ago (2013-09-24 18:05:48 UTC) #4
rosca
https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc#newcode589 cc/trees/layer_tree_host_common.cc:589: if (layer->is_root_for_isolated_group()) { On 2013/09/24 18:05:48, enne wrote: > ...
7 years, 2 months ago (2013-09-24 21:22:42 UTC) #5
shawnsingh
There are two things i'm concerned about - scalability concerns because of our reliance on ...
7 years, 2 months ago (2013-09-25 05:33:52 UTC) #6
rosca
> Is there any place where the various design options has already been discussed? > ...
7 years, 2 months ago (2013-09-25 17:59:59 UTC) #7
shawnsingh
Forgive me for the dumb question about shared contexts and the gles api... could we ...
7 years, 2 months ago (2013-09-25 23:55:30 UTC) #8
rosca
On 2013/09/25 23:55:30, shawnsingh wrote: > Forgive me for the dumb question about shared contexts ...
7 years, 2 months ago (2013-09-26 09:59:22 UTC) #9
enne (OOO)
On 2013/09/25 17:59:59, Rosca wrote: > I started a conversation on graphics-dev before working on ...
7 years, 2 months ago (2013-09-26 16:25:12 UTC) #10
rosca
I uploaded a new patch with the changes you've suggested. I'm going to add some ...
7 years, 2 months ago (2013-09-27 10:39:05 UTC) #11
enne (OOO)
https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc#newcode589 cc/trees/layer_tree_host_common.cc:589: if (layer->is_root_for_isolated_group()) { On 2013/09/27 10:39:06, Rosca wrote: > ...
7 years, 2 months ago (2013-09-27 17:42:33 UTC) #12
rosca
https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/23455060/diff/1/cc/trees/layer_tree_host_common.cc#newcode589 cc/trees/layer_tree_host_common.cc:589: if (layer->is_root_for_isolated_group()) { > > I added a TODO ...
7 years, 2 months ago (2013-09-30 17:28:36 UTC) #13
enne (OOO)
https://codereview.chromium.org/23455060/diff/11001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/23455060/diff/11001/cc/output/gl_renderer.cc#newcode759 cc/output/gl_renderer.cc:759: bool apply_background_filters = !filters.IsEmpty() && On 2013/09/30 17:28:36, Rosca ...
7 years, 2 months ago (2013-09-30 21:26:52 UTC) #14
shawnsingh
I agree with Enne's concern, but actually I think we're just barely OK... It seems ...
7 years, 2 months ago (2013-09-30 22:15:10 UTC) #15
shawnsingh
I have to take back what I just said =) Enne pointed out to me ...
7 years, 2 months ago (2013-09-30 22:29:46 UTC) #16
rosca
> Two ways you could create a surface without being a stacking context: > 1) ...
7 years, 2 months ago (2013-10-02 22:10:38 UTC) #17
danakj
On Wed, Oct 2, 2013 at 6:10 PM, <rosca@adobe.com> wrote: > Two ways you could ...
7 years, 2 months ago (2013-10-02 22:19:59 UTC) #18
rosca
> > What if you have more decendants of S than G? Are you hitting ...
7 years, 2 months ago (2013-10-02 22:51:47 UTC) #19
enne (OOO)
On 2013/10/02 22:10:38, Rosca wrote: > I tried the cases Enne has suggested and he ...
7 years, 2 months ago (2013-10-02 23:36:33 UTC) #20
enne (OOO)
On 2013/10/02 22:10:38, Rosca wrote: > I tried the cases Enne has suggested and he ...
7 years, 2 months ago (2013-10-02 23:36:33 UTC) #21
rosca
On 2013/10/02 23:36:33, enne wrote: > If I understand the blending spec correctly, those red ...
7 years, 2 months ago (2013-10-03 05:48:26 UTC) #22
enne (OOO)
Ok, quite right. In your other patch you were proposing to create surfaces for any ...
7 years, 2 months ago (2013-10-11 18:14:35 UTC) #23
rosca
Thanks a lot for your comments! I uploaded a new patch with all them addressed. ...
7 years, 2 months ago (2013-10-16 14:54:47 UTC) #24
enne (OOO)
On 2013/10/16 14:54:47, Rosca wrote: > Regarding the render surfaces that might not be stacking ...
7 years, 2 months ago (2013-10-21 19:35:28 UTC) #25
rosca
> I have a lot of mixed feelings. border-radius not working in some cases seems ...
7 years, 1 month ago (2013-10-24 21:39:55 UTC) #26
enne (OOO)
On 2013/10/24 21:39:55, Rosca wrote: > I've been thinking about this and I have a ...
7 years, 1 month ago (2013-10-29 18:29:14 UTC) #27
Rik
On 2013/10/29 18:29:14, enne wrote: > This is a path that I am not comfortable ...
7 years, 1 month ago (2013-10-29 22:57:10 UTC) #28
enne (OOO)
On 2013/10/29 22:57:10, Rik wrote: > On 2013/10/29 18:29:14, enne wrote: > > This is ...
7 years, 1 month ago (2013-10-29 23:09:13 UTC) #29
Rik
On 2013/10/29 23:09:13, enne wrote: > > Yes, we could. I'm not saying it's not ...
7 years, 1 month ago (2013-10-30 00:03:36 UTC) #30
enne (OOO)
On 2013/10/30 00:03:36, Rik wrote: > On 2013/10/29 23:09:13, enne wrote: > > > > ...
7 years, 1 month ago (2013-10-30 00:31:48 UTC) #31
Rik
On 2013/10/30 00:31:48, enne wrote: > On 2013/10/30 00:03:36, Rik wrote: > > > > ...
7 years, 1 month ago (2013-10-30 16:59:19 UTC) #32
enne (OOO)
tl;dr: I answered my own question for how cc needs to handle this problem, so ...
7 years, 1 month ago (2013-10-30 19:49:15 UTC) #33
Rik
On 2013/10/30 19:49:15, enne wrote: > tl;dr: I answered my own question for how cc ...
7 years, 1 month ago (2013-10-31 22:36:24 UTC) #34
enne (OOO)
On 2013/10/31 22:36:24, Rik wrote: > Thanks for this great feedback. > This new information ...
7 years, 1 month ago (2013-11-01 18:49:01 UTC) #35
Rik
On 2013/11/01 18:49:01, enne wrote: > > https://codereview.chromium.org/23455060/diff/111001/cc/layers/layer.h#newcode129 > cc/layers/layer.h:129: void SetBlendMode(SkXfermode::Mode blend_mode); > Can ...
7 years, 1 month ago (2013-11-01 20:46:19 UTC) #36
achicu
I agree we should only implement the color blending for now. Color blending is not ...
7 years, 1 month ago (2013-11-01 22:13:56 UTC) #37
enne (OOO)
On 2013/11/01 22:13:56, achicu wrote: > I agree we should only implement the color blending ...
7 years, 1 month ago (2013-11-02 00:10:22 UTC) #38
rosca
Thanks for your comments. I uploaded a new patch addressing your comments. There is one ...
7 years, 1 month ago (2013-11-04 17:14:34 UTC) #39
enne (OOO)
https://codereview.chromium.org/23455060/diff/421001/cc/layers/layer.cc File cc/layers/layer.cc (right): https://codereview.chromium.org/23455060/diff/421001/cc/layers/layer.cc#newcode523 cc/layers/layer.cc:523: bool is_blend_mode = (blend_mode == SkXfermode::kSrcOver_Mode || naming: is_blend_mode ...
7 years, 1 month ago (2013-11-04 22:38:15 UTC) #40
enne (OOO)
https://codereview.chromium.org/23455060/diff/421001/cc/trees/layer_tree_host_pixeltest_blending.cc File cc/trees/layer_tree_host_pixeltest_blending.cc (right): https://codereview.chromium.org/23455060/diff/421001/cc/trees/layer_tree_host_pixeltest_blending.cc#newcode46 cc/trees/layer_tree_host_pixeltest_blending.cc:46: RunPixelTest(GL_WITH_BITMAP, On 2013/11/04 22:38:16, enne wrote: > I'm assuming ...
7 years, 1 month ago (2013-11-04 23:24:35 UTC) #41
rosca
I uploaded a new patch. Besides the changes you requested, I added to delegated_renderer_layer.cc the ...
7 years, 1 month ago (2013-11-05 19:14:09 UTC) #42
enne (OOO)
A few more small comments, mostly about cleaning up the texture storage-related code. https://codereview.chromium.org/23455060/diff/561001/cc/layers/layer_impl.cc File ...
7 years, 1 month ago (2013-11-06 22:40:18 UTC) #43
enne (OOO)
+reveman, FYI ^
7 years, 1 month ago (2013-11-06 22:45:28 UTC) #44
rosca
Thanks, uploaded another patch. I removed webkit/renderer/compositor_bindings files from this review, as they have dependencies ...
7 years, 1 month ago (2013-11-07 01:58:15 UTC) #45
enne (OOO)
cdn: owners for content/common/cc_messages* lgtm from me. Before landing this, please let danakj have a ...
7 years, 1 month ago (2013-11-07 22:24:31 UTC) #46
danakj
https://codereview.chromium.org/23455060/diff/681001/cc/layers/compositing_reasons.h File cc/layers/compositing_reasons.h (right): https://codereview.chromium.org/23455060/diff/681001/cc/layers/compositing_reasons.h#newcode56 cc/layers/compositing_reasons.h:56: const uint64 kCompositingReasonIsolateCompositedDescendants = GG_UINT64_C(1) nit: this line wrapping ...
7 years, 1 month ago (2013-11-13 21:02:02 UTC) #47
Cris Neckar
On 2013/11/13 21:02:02, danakj wrote: > https://codereview.chromium.org/23455060/diff/681001/cc/layers/compositing_reasons.h > File cc/layers/compositing_reasons.h (right): > > https://codereview.chromium.org/23455060/diff/681001/cc/layers/compositing_reasons.h#newcode56 > ...
7 years, 1 month ago (2013-11-14 02:08:45 UTC) #48
rosca
Thanks for your comments. I uploaded a new patch addressing most of the comments in ...
7 years, 1 month ago (2013-11-14 21:56:32 UTC) #49
rosca
https://codereview.chromium.org/23455060/diff/681001/cc/trees/occlusion_tracker.cc File cc/trees/occlusion_tracker.cc (right): https://codereview.chromium.org/23455060/diff/681001/cc/trees/occlusion_tracker.cc#newcode238 cc/trees/occlusion_tracker.cc:238: !finished_target->uses_default_blend_mode() || On 2013/11/13 21:02:03, danakj wrote: > Can ...
7 years, 1 month ago (2013-11-18 10:01:34 UTC) #50
danakj
Thanks this looks good, I have a few last comments. https://codereview.chromium.org/23455060/diff/681001/cc/layers/delegated_renderer_layer.cc File cc/layers/delegated_renderer_layer.cc (right): https://codereview.chromium.org/23455060/diff/681001/cc/layers/delegated_renderer_layer.cc#newcode110 ...
7 years, 1 month ago (2013-11-20 03:32:49 UTC) #51
rosca
https://codereview.chromium.org/23455060/diff/681001/cc/layers/delegated_renderer_layer.cc File cc/layers/delegated_renderer_layer.cc (right): https://codereview.chromium.org/23455060/diff/681001/cc/layers/delegated_renderer_layer.cc#newcode110 cc/layers/delegated_renderer_layer.cc:110: static bool FrameDataRequiresOffscreenContext(const DelegatedFrameData* frame) { On 2013/11/20 03:32:50, ...
7 years, 1 month ago (2013-11-20 21:52:02 UTC) #52
danakj
Thank you for your patience. This needs to be rebased on top of https://codereview.chromium.org/79603002/ I ...
7 years, 1 month ago (2013-11-21 00:22:35 UTC) #53
rosca
Thanks for your comments. I rebased it on top of https://codereview.chromium.org/79603002/. enne: I have one ...
7 years, 1 month ago (2013-11-21 13:04:44 UTC) #54
enne (OOO)
Thanks for your patience through this review process. This all still lgtm. https://codereview.chromium.org/23455060/diff/1541001/cc/layers/layer_impl.cc File cc/layers/layer_impl.cc ...
7 years, 1 month ago (2013-11-21 18:15:57 UTC) #55
danakj
On Fri, Nov 22, 2013 at 3:15 AM, <enne@chromium.org> wrote: > Thanks for your patience ...
7 years, 1 month ago (2013-11-22 01:46:53 UTC) #56
enne (OOO)
On 2013/11/22 01:46:53, danakj wrote: > > Hmm, on second thought this should be removed. ...
7 years ago (2013-11-25 20:19:44 UTC) #57
danakj
OK sounds good then. On Nov 26, 2013 5:19 AM, <enne@chromium.org> wrote: > On 2013/11/22 ...
7 years ago (2013-11-25 20:51:22 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rosca@adobe.com/23455060/1681001
7 years ago (2013-11-25 21:20:20 UTC) #59
commit-bot: I haz the power
Retried try job too often on chromium_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=chromium_presubmit&number=37997
7 years ago (2013-11-25 21:43:23 UTC) #60
jam
On 2013/11/25 21:43:23, I haz the power (commit-bot) wrote: > Retried try job too often ...
7 years ago (2013-11-25 21:52:12 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rosca@adobe.com/23455060/1701001
7 years ago (2013-11-26 08:28:46 UTC) #62
commit-bot: I haz the power
7 years ago (2013-11-26 10:27:25 UTC) #63
Message was sent while issue was closed.
Change committed as 237295

Powered by Google App Engine
This is Rietveld 408576698