summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h
diff options
context:
space:
mode:
authorAlec Mouri <alecmouri@google.com>2025-05-15 16:39:49 +0000
committeraoleary <seanm187@gmail.com>2025-10-07 19:01:35 +0000
commit3bb97db301463e83d1b1d42ebb1d5c130104d3e3 (patch)
tree679858f47deb87e1b00f0af60469950d007b8def /services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h
parent2087c1b260785789a88a511139d2fc1a0abec43a (diff)
Don't blur too many layerst13.0
An application requesting lots and lots of blurs: a. Enables pixel stealing by measuring how long it takes to perform a blur across windows b. Probably isn't very valid anyways. So, just arbitrarily pick an upper bound for blur requests that a display is allowed to manage (10), and disable everything else. Arbitrarily, pick the 10 "front-most" blurs to be respected. Bug: 399120953 Flag: EXEMPT security Test: Security PoC no longer PoCs (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:acf65e7b90c8313b3cf939d14b8299818d77cc18) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a912eca8993334fe01e96f76168fa5e1889cb11a) Merged-In: Ie7195eb852b52aff2f58da8bd095d8684baceef6 Change-Id: Ie7195eb852b52aff2f58da8bd095d8684baceef6
Diffstat (limited to 'services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h')
-rw-r--r--services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h b/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h
index 2b383c1dfe..4a4880cd9b 100644
--- a/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h
+++ b/services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputLayerCompositionState.h
@@ -94,6 +94,9 @@ struct OutputLayerCompositionState {
// order to save power.
Region outputSpaceBlockingRegionHint;
+ // ignore blur requests if there's just too many on top of this layer
+ bool ignoreBlur{false};
+
// Overrides the buffer, acquire fence, and display frame stored in LayerFECompositionState
struct {
std::shared_ptr<renderengine::ExternalTexture> buffer = nullptr;