diff options
| author | 2021-06-04 00:54:25 +0000 | |
|---|---|---|
| committer | 2021-06-04 00:54:25 +0000 | |
| commit | 6058403b714979f853e433212f083b64b3712be9 (patch) | |
| tree | 12c27754a9a30cb01a1521fd5a5418f62dfce241 /services/surfaceflinger/Layer.cpp | |
| parent | 020c3a4960179646b9471894f522a281e70a3df0 (diff) | |
| parent | 6909767e494fb797fb52534e4bc307ada513f0e5 (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.cpp | 23 |
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. |