diff options
author | 2022-08-02 21:47:40 +0000 | |
---|---|---|
committer | 2022-09-19 20:58:53 +0000 | |
commit | bedb44bb15cd11689b96770a45eccf475778e9eb (patch) | |
tree | 85855a80fee51fae9a09f65e3b6ab3909d67573c /services/surfaceflinger/SurfaceFlinger.cpp | |
parent | 926bb1293231a4d14128c675da081cd215b65e1b (diff) |
SF: Populate RE layer settings from layer snapshot and CE layer state
Make it easier to break FE dependencies to CE by populating
RE layer settings from a layer snapshot and CE layer composition state.
Test: presubmit
Test: go/wm-smoke
Bug: 238781169
Change-Id: I92bdc0a0f605c13e2dc1465c8d1ddfd17e554633
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index bcd2b43a62..9a19f0a6c0 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -6653,6 +6653,11 @@ ftl::SharedFuture<FenceResult> SurfaceFlinger::renderScreenImpl( std::vector<Layer*> renderedLayers; bool disableBlurs = false; traverseLayers([&](Layer* layer) { + // Layer::prepareClientComposition uses the layer's snapshot to populate the resulting + // LayerSettings. Calling Layer::updateSnapshot ensures that LayerSettings are + // generated with the layer's current buffer and geometry. + layer->updateSnapshot(true /* updateGeometry */); + disableBlurs |= layer->getDrawingState().sidebandStream != nullptr; Region clip(renderArea.getBounds()); |