summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RegionSamplingThread.cpp
diff options
context:
space:
mode:
author Sally Qi <sallyqi@google.com> 2021-10-15 17:52:24 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-10-15 17:52:24 +0000
commitc827364229887baeeb61122083160c9732a94952 (patch)
tree22167cb474a5aeeecaa9bedc78335f38870349d4 /services/surfaceflinger/RegionSamplingThread.cpp
parenta94d4cc1dd61d78e52b7204fe3dddee364296d92 (diff)
parent59a9f506c7293fdee01482a4bb532df953600d4c (diff)
Merge "Revert^2 "Second Patch for async RenderEngine""
Diffstat (limited to 'services/surfaceflinger/RegionSamplingThread.cpp')
-rw-r--r--services/surfaceflinger/RegionSamplingThread.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp
index 9465b197b2..32585dd9ac 100644
--- a/services/surfaceflinger/RegionSamplingThread.cpp
+++ b/services/surfaceflinger/RegionSamplingThread.cpp
@@ -356,10 +356,13 @@ void RegionSamplingThread::captureSample() {
renderengine::ExternalTexture::Usage::WRITEABLE);
}
- const sp<SyncScreenCaptureListener> captureListener = new SyncScreenCaptureListener();
- mFlinger.captureScreenCommon(std::move(renderAreaFuture), traverseLayers, buffer,
- true /* regionSampling */, false /* grayscale */, captureListener);
- ScreenCaptureResults captureResults = captureListener->waitForResults();
+ auto captureScreenResultFuture =
+ mFlinger.captureScreenCommon(std::move(renderAreaFuture), traverseLayers, buffer,
+ true /* regionSampling */, false /* grayscale */, nullptr);
+ auto& captureScreenResult = captureScreenResultFuture.get();
+ if (captureScreenResult.drawFence.ok()) {
+ sync_wait(captureScreenResult.drawFence.get(), -1);
+ }
std::vector<Descriptor> activeDescriptors;
for (const auto& descriptor : descriptors) {