From 7aa0eb74f5d3ae176cc4b3d51ce69512aae6926f Mon Sep 17 00:00:00 2001 From: Vishnu Nair Date: Tue, 24 Jan 2023 03:59:27 +0000 Subject: SF: Change screenshot code to use snapshots This prepares us for frontend changes which do not rely on the Layer object. Instead we change the traversal function to return a z-ordered list of snapshots. This cl also changes some of the logic to check the snapshot instead of the layer drawing state. Bug: 238781169 Test: presubmit Test: manually test hdr listeners Change-Id: If508f9380fdef0414bbf448ece767be3e0bba9cf --- services/surfaceflinger/RegionSamplingThread.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'services/surfaceflinger/RegionSamplingThread.cpp') diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp index 6e64e0a13b..839500f8a0 100644 --- a/services/surfaceflinger/RegionSamplingThread.cpp +++ b/services/surfaceflinger/RegionSamplingThread.cpp @@ -344,12 +344,13 @@ void RegionSamplingThread::captureSample() { renderengine::impl::ExternalTexture::Usage:: WRITEABLE); } + auto getLayerSnapshots = RenderArea::fromTraverseLayersLambda(traverseLayers); constexpr bool kRegionSampling = true; constexpr bool kGrayscale = false; if (const auto fenceResult = - mFlinger.captureScreenCommon(std::move(renderAreaFuture), traverseLayers, buffer, + mFlinger.captureScreenCommon(std::move(renderAreaFuture), getLayerSnapshots, buffer, kRegionSampling, kGrayscale, nullptr) .get(); fenceResult.ok()) { -- cgit v1.2.3-59-g8ed1b