diff options
author | 2023-01-27 11:36:11 +0100 | |
---|---|---|
committer | 2023-02-08 11:26:21 +0100 | |
commit | b39918f8a4360e32692aa6353a9b20416e3b7ad3 (patch) | |
tree | 80f19078b58fa9321c6a42e249fec8eb912ae852 /libs/gui/LayerState.cpp | |
parent | 8a878356682afb9801816785ab7ade6f68384108 (diff) |
Adds a flush jank data layer state update type.
A transaction can be sent to SurfaceFlinger with a layer state change
of this type to wake up SurfaceFlinger and have it perform the layer
state update logic, without updating anything, but triggering any
side-effects, especially jank data processing.
Bug: 235178314
Bug: 221393601
Bug: 225105422
Test: atest SurfaceFlinger_test
Change-Id: Idf458c96cbe8f54224ebde6f517c08b9a5c48a06
Diffstat (limited to 'libs/gui/LayerState.cpp')
-rw-r--r-- | libs/gui/LayerState.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index 8372363185..7772a65dae 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -684,6 +684,9 @@ void layer_state_t::merge(const layer_state_t& other) { what |= eDimmingEnabledChanged; dimmingEnabled = other.dimmingEnabled; } + if (other.what & eFlushJankData) { + what |= eFlushJankData; + } if ((other.what & what) != other.what) { ALOGE("Unmerged SurfaceComposer Transaction properties. LayerState::merge needs updating? " "other.what=0x%" PRIX64 " what=0x%" PRIX64 " unmerged flags=0x%" PRIX64, |