summaryrefslogtreecommitdiff
path: root/libs/gui/BLASTBufferQueue.cpp
diff options
context:
space:
mode:
author Derek Sollenberger <djsollen@google.com> 2021-06-11 15:34:36 -0400
committer Derek Sollenberger <djsollen@google.com> 2021-06-15 16:43:54 -0400
commitd3f6065bdfb5f3163b4c54fcf75cb25ccbcca2cb (patch)
treecc7d7d2e6d59f02e2876795498fb76283f40d128 /libs/gui/BLASTBufferQueue.cpp
parent2c34aa61d2dd27af17caad61824c8f80bb5850ec (diff)
Defer deleting ExternalTextures that go out of scope during DrawLayers
Some buffers (e.g. protected content) are not pre-mapped into a texture. Their textures are created in drawLayers and go out of scope at the end of drawLayers drawLayers when those temporary textures are sent to the GPU. This CL ensures that in those cases we defer unbinding and deleting the temporary texture until the cleanupPostRender method is called. Also to avoid unecessary thread hops into cleanupPostRender this CL also adds a thread-safe check to see if cleanup is necessary. Finally, we also make the threaded variant asynchronous to further improve the availability of SurfaceFlinger. Bug: 190628682 Bug: 191132989 Test: atest librenderengine_test and perfetto traces Change-Id: Ic2f4384cd1957c928a0ef656a98eb0041e29622c
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions