summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/LayerFE.cpp
diff options
context:
space:
mode:
author Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-03-24 18:39:51 -0700
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-03-24 18:39:51 -0700
commit3115163545c2f5b5857133e2d36c3230c04e93d4 (patch)
tree5b957180779cdb1f93d179daf674e52dceb7fcc1 /services/surfaceflinger/LayerFE.cpp
parent386a6107ffa791b211711f4bee75daf05cb87cb6 (diff)
parente20c771af74eddef569070fe9940fe845b769a30 (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.cpp9
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 ||