Chromium Code Reviews
Descriptiongpu: Refactor to support cross-channel shared textures
This CL doesn't change command semantics, but is refactoring the management of
textures on the service side.
Accounting for texture gets separated into the Texture class which wraps the
service id and the meta-data, vs the TextureRef class which is a reference to
that service id in a given context group (generally corresponding to the client
id). A Texture can now have multiple TextureRef referencing it (though in this
CL no code does yet).
TextureRef keeps the refcount, whereas the Texture is explicitly managed
(jointly owned by all the TextureRef).
The main functional change is that texture-related, per-TextureManager
meta-data, such as "Is there any texture that hasn't been cleared", "Is there
any non-renderable texture", or memory accounting is pushed from the Texture to
all the owning TextureManagers (since changes from one can affect other ones).
BUG=230137
TEST=gpu_unittests, gles2_conform_test, webgl conformance tests
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=200981
Patch Set 1 #
Total comments: 6
Patch Set 2 : rebase #Patch Set 3 : add tests #Patch Set 4 : rebase #Patch Set 5 : remove bogus assert #Patch Set 6 : win compile fix #Patch Set 7 : rebase #Patch Set 8 : fix accidentally reverted behavior #Messages
Total messages: 16 (0 generated)
|