Change how layer stack is acquired in SF#renderScreenImpl
Update how we get the layer stack from the legacy layer.
This is part of an overall cleanup to reduce using the legacy layer
so that it can eventually be removed.
Bug: b/330785038
Test: presubmit
Change-Id: I84e31ee29fa76db112838769660a5e126c81a326
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index cf94f94..b6e2632 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -8279,7 +8279,11 @@
Mutex::Autolock lock(mStateLock);
const DisplayDevice* display = nullptr;
if (parent) {
- display = findDisplay([layerStack = parent->getLayerStack()](const auto& display) {
+ const frontend::LayerSnapshot* snapshot = mLayerLifecycleManagerEnabled
+ ? mLayerSnapshotBuilder.getSnapshot(parent->sequence)
+ : parent->getLayerSnapshot();
+ display = findDisplay([layerStack =
+ snapshot->outputFilter.layerStack](const auto& display) {
return display.getLayerStack() == layerStack;
}).get();
}