summaryrefslogtreecommitdiff
path: root/libs/gui/SurfaceComposerClient.cpp
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2023-12-11 21:16:59 +0000
committer Alec Mouri <alecmouri@google.com> 2024-01-26 23:42:37 +0000
commit9892aac629682352986492133b3d2ca40b2767bf (patch)
tree2bc22d2e51a7c19cbe6411ce2da39372793061f9 /libs/gui/SurfaceComposerClient.cpp
parent05e3113ca64afb9f624b75fe68193ae07ea3f167 (diff)
Correctly pass screenshot fences to transaction callbacks
In some instances, a screenshot may be captured before a layer has a release callback registered. This can happen when a new buffer has not yet been transacted before a screenshot is captured. This causes the screenshot fence to be dropped and the possibility of tearing when capturing a screenshot while continuously rendering. To resolve this, buffer screenshot fences into a list of future fences when there is no callback registered, and merge those fences when dispatching the release callback. Bug: 302703346 Test: SurfaceViewTests#testMovingWhiteSurfaceView 100 times Change-Id: I91aec3cdb0973092d48cd77e59dd3999e9d9e847
Diffstat (limited to 'libs/gui/SurfaceComposerClient.cpp')
0 files changed, 0 insertions, 0 deletions