summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RegionSamplingThread.cpp
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-05-17 14:54:32 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-05-17 14:54:32 +0000
commit1c94d263dae07cf58f76b1612f8f0a00d6d75fe3 (patch)
treeed66cc20d1e8294bab537860923f6cd663c4fc5b /services/surfaceflinger/RegionSamplingThread.cpp
parent4d0354932995489267e30d6cf265acf6d364b6ed (diff)
parentbb448ce9aa521f9574d94c9ec2d57eb7d37382cb (diff)
Merge "SF: Do not duplicate fences per layer per frame" into tm-dev
Diffstat (limited to 'services/surfaceflinger/RegionSamplingThread.cpp')
-rw-r--r--services/surfaceflinger/RegionSamplingThread.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp
index e29e6ab05f..2487dbd793 100644
--- a/services/surfaceflinger/RegionSamplingThread.cpp
+++ b/services/surfaceflinger/RegionSamplingThread.cpp
@@ -355,12 +355,15 @@ void RegionSamplingThread::captureSample() {
WRITEABLE);
}
- 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);
+ constexpr bool kRegionSampling = true;
+ constexpr bool kGrayscale = false;
+
+ if (const auto fenceResult =
+ mFlinger.captureScreenCommon(std::move(renderAreaFuture), traverseLayers, buffer,
+ kRegionSampling, kGrayscale, nullptr)
+ .get();
+ fenceResult.ok()) {
+ fenceResult.value()->waitForever(LOG_TAG);
}
std::vector<Descriptor> activeDescriptors;