diff options
| author | 2023-01-19 04:44:02 +0000 | |
|---|---|---|
| committer | 2023-01-25 01:09:05 +0000 | |
| commit | cfb2d25e176dfd912580f0ebcd6820524f8b3c28 (patch) | |
| tree | b667c6e4f750835c6c6a489e3ab82ce936e5b0e4 /libs | |
| parent | 1e1a387877dcee28fa1a8d80c0745b9ec7174dea (diff) | |
SF: LayerSnapshotBuilder updates
- Adds support for framerate, gamemode, transformhint & input
- Fixes z-order traversal bug where a layer was visited twice.
- Compat fix, a layer cannot be root once its parented
Test: presubmit
Bug: 238781169
Change-Id: Ic33aa09b2c41fadd4872ca481b41f86400629fc8
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/gui/include/gui/LayerState.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/libs/gui/include/gui/LayerState.h b/libs/gui/include/gui/LayerState.h index ecde47fed5..0bd59e5143 100644 --- a/libs/gui/include/gui/LayerState.h +++ b/libs/gui/include/gui/LayerState.h @@ -232,9 +232,9 @@ struct layer_state_t { layer_state_t::eBackgroundBlurRadiusChanged | layer_state_t::eBackgroundColorChanged | layer_state_t::eBlurRegionsChanged | layer_state_t::eColorChanged | layer_state_t::eColorSpaceAgnosticChanged | layer_state_t::eColorTransformChanged | - layer_state_t::eCornerRadiusChanged | layer_state_t::eHdrMetadataChanged | - layer_state_t::eRenderBorderChanged | layer_state_t::eShadowRadiusChanged | - layer_state_t::eStretchChanged; + layer_state_t::eCornerRadiusChanged | layer_state_t::eDimmingEnabledChanged | + layer_state_t::eHdrMetadataChanged | layer_state_t::eRenderBorderChanged | + layer_state_t::eShadowRadiusChanged | layer_state_t::eStretchChanged; // Changes which invalidates the layer's visible region in CE. static constexpr uint64_t CONTENT_DIRTY = layer_state_t::CONTENT_CHANGES | @@ -245,7 +245,17 @@ struct layer_state_t { layer_state_t::HIERARCHY_CHANGES | layer_state_t::eAlphaChanged | layer_state_t::eColorTransformChanged | layer_state_t::eCornerRadiusChanged | layer_state_t::eFlagsChanged | layer_state_t::eLayerStackChanged | - layer_state_t::eTrustedOverlayChanged; + layer_state_t::eTrustedOverlayChanged | layer_state_t::eFrameRateChanged | + layer_state_t::eFixedTransformHintChanged; + + // Changes affecting data sent to input. + static constexpr uint64_t INPUT_CHANGES = layer_state_t::GEOMETRY_CHANGES | + layer_state_t::HIERARCHY_CHANGES | layer_state_t::eInputInfoChanged | + layer_state_t::eDropInputModeChanged | layer_state_t::eTrustedOverlayChanged; + + // Changes that affect the visible region on a display. + static constexpr uint64_t VISIBLE_REGION_CHANGES = + layer_state_t::GEOMETRY_CHANGES | layer_state_t::HIERARCHY_CHANGES; bool hasValidBuffer() const; void sanitize(int32_t permissions); |