diff options
author | 2025-03-24 18:39:51 -0700 | |
---|---|---|
committer | 2025-03-24 18:39:51 -0700 | |
commit | 3115163545c2f5b5857133e2d36c3230c04e93d4 (patch) | |
tree | 5b957180779cdb1f93d179daf674e52dceb7fcc1 /services/surfaceflinger/LayerFE.cpp | |
parent | 386a6107ffa791b211711f4bee75daf05cb87cb6 (diff) | |
parent | e20c771af74eddef569070fe9940fe845b769a30 (diff) |
Snap for 13264465 from e20c771af74eddef569070fe9940fe845b769a30 to 25Q2-release
Change-Id: Ic34a235cf44331131a19f1f80d1cbaf0b915eaec
Diffstat (limited to 'services/surfaceflinger/LayerFE.cpp')
-rw-r--r-- | services/surfaceflinger/LayerFE.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/services/surfaceflinger/LayerFE.cpp b/services/surfaceflinger/LayerFE.cpp index 5e076bdae4..3cd432cd2b 100644 --- a/services/surfaceflinger/LayerFE.cpp +++ b/services/surfaceflinger/LayerFE.cpp @@ -113,6 +113,8 @@ std::optional<compositionengine::LayerFE::LayerSettings> LayerFE::prepareClientC // set the shadow for the layer if needed prepareShadowClientComposition(*layerSettings, targetSettings.viewport); + layerSettings->borderSettings = mSnapshot->borderSettings; + return layerSettings; } @@ -120,6 +122,7 @@ std::optional<compositionengine::LayerFE::LayerSettings> LayerFE::prepareClientC compositionengine::LayerFE::ClientCompositionTargetSettings& targetSettings) const { SFTRACE_CALL(); compositionengine::LayerFE::LayerSettings layerSettings; + layerSettings.geometry.originalBounds = mSnapshot->geomLayerBounds; layerSettings.geometry.boundaries = reduce(mSnapshot->geomLayerBounds, mSnapshot->transparentRegionHint); layerSettings.geometry.positionTransform = mSnapshot->geomLayerTransform.asMatrix4(); @@ -205,7 +208,7 @@ void LayerFE::prepareEffectsClientComposition( if (targetSettings.realContentIsVisible && fillsColor()) { // Set color for color fill settings. layerSettings.source.solidColor = mSnapshot->color.rgb; - } else if (hasBlur() || drawShadows()) { + } else if (hasBlur() || drawShadows() || hasOutline()) { layerSettings.skipContentDraw = true; } } @@ -392,6 +395,10 @@ bool LayerFE::hasBlur() const { return mSnapshot->backgroundBlurRadius > 0 || mSnapshot->blurRegions.size() > 0; } +bool LayerFE::hasOutline() const { + return mSnapshot->borderSettings.strokeWidth > 0; +} + bool LayerFE::drawShadows() const { return mSnapshot->shadowSettings.length > 0.f && (mSnapshot->shadowSettings.ambientColor.a > 0 || |