Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayer.h +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ private: void detectDisallowedCompositionTypeChange( aidl::android::hardware::graphics::composer3::Composition from, aidl::android::hardware::graphics::composer3::Composition to) const; bool isClientCompositionForced(bool isPeekingThrough) const; bool isClientCompositionForced(bool isPeekingThrough, bool isCached) const; void updateLuts(const LayerFECompositionState&, const std::optional<std::vector<std::optional<LutProperties>>>& properties); }; Loading services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -865,7 +865,8 @@ void OutputLayer::writeCompositionTypeToHWC(HWC2::Layer* hwcLayer, bool isPeekingThrough, bool skipLayer) { auto& outputDependentState = editState(); if (isClientCompositionForced(isPeekingThrough)) { bool isCached = !skipLayer && outputDependentState.overrideInfo.buffer; if (isClientCompositionForced(isPeekingThrough, isCached)) { // If we are forcing client composition, we need to tell the HWC requestedCompositionType = Composition::CLIENT; } Loading Loading @@ -955,9 +956,12 @@ void OutputLayer::detectDisallowedCompositionTypeChange(Composition from, Compos } } bool OutputLayer::isClientCompositionForced(bool isPeekingThrough) const { bool OutputLayer::isClientCompositionForced(bool isPeekingThrough, bool isCached) const { // If this layer was flattened into a CachedSet then it is not necessary for // the GPU to compose it. bool requiresClientDrawnRoundedCorners = !isCached && getLayerFE().hasRoundedCorners(); return getState().forceClientComposition || (!isPeekingThrough && getLayerFE().hasRoundedCorners()); (!isPeekingThrough && requiresClientDrawnRoundedCorners); } void OutputLayer::applyDeviceCompositionTypeChange(Composition compositionType) { Loading services/surfaceflinger/FrontEnd/LayerSnapshot.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -544,7 +544,7 @@ char LayerSnapshot::classifyCompositionForDebug( case Composition::INVALID: return 'i'; case Composition::SOLID_COLOR: return 'c'; return 'e'; case Composition::CURSOR: return 'u'; case Composition::SIDEBAND: Loading @@ -552,7 +552,7 @@ char LayerSnapshot::classifyCompositionForDebug( case Composition::DISPLAY_DECORATION: return 'a'; case Composition::REFRESH_RATE_INDICATOR: return 'r'; return 'f'; case Composition::CLIENT: case Composition::DEVICE: break; Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayer.h +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ private: void detectDisallowedCompositionTypeChange( aidl::android::hardware::graphics::composer3::Composition from, aidl::android::hardware::graphics::composer3::Composition to) const; bool isClientCompositionForced(bool isPeekingThrough) const; bool isClientCompositionForced(bool isPeekingThrough, bool isCached) const; void updateLuts(const LayerFECompositionState&, const std::optional<std::vector<std::optional<LutProperties>>>& properties); }; Loading
services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -865,7 +865,8 @@ void OutputLayer::writeCompositionTypeToHWC(HWC2::Layer* hwcLayer, bool isPeekingThrough, bool skipLayer) { auto& outputDependentState = editState(); if (isClientCompositionForced(isPeekingThrough)) { bool isCached = !skipLayer && outputDependentState.overrideInfo.buffer; if (isClientCompositionForced(isPeekingThrough, isCached)) { // If we are forcing client composition, we need to tell the HWC requestedCompositionType = Composition::CLIENT; } Loading Loading @@ -955,9 +956,12 @@ void OutputLayer::detectDisallowedCompositionTypeChange(Composition from, Compos } } bool OutputLayer::isClientCompositionForced(bool isPeekingThrough) const { bool OutputLayer::isClientCompositionForced(bool isPeekingThrough, bool isCached) const { // If this layer was flattened into a CachedSet then it is not necessary for // the GPU to compose it. bool requiresClientDrawnRoundedCorners = !isCached && getLayerFE().hasRoundedCorners(); return getState().forceClientComposition || (!isPeekingThrough && getLayerFE().hasRoundedCorners()); (!isPeekingThrough && requiresClientDrawnRoundedCorners); } void OutputLayer::applyDeviceCompositionTypeChange(Composition compositionType) { Loading
services/surfaceflinger/FrontEnd/LayerSnapshot.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -544,7 +544,7 @@ char LayerSnapshot::classifyCompositionForDebug( case Composition::INVALID: return 'i'; case Composition::SOLID_COLOR: return 'c'; return 'e'; case Composition::CURSOR: return 'u'; case Composition::SIDEBAND: Loading @@ -552,7 +552,7 @@ char LayerSnapshot::classifyCompositionForDebug( case Composition::DISPLAY_DECORATION: return 'a'; case Composition::REFRESH_RATE_INDICATOR: return 'r'; return 'f'; case Composition::CLIENT: case Composition::DEVICE: break; Loading