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

Issue 1007623002: Fix resourceless software draw (Closed)

Created:
5 years, 9 months ago by boliu
Modified:
5 years, 9 months ago
CC:
ajuma, cc-bugs_chromium.org, chromium-reviews, vmpstr, Ian Vollick
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix resourceless software draw crash Resourceless software draw can only have a single root layer render surface. Since decision to create render surface has been moved to main thread, this condition no longer holds and the mismatch causes a crash in LayerIterator. Instead tweak the logic to only *use* the root layer render surface, while being possible to to have more than one render surface in the tree. This means only the root render layer can be a render target. BUG=466695 Committed: https://crrev.com/13185caf5c14377166ef88f467570c34e37af81b Cr-Commit-Position: refs/heads/master@{#320821}

Patch Set 1 #

Total comments: 5

Patch Set 2 : tests #

Total comments: 10

Patch Set 3 : review #

Total comments: 2

Patch Set 4 : EXPECT_GE #

Unified diffs Side-by-side diffs Delta from patch set Stats (+132 lines, -2 lines) Patch
M cc/trees/layer_tree_host_common.h View 1 1 chunk +4 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_common_unittest.cc View 1 2 chunks +42 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 1 chunk +86 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (5 generated)
enne (OOO)
I'm not 100% sure what the answer is here. There's a copy request that's being ...
5 years, 9 months ago (2015-03-13 17:18:47 UTC) #2
enne (OOO)
5 years, 9 months ago (2015-03-13 17:18:52 UTC) #3
enne (OOO)
Er, sorry, "pointing to the previous parent to point to itself instead" => "pointing to ...
5 years, 9 months ago (2015-03-13 17:19:35 UTC) #4
danakj
https://codereview.chromium.org/1007623002/diff/1/cc/trees/layer_tree_host_common.h File cc/trees/layer_tree_host_common.h (right): https://codereview.chromium.org/1007623002/diff/1/cc/trees/layer_tree_host_common.h#newcode180 cc/trees/layer_tree_host_common.h:180: return layer->render_surface() && layer->render_target() == layer && On 2015/03/13 ...
5 years, 9 months ago (2015-03-13 17:41:36 UTC) #6
boliu
On 2015/03/13 17:18:47, enne wrote: > I'm not 100% sure what the answer is here. ...
5 years, 9 months ago (2015-03-13 17:50:35 UTC) #8
enne (OOO)
Ignore my previous comments entirely. I misunderstood what was going on. I chatted with vollick ...
5 years, 9 months ago (2015-03-13 18:13:11 UTC) #9
aelias_OOO_until_Jul13
On 2015/03/13 at 17:50:35, boliu wrote: > If you meant copy request being the longer ...
5 years, 9 months ago (2015-03-13 18:16:36 UTC) #10
boliu
On 2015/03/13 18:13:11, enne wrote: > Ignore my previous comments entirely. I misunderstood what was ...
5 years, 9 months ago (2015-03-13 18:18:27 UTC) #11
aelias_OOO_until_Jul13
On 2015/03/13 at 18:13:11, enne wrote: > Ignore my previous comments entirely. I misunderstood what ...
5 years, 9 months ago (2015-03-13 18:18:57 UTC) #12
danakj
On Fri, Mar 13, 2015 at 11:13 AM, <enne@chromium.org> wrote: > Ignore my previous comments ...
5 years, 9 months ago (2015-03-13 18:21:55 UTC) #13
danakj
https://codereview.chromium.org/1007623002/diff/1/cc/trees/layer_tree_host_common.h File cc/trees/layer_tree_host_common.h (right): https://codereview.chromium.org/1007623002/diff/1/cc/trees/layer_tree_host_common.h#newcode180 cc/trees/layer_tree_host_common.h:180: return layer->render_surface() && layer->render_target() == layer && On 2015/03/13 ...
5 years, 9 months ago (2015-03-13 20:02:33 UTC) #14
boliu
Thanks all! I'll ping here again once I have a test https://codereview.chromium.org/1007623002/diff/1/cc/trees/layer_tree_host_common.h File cc/trees/layer_tree_host_common.h (right): ...
5 years, 9 months ago (2015-03-13 20:22:02 UTC) #15
boliu
ptal Two tests, both reproduce the crash in the bug without the fix. One unit ...
5 years, 9 months ago (2015-03-16 16:16:15 UTC) #16
danakj
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode2966 cc/trees/layer_tree_host_unittest.cc:2966: // PictureLayer can only be used with impl side ...
5 years, 9 months ago (2015-03-16 17:32:19 UTC) #17
boliu
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode3010 cc/trees/layer_tree_host_unittest.cc:3010: LayerImpl* parent_impl = root_impl->children()[0]; On 2015/03/16 17:32:19, danakj wrote: ...
5 years, 9 months ago (2015-03-16 18:12:23 UTC) #18
danakj
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode3010 cc/trees/layer_tree_host_unittest.cc:3010: LayerImpl* parent_impl = root_impl->children()[0]; On 2015/03/16 18:12:22, boliu wrote: ...
5 years, 9 months ago (2015-03-16 18:18:41 UTC) #19
enne (OOO)
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode2963 cc/trees/layer_tree_host_unittest.cc:2963: class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { I don't really ...
5 years, 9 months ago (2015-03-16 18:24:36 UTC) #20
danakj
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode2963 cc/trees/layer_tree_host_unittest.cc:2963: class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { On 2015/03/16 18:24:36, ...
5 years, 9 months ago (2015-03-16 18:26:43 UTC) #21
boliu
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode2963 cc/trees/layer_tree_host_unittest.cc:2963: class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { On 2015/03/16 18:26:43, ...
5 years, 9 months ago (2015-03-16 18:35:07 UTC) #22
danakj
https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode2963 cc/trees/layer_tree_host_unittest.cc:2963: class LayerTreeHostTestResourcelessSoftwareDraw : public LayerTreeHostTest { On 2015/03/16 18:35:07, ...
5 years, 9 months ago (2015-03-16 18:40:11 UTC) #23
boliu
New patch set up addressing Dana's review comments. Still easy to delete the test if ...
5 years, 9 months ago (2015-03-16 20:27:45 UTC) #24
danakj
LGTM % enne https://codereview.chromium.org/1007623002/diff/40001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/40001/cc/trees/layer_tree_host_unittest.cc#newcode3008 cc/trees/layer_tree_host_unittest.cc:3008: EXPECT_LE(1u, frame_data->render_passes[0]->quad_list.size()); nit: can you write ...
5 years, 9 months ago (2015-03-16 20:35:41 UTC) #25
boliu
https://codereview.chromium.org/1007623002/diff/40001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/1007623002/diff/40001/cc/trees/layer_tree_host_unittest.cc#newcode3008 cc/trees/layer_tree_host_unittest.cc:3008: EXPECT_LE(1u, frame_data->render_passes[0]->quad_list.size()); On 2015/03/16 20:35:41, danakj wrote: > nit: ...
5 years, 9 months ago (2015-03-16 20:43:48 UTC) #26
enne (OOO)
lgtm
5 years, 9 months ago (2015-03-16 21:25:16 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1007623002/50004
5 years, 9 months ago (2015-03-16 21:26:02 UTC) #30
commit-bot: I haz the power
Committed patchset #4 (id:50004)
5 years, 9 months ago (2015-03-16 23:20:15 UTC) #31
commit-bot: I haz the power
5 years, 9 months ago (2015-03-16 23:21:09 UTC) #32
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/13185caf5c14377166ef88f467570c34e37af81b
Cr-Commit-Position: refs/heads/master@{#320821}

Powered by Google App Engine
This is Rietveld 408576698