Loading services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFE.h +3 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,9 @@ public: // If set to true, change the layer settings to render a clear output. // This may be requested by the HWC const bool clearContent; // If set to true, change the layer settings to not use any blurs. const bool disableBlurs; }; // A superset of LayerSettings required by RenderEngine to compose a layer Loading services/surfaceflinger/CompositionEngine/src/Output.cpp +14 −3 Original line number Diff line number Diff line Loading @@ -669,8 +669,14 @@ void Output::updateAndWriteCompositionState( compositionengine::OutputLayer* Output::findLayerRequestingBackgroundComposition() const { compositionengine::OutputLayer* layerRequestingBgComposition = nullptr; for (auto* layer : getOutputLayersOrderedByZ()) { if (layer->getLayerFE().getCompositionState()->backgroundBlurRadius > 0 || layer->getLayerFE().getCompositionState()->blurRegions.size() > 0) { auto* compState = layer->getLayerFE().getCompositionState(); // If any layer has a sideband stream, we will disable blurs. In that case, we don't // want to force client composition because of the blur. if (compState->sidebandStream != nullptr) { return nullptr; } if (compState->backgroundBlurRadius > 0 || compState->blurRegions.size() > 0) { layerRequestingBgComposition = layer; } } Loading Loading @@ -1022,6 +1028,8 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( // Used when a layer clears part of the buffer. Region stubRegion; bool disableBlurs = false; for (auto* layer : getOutputLayersOrderedByZ()) { const auto& layerState = layer->getState(); const auto* layerFEState = layer->getLayerFE().getCompositionState(); Loading @@ -1035,6 +1043,8 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( continue; } disableBlurs |= layerFEState->sidebandStream != nullptr; const bool clientComposition = layer->requiresClientComposition(); // We clear the client target for non-client composed layers if Loading Loading @@ -1063,7 +1073,8 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( .viewport = outputState.layerStackSpace.content, .dataspace = outputDataspace, .realContentIsVisible = realContentIsVisible, .clearContent = !clientComposition}; .clearContent = !clientComposition, .disableBlurs = disableBlurs}; std::vector<LayerFE::LayerSettings> results = layerFE.prepareClientCompositionList(targetSettings); if (realContentIsVisible && !results.empty()) { Loading services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -3688,6 +3688,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, clearsHWCLayersIfOpaqu kDisplayDataspace, false /* realContentIsVisible */, true /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3699,6 +3700,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, clearsHWCLayersIfOpaqu kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; LayerFE::LayerSettings mBlackoutSettings = mLayers[1].mLayerSettings; Loading Loading @@ -3742,6 +3744,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(Rect(0, 0, 30, 30)), Loading @@ -3753,6 +3756,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(Rect(0, 0, 40, 201)), Loading @@ -3764,6 +3768,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3795,6 +3800,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(kDisplayFrame), Loading @@ -3806,6 +3812,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3817,6 +3824,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3848,6 +3856,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Loading @@ -3860,6 +3869,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3871,6 +3881,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3901,6 +3912,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(kDisplayFrame), Loading @@ -3912,6 +3924,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3923,6 +3936,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3951,6 +3965,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(kDisplayFrame), Loading @@ -3962,6 +3977,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3973,6 +3989,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -4092,6 +4109,7 @@ TEST_F(GenerateClientCompositionRequestsTest, handlesLandscapeModeSplitScreenReq kOutputDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(leftLayer.mOutputLayer, requiresClientComposition()).WillRepeatedly(Return(true)); Loading @@ -4109,6 +4127,7 @@ TEST_F(GenerateClientCompositionRequestsTest, handlesLandscapeModeSplitScreenReq kOutputDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(rightLayer.mOutputLayer, requiresClientComposition()).WillRepeatedly(Return(true)); Loading Loading @@ -4142,6 +4161,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, false /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; LayerFE::LayerSettings mShadowSettings; Loading Loading @@ -4187,6 +4207,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mOutputLayer, requiresClientComposition()).WillOnce(Return(false)); Loading services/surfaceflinger/Layer.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -627,7 +627,7 @@ const char* Layer::getDebugName() const { // --------------------------------------------------------------------------- std::optional<compositionengine::LayerFE::LayerSettings> Layer::prepareClientComposition( compositionengine::LayerFE::ClientCompositionTargetSettings& /* targetSettings */) { compositionengine::LayerFE::ClientCompositionTargetSettings& targetSettings) { if (!getCompositionState()) { return {}; } Loading @@ -649,8 +649,10 @@ std::optional<compositionengine::LayerFE::LayerSettings> Layer::prepareClientCom layerSettings.alpha = alpha; layerSettings.sourceDataspace = getDataSpace(); if (!targetSettings.disableBlurs) { layerSettings.backgroundBlurRadius = getBackgroundBlurRadius(); layerSettings.blurRegions = getBlurRegions(); } return layerSettings; } Loading services/surfaceflinger/SurfaceFlinger.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -5796,7 +5796,10 @@ status_t SurfaceFlinger::renderScreenImplLocked(const RenderArea& renderArea, const auto display = renderArea.getDisplayDevice(); std::vector<Layer*> renderedLayers; Region clearRegion = Region::INVALID_REGION; bool disableBlurs = false; traverseLayers([&](Layer* layer) { disableBlurs |= layer->getCurrentState().sidebandStream != nullptr; Region clip(renderArea.getBounds()); compositionengine::LayerFE::ClientCompositionTargetSettings targetSettings{ clip, Loading @@ -5809,6 +5812,7 @@ status_t SurfaceFlinger::renderScreenImplLocked(const RenderArea& renderArea, clientCompositionDisplay.outputDataspace, true, /* realContentIsVisible */ false, /* clearContent */ disableBlurs, }; std::vector<compositionengine::LayerFE::LayerSettings> results = layer->prepareClientCompositionList(targetSettings); Loading @@ -5823,11 +5827,13 @@ status_t SurfaceFlinger::renderScreenImplLocked(const RenderArea& renderArea, settings.backgroundBlurRadius = 0; } } clientCompositionLayers.insert(clientCompositionLayers.end(), std::make_move_iterator(results.begin()), std::make_move_iterator(results.end())); renderedLayers.push_back(layer); } }); std::vector<const renderengine::LayerSettings*> clientCompositionLayerPointers( Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFE.h +3 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,9 @@ public: // If set to true, change the layer settings to render a clear output. // This may be requested by the HWC const bool clearContent; // If set to true, change the layer settings to not use any blurs. const bool disableBlurs; }; // A superset of LayerSettings required by RenderEngine to compose a layer Loading
services/surfaceflinger/CompositionEngine/src/Output.cpp +14 −3 Original line number Diff line number Diff line Loading @@ -669,8 +669,14 @@ void Output::updateAndWriteCompositionState( compositionengine::OutputLayer* Output::findLayerRequestingBackgroundComposition() const { compositionengine::OutputLayer* layerRequestingBgComposition = nullptr; for (auto* layer : getOutputLayersOrderedByZ()) { if (layer->getLayerFE().getCompositionState()->backgroundBlurRadius > 0 || layer->getLayerFE().getCompositionState()->blurRegions.size() > 0) { auto* compState = layer->getLayerFE().getCompositionState(); // If any layer has a sideband stream, we will disable blurs. In that case, we don't // want to force client composition because of the blur. if (compState->sidebandStream != nullptr) { return nullptr; } if (compState->backgroundBlurRadius > 0 || compState->blurRegions.size() > 0) { layerRequestingBgComposition = layer; } } Loading Loading @@ -1022,6 +1028,8 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( // Used when a layer clears part of the buffer. Region stubRegion; bool disableBlurs = false; for (auto* layer : getOutputLayersOrderedByZ()) { const auto& layerState = layer->getState(); const auto* layerFEState = layer->getLayerFE().getCompositionState(); Loading @@ -1035,6 +1043,8 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( continue; } disableBlurs |= layerFEState->sidebandStream != nullptr; const bool clientComposition = layer->requiresClientComposition(); // We clear the client target for non-client composed layers if Loading Loading @@ -1063,7 +1073,8 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( .viewport = outputState.layerStackSpace.content, .dataspace = outputDataspace, .realContentIsVisible = realContentIsVisible, .clearContent = !clientComposition}; .clearContent = !clientComposition, .disableBlurs = disableBlurs}; std::vector<LayerFE::LayerSettings> results = layerFE.prepareClientCompositionList(targetSettings); if (realContentIsVisible && !results.empty()) { Loading
services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -3688,6 +3688,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, clearsHWCLayersIfOpaqu kDisplayDataspace, false /* realContentIsVisible */, true /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3699,6 +3700,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, clearsHWCLayersIfOpaqu kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; LayerFE::LayerSettings mBlackoutSettings = mLayers[1].mLayerSettings; Loading Loading @@ -3742,6 +3744,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(Rect(0, 0, 30, 30)), Loading @@ -3753,6 +3756,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(Rect(0, 0, 40, 201)), Loading @@ -3764,6 +3768,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3795,6 +3800,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(kDisplayFrame), Loading @@ -3806,6 +3812,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3817,6 +3824,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3848,6 +3856,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Loading @@ -3860,6 +3869,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3871,6 +3881,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3901,6 +3912,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(kDisplayFrame), Loading @@ -3912,6 +3924,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3923,6 +3936,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -3951,6 +3965,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer1TargetSettings{ Region(kDisplayFrame), Loading @@ -3962,6 +3977,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; compositionengine::LayerFE::ClientCompositionTargetSettings layer2TargetSettings{ Region(kDisplayFrame), Loading @@ -3973,6 +3989,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mLayerFE, prepareClientCompositionList(Eq(ByRef(layer0TargetSettings)))) Loading Loading @@ -4092,6 +4109,7 @@ TEST_F(GenerateClientCompositionRequestsTest, handlesLandscapeModeSplitScreenReq kOutputDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(leftLayer.mOutputLayer, requiresClientComposition()).WillRepeatedly(Return(true)); Loading @@ -4109,6 +4127,7 @@ TEST_F(GenerateClientCompositionRequestsTest, handlesLandscapeModeSplitScreenReq kOutputDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(rightLayer.mOutputLayer, requiresClientComposition()).WillRepeatedly(Return(true)); Loading Loading @@ -4142,6 +4161,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, false /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; LayerFE::LayerSettings mShadowSettings; Loading Loading @@ -4187,6 +4207,7 @@ TEST_F(GenerateClientCompositionRequestsTest_ThreeLayers, kDisplayDataspace, true /* realContentIsVisible */, false /* clearContent */, false /* disabledBlurs */, }; EXPECT_CALL(mLayers[0].mOutputLayer, requiresClientComposition()).WillOnce(Return(false)); Loading
services/surfaceflinger/Layer.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -627,7 +627,7 @@ const char* Layer::getDebugName() const { // --------------------------------------------------------------------------- std::optional<compositionengine::LayerFE::LayerSettings> Layer::prepareClientComposition( compositionengine::LayerFE::ClientCompositionTargetSettings& /* targetSettings */) { compositionengine::LayerFE::ClientCompositionTargetSettings& targetSettings) { if (!getCompositionState()) { return {}; } Loading @@ -649,8 +649,10 @@ std::optional<compositionengine::LayerFE::LayerSettings> Layer::prepareClientCom layerSettings.alpha = alpha; layerSettings.sourceDataspace = getDataSpace(); if (!targetSettings.disableBlurs) { layerSettings.backgroundBlurRadius = getBackgroundBlurRadius(); layerSettings.blurRegions = getBlurRegions(); } return layerSettings; } Loading
services/surfaceflinger/SurfaceFlinger.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -5796,7 +5796,10 @@ status_t SurfaceFlinger::renderScreenImplLocked(const RenderArea& renderArea, const auto display = renderArea.getDisplayDevice(); std::vector<Layer*> renderedLayers; Region clearRegion = Region::INVALID_REGION; bool disableBlurs = false; traverseLayers([&](Layer* layer) { disableBlurs |= layer->getCurrentState().sidebandStream != nullptr; Region clip(renderArea.getBounds()); compositionengine::LayerFE::ClientCompositionTargetSettings targetSettings{ clip, Loading @@ -5809,6 +5812,7 @@ status_t SurfaceFlinger::renderScreenImplLocked(const RenderArea& renderArea, clientCompositionDisplay.outputDataspace, true, /* realContentIsVisible */ false, /* clearContent */ disableBlurs, }; std::vector<compositionengine::LayerFE::LayerSettings> results = layer->prepareClientCompositionList(targetSettings); Loading @@ -5823,11 +5827,13 @@ status_t SurfaceFlinger::renderScreenImplLocked(const RenderArea& renderArea, settings.backgroundBlurRadius = 0; } } clientCompositionLayers.insert(clientCompositionLayers.end(), std::make_move_iterator(results.begin()), std::make_move_iterator(results.end())); renderedLayers.push_back(layer); } }); std::vector<const renderengine::LayerSettings*> clientCompositionLayerPointers( Loading