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

Issue 915083004: cc: Make occlusion a draw property. (Closed)

Created:
5 years, 10 months ago by danakj
Modified:
5 years, 10 months ago
Reviewers:
vmpstr, enne (OOO)
CC:
cc-bugs_chromium.org, chromium-reviews, piman
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Make occlusion a draw property. We were computing occlusion twice, once in UpdateDrawProperties and once in CalculateRenderPasses. Now just do it once in UpdateDrawProperties, which means we don't have to do that work at all if we draw again without dirtying the render surface layer list. This moves the call to UpdateTiles out of the loop for occlusion, instead calling it directly on each of the picture layers on the tree, meaning it does not have to be virtual anymore. This makes it possible for us to call UpdateTiles on picture layers that were not part of the RenderSurfaceLayerList. Though for now I left the behaviour as is with a TODO. Also removed all the old LayerTreeHostOcclusionTests. Added a few new ones to ensure occlusion gets saved correctly in layers and surfaces. The test cases that would be missing, I moved to be OcclusionTrackerTests. R=enne, vmpstr BUG=446751 Committed: https://crrev.com/4902c30c928ceb9f14366d9a6cad5ef85968a058 Cr-Commit-Position: refs/heads/master@{#316306}

Patch Set 1 #

Patch Set 2 : occlusiondrawproperty: . #

Patch Set 3 : occlusiondrawproperty: notvirtual #

Total comments: 6

Patch Set 4 : occlusiondrawproperty: bettercomments #

Patch Set 5 : occlusiondrawproperty: replicaaaaaaaaaaaaas #

Total comments: 6

Patch Set 6 : occlusiondrawproperty: rebase #

Patch Set 7 : occlusiondrawproperty: earlyoutloop #

Unified diffs Side-by-side diffs Delta from patch set Stats (+407 lines, -666 lines) Patch
M cc/layers/draw_properties.h View 2 chunks +4 lines, -0 lines 0 comments Download
M cc/layers/layer_impl.h View 1 2 3 4 5 1 chunk +0 lines, -5 lines 0 comments Download
M cc/layers/layer_impl.cc View 1 2 3 4 5 1 chunk +0 lines, -5 lines 0 comments Download
M cc/layers/picture_layer_impl.h View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M cc/layers/render_surface_impl.h View 1 2 3 4 3 chunks +9 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 11 chunks +27 lines, -48 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_occlusion.cc View 1 2 3 4 1 chunk +193 lines, -550 lines 0 comments Download
M cc/trees/layer_tree_impl.h View 1 2 3 4 5 2 chunks +4 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_impl.cc View 1 2 3 4 5 6 3 chunks +93 lines, -55 lines 0 comments Download
M cc/trees/occlusion.h View 1 2 chunks +5 lines, -0 lines 0 comments Download
M cc/trees/occlusion.cc View 1 1 chunk +12 lines, -0 lines 0 comments Download
M cc/trees/occlusion_tracker_unittest.cc View 1 3 chunks +58 lines, -1 line 0 comments Download

Messages

Total messages: 18 (3 generated)
danakj
5 years, 10 months ago (2015-02-12 23:55:19 UTC) #1
danakj
Oops. Now with a description and less virtuals.
5 years, 10 months ago (2015-02-13 00:00:45 UTC) #2
vmpstr
https://codereview.chromium.org/915083004/diff/40001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/915083004/diff/40001/cc/trees/layer_tree_host_impl.cc#newcode751 cc/trees/layer_tree_host_impl.cc:751: // Grab this region here before iterating layers. Taking ...
5 years, 10 months ago (2015-02-13 00:24:54 UTC) #3
danakj
https://codereview.chromium.org/915083004/diff/40001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/915083004/diff/40001/cc/trees/layer_tree_host_impl.cc#newcode751 cc/trees/layer_tree_host_impl.cc:751: // Grab this region here before iterating layers. Taking ...
5 years, 10 months ago (2015-02-13 00:27:07 UTC) #4
enne (OOO)
https://codereview.chromium.org/915083004/diff/40001/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/915083004/diff/40001/cc/trees/layer_tree_impl.cc#newcode612 cc/trees/layer_tree_impl.cc:612: it->render_surface()->draw_transform() * On 2015/02/13 00:27:07, danakj wrote: > On ...
5 years, 10 months ago (2015-02-13 00:30:24 UTC) #5
danakj
On Thu, Feb 12, 2015 at 4:30 PM, <enne@chromium.org> wrote: > > https://codereview.chromium.org/915083004/diff/40001/cc/ > trees/layer_tree_impl.cc ...
5 years, 10 months ago (2015-02-13 00:34:12 UTC) #6
vmpstr
lgtm % enne
5 years, 10 months ago (2015-02-13 00:56:32 UTC) #7
danakj
PTAL I changed replica behaviour and added unit test to demonstrate it. Now there's no ...
5 years, 10 months ago (2015-02-13 01:25:47 UTC) #8
enne (OOO)
https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc#newcode599 cc/trees/layer_tree_impl.cc:599: inside_replica = true; And break? or while (layer && ...
5 years, 10 months ago (2015-02-13 18:26:25 UTC) #10
danakj
https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc#newcode599 cc/trees/layer_tree_impl.cc:599: inside_replica = true; On 2015/02/13 18:26:24, enne wrote: > ...
5 years, 10 months ago (2015-02-13 18:33:27 UTC) #11
enne (OOO)
lgtm https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc#newcode635 cc/trees/layer_tree_impl.cc:635: mask->draw_properties().occlusion_in_content_space = mask_occlusion; Ok, I looked at the ...
5 years, 10 months ago (2015-02-13 18:38:33 UTC) #12
danakj
https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc File cc/trees/layer_tree_impl.cc (right): https://codereview.chromium.org/915083004/diff/80001/cc/trees/layer_tree_impl.cc#newcode599 cc/trees/layer_tree_impl.cc:599: inside_replica = true; On 2015/02/13 18:33:27, danakj wrote: > ...
5 years, 10 months ago (2015-02-13 21:12:28 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/915083004/120001
5 years, 10 months ago (2015-02-13 21:12:58 UTC) #16
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years, 10 months ago (2015-02-13 22:12:25 UTC) #17
commit-bot: I haz the power
5 years, 10 months ago (2015-02-13 22:12:58 UTC) #18
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/4902c30c928ceb9f14366d9a6cad5ef85968a058
Cr-Commit-Position: refs/heads/master@{#316306}

Powered by Google App Engine
This is Rietveld 408576698