Description One good thing (the only good thing?) about the recent texture
manager bug, is that it clarified where in-use-on-impl textures need
to be protected (in the texture manager - the lack of which was the
bug).
The deleteTextureAfterCommit mechanism protects the 'front-buffer'
when double-buffering updates, but it was never quite functional
since it doesn't protect 'front-buffer' textures for layers which
are deleted entirely while they still exist in the impl-tree.
Since the texture manager takes care of this, we can remove this
redundant protection code and just discard the texture backing when
a buffered update is required.
Once textures live primarily on the impl-thread and can be removed
from the impl-tree, the notion of 'in-use' can become much more
accurate, and the number of textures which are not safe to be evicted
or recycled will be greatly reduced.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=164131
Patch Set 1 : Tiled Layer Cleanup #Patch Set 2 : Rebase #
Total comments: 3
Patch Set 3 : Moved returnBackingTexture and dirty the tile #
Total comments: 2
Patch Set 4 : Use 'dirtyRect' rather than 'updateRect' due to moving the code. #Patch Set 5 : Do tile->dirtyRect= in only one place. #Patch Set 6 : Make haveTexturesForTilesConst #
Total comments: 2
Patch Set 7 : Keep extra dirtyRect= #Patch Set 8 : Rebase #Patch Set 9 : Rebase to ToT #
Messages
Total messages: 24 (0 generated)
|