summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/Layer.cpp
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2021-06-04 00:54:25 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-06-04 00:54:25 +0000
commit6058403b714979f853e433212f083b64b3712be9 (patch)
tree12c27754a9a30cb01a1521fd5a5418f62dfce241 /services/surfaceflinger/Layer.cpp
parent020c3a4960179646b9471894f522a281e70a3df0 (diff)
parent6909767e494fb797fb52534e4bc307ada513f0e5 (diff)
Merge "Improve blur caching heuristic" into sc-dev am: 6909767e49
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14542233 Change-Id: If5307329be538fbf345b91526cbc037967b4ed21
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
-rw-r--r--services/surfaceflinger/Layer.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index d720bcb20f..9fcc17c4b4 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -587,11 +587,24 @@ std::optional<compositionengine::LayerFE::LayerSettings> Layer::prepareClientCom
layerSettings.alpha = alpha;
layerSettings.sourceDataspace = getDataSpace();
- if (!targetSettings.disableBlurs) {
- layerSettings.backgroundBlurRadius = getBackgroundBlurRadius();
- layerSettings.blurRegions = getBlurRegions();
- layerSettings.blurRegionTransform =
- getActiveTransform(getDrawingState()).inverse().asMatrix4();
+ switch (targetSettings.blurSetting) {
+ case LayerFE::ClientCompositionTargetSettings::BlurSetting::Enabled:
+ layerSettings.backgroundBlurRadius = getBackgroundBlurRadius();
+ layerSettings.blurRegions = getBlurRegions();
+ layerSettings.blurRegionTransform =
+ getActiveTransform(getDrawingState()).inverse().asMatrix4();
+ break;
+ case LayerFE::ClientCompositionTargetSettings::BlurSetting::BackgroundBlurOnly:
+ layerSettings.backgroundBlurRadius = getBackgroundBlurRadius();
+ break;
+ case LayerFE::ClientCompositionTargetSettings::BlurSetting::BlurRegionsOnly:
+ layerSettings.blurRegions = getBlurRegions();
+ layerSettings.blurRegionTransform =
+ getActiveTransform(getDrawingState()).inverse().asMatrix4();
+ break;
+ case LayerFE::ClientCompositionTargetSettings::BlurSetting::Disabled:
+ default:
+ break;
}
layerSettings.stretchEffect = getStretchEffect();
// Record the name of the layer for debugging further down the stack.