summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_display_primary.cpp
diff options
context:
space:
mode:
authorRamkumar Radhakrishnan <ramkumar@codeaurora.org>2017-11-27 14:53:06 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-03-08 02:54:31 -0800
commitf5d101a6e3597e8b2a01f7a25aa24bf7b5c74d79 (patch)
tree193649bc68f3893be9c62d243e3fc1c66daa03bd /sdm/libs/hwc2/hwc_display_primary.cpp
parent58d0e0f0838d36a22d5a01a1682f1cbc7e1fe2dc (diff)
downloaddisplay-f5d101a6e3597e8b2a01f7a25aa24bf7b5c74d79.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.cpp7
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