diff options
| author | 2021-10-15 17:52:24 +0000 | |
|---|---|---|
| committer | 2021-10-15 17:52:24 +0000 | |
| commit | c827364229887baeeb61122083160c9732a94952 (patch) | |
| tree | 22167cb474a5aeeecaa9bedc78335f38870349d4 /services/surfaceflinger/RegionSamplingThread.cpp | |
| parent | a94d4cc1dd61d78e52b7204fe3dddee364296d92 (diff) | |
| parent | 59a9f506c7293fdee01482a4bb532df953600d4c (diff) | |
Merge "Revert^2 "Second Patch for async RenderEngine""
Diffstat (limited to 'services/surfaceflinger/RegionSamplingThread.cpp')
| -rw-r--r-- | services/surfaceflinger/RegionSamplingThread.cpp | 11 |
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) { |