diff options
author | Ramkumar Radhakrishnan <ramkumar@codeaurora.org> | 2017-11-27 14:53:06 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-02-01 12:52:33 -0800 |
commit | a3a4735d0093d236bf98879eca010b2724e4130e (patch) | |
tree | 1bcddcb75c6ddcc1e9251e5f5c97d178b3d1af26 /sdm/libs/hwc2/hwc_display_primary.cpp | |
parent | f5464da30116baa43cc1e4e9e5a6af980dca11ac (diff) | |
download | display-a3a4735d0093d236bf98879eca010b2724e4130e.tar.gz |
sdm: Handle disable partial update and display config change
1. Disable PU for one frame on any display state change.
2. Trigger invalidate on SetActiveConfig() and set the display config
as a part of draw cycle
Change-Id: Iffb64fb5d3af038f7d777382fdfdb5b8914fb6b5
CRs-Fixed: 2151067
Diffstat (limited to 'sdm/libs/hwc2/hwc_display_primary.cpp')
-rw-r--r-- | sdm/libs/hwc2/hwc_display_primary.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sdm/libs/hwc2/hwc_display_primary.cpp b/sdm/libs/hwc2/hwc_display_primary.cpp index 1f2fdf64..ff98f59c 100644 --- a/sdm/libs/hwc2/hwc_display_primary.cpp +++ b/sdm/libs/hwc2/hwc_display_primary.cpp @@ -178,6 +178,13 @@ HWC2::Error HWCDisplayPrimary::Validate(uint32_t *out_num_types, uint32_t *out_n MarkLayersForClientComposition(); } + if (config_pending_) { + if (display_intf_->SetActiveConfig(display_config_) != kErrorNone) { + DLOGW("Invalid display config %d", display_config_); + // Reset the display config with active config + display_intf_->GetActiveConfig(&display_config_); + } + } // Fill in the remaining blanks in the layers and add them to the SDM layerstack BuildLayerStack(); // Checks and replaces layer stack for solid fill |