summaryrefslogtreecommitdiff
path: root/libs/gui/BLASTBufferQueue.cpp
diff options
context:
space:
mode:
author Adithya Srinivasan <adsrini@google.com> 2021-03-09 18:46:28 +0000
committer Adithya Srinivasan <adsrini@google.com> 2021-03-11 00:02:12 +0000
commitd11eb6bd1bec673653e591d10df0ec118554c387 (patch)
tree0abf038cf9b7beafa514c3981ff0f80a12c69eaa /libs/gui/BLASTBufferQueue.cpp
parent785adddcbbf459a2ee7351be11fc6fc453740e31 (diff)
Dropping SurfaceFrames from Drawing State
Our assumption is that a buffer committed into drawing state will be latched and presented. Based on this assumption, we present a BufferSurfaceFrame only at latch time instead of commit time. However, during back to back invalidates, there is a chance that the first committed buffer is not latched. It could be replaced by another buffer in the second invalidate. This leads to the SurfaceFrame getting stuck in the pending classification list. To prevent this, have a check in commitTransaction that drops the SurfaceFrame properly if it hasn't been presented before. Back to back invalidate can currently be triggered by just flashing a clean build and launching the dialer. Bug: 182214053 Test: libsurfaceflinger_unittest Change-Id: I6cd9c4cbfb2ca50b96654ed240664758dad86f19
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions