Descriptioncc: 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 #
Messages
Total messages: 8 (0 generated)
|