Enable single hop screenshots for only threaded re
Fixes a deadlock where screenshot requests are blocked
on the main thread which inturn is blocked by the
screenshot request finishing.
Flag: EXEMPT bug fix
Bug: 349776684
Test: presubmit
Change-Id: Ibf038ad6db3e87c84508d3e101ca1eb144836d7c
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp
index 1eb865d..cd3c638 100644
--- a/services/surfaceflinger/RegionSamplingThread.cpp
+++ b/services/surfaceflinger/RegionSamplingThread.cpp
@@ -354,7 +354,7 @@
FenceResult fenceResult;
if (FlagManager::getInstance().single_hop_screenshot() &&
- FlagManager::getInstance().ce_fence_promise()) {
+ FlagManager::getInstance().ce_fence_promise() && mFlinger.mRenderEngine->isThreaded()) {
std::vector<sp<LayerFE>> layerFEs;
auto displayState = mFlinger.getSnapshotsFromMainThread(renderAreaBuilder,
getLayerSnapshotsFn, layerFEs);