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

Issue 22469002: cc: Fix aborted commits with evicted textures (Closed)

Created:
7 years, 4 months ago by enne (OOO)
Modified:
7 years, 4 months ago
Reviewers:
danakj, ccameron
CC:
chromium-reviews, cc-bugs_chromium.org, ccameron, ajuma
Visibility:
Public.

Description

cc: Fix aborted commits with evicted textures If the prioritized resource manager evicts textures in response to a SetMemory call but the main thread doesn't have any resources to update, then the active tree will be stuck in a state where it is not be able to draw. This is because ContentsTexturesPurged() is true leading to CanDraw() being false. This causes the active tree to be "stuck" until a non-aborted commit occurs. There are two logic fixes here, both of which fix this bug independently. The first is that the prioritized resource manager reports that it has evicted textures when it actually hasn't. This is why the main thread can abort; it doesn't see any evicted textures and so has no work to do. The second is a catch-all fix to just reset the contents textures purged flag when a commit is aborted. Even if there are evicted textures, if the main thread doesn't have anything to update, then there's no reason to prevent drawing. R=danakj@chromium.org BUG=268290 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=216047

Patch Set 1 #

Total comments: 6

Patch Set 2 : Rebase #

Patch Set 3 : Address nit #

Patch Set 4 : Fix animation test #

Total comments: 1

Patch Set 5 : Remove unneeded scrolling from test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+73 lines, -1 line) Patch
M cc/resources/prioritized_resource_manager.cc View 2 chunks +3 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 1 chunk +62 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_animation.cc View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
enne (OOO)
7 years, 4 months ago (2013-08-06 19:03:47 UTC) #1
ccameron
The PRM part lgtm. For this part > The second is a catch-all fix to ...
7 years, 4 months ago (2013-08-06 19:35:31 UTC) #2
danakj
https://codereview.chromium.org/22469002/diff/1/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/22469002/diff/1/cc/trees/layer_tree_host_unittest.cc#newcode4209 cc/trees/layer_tree_host_unittest.cc:4209: PostSetNeedsRedrawToMainThread(); nit: You're on the main thread, you can ...
7 years, 4 months ago (2013-08-06 19:36:53 UTC) #3
enne (OOO)
On 2013/08/06 19:35:31, ccameron1 wrote: > I didn't think that it was the case that ...
7 years, 4 months ago (2013-08-06 21:41:21 UTC) #4
danakj
LGTM
7 years, 4 months ago (2013-08-06 21:50:12 UTC) #5
danakj
+ajuma fyi
7 years, 4 months ago (2013-08-06 21:50:28 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/enne@chromium.org/22469002/17001
7 years, 4 months ago (2013-08-06 21:56:39 UTC) #7
commit-bot: I haz the power
7 years, 4 months ago (2013-08-07 00:32:16 UTC) #8
Message was sent while issue was closed.
Change committed as 216047

Powered by Google App Engine
This is Rietveld 408576698