summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnjaneya Prasad Musunuri <aprasad@codeaurora.org>2016-12-19 20:43:06 +0530
committerAnjaneya Prasad Musunuri <aprasad@codeaurora.org>2016-12-20 18:51:41 +0530
commita6e0f9f2d181f942b46b8c6c84a65f6c8fbd2fe0 (patch)
treeaee9ec3f251d1a00cf27872337528622350f2246
parentbf2b25c1064e856a69821d7e65148f3ed3544ee5 (diff)
downloaddisplay-a6e0f9f2d181f942b46b8c6c84a65f6c8fbd2fe0.tar.gz
sdm: skip null commit on command mode panels
Command mode panels do not requre NULL commit to free buffers. Skip null to resolve flickers seen during no app layers present in draw cycle. Change-Id: I2ed87da94db1ff3b21903f2a8c354c6cf521bf8e CRs-fixed: 1103190
-rw-r--r--sdm/libs/hwc/hwc_display_primary.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/sdm/libs/hwc/hwc_display_primary.cpp b/sdm/libs/hwc/hwc_display_primary.cpp
index 51402d73..7dfee0ae 100644
--- a/sdm/libs/hwc/hwc_display_primary.cpp
+++ b/sdm/libs/hwc/hwc_display_primary.cpp
@@ -190,7 +190,13 @@ int HWCDisplayPrimary::Prepare(hwc_display_contents_1_t *content_list) {
}
if (content_list->numHwLayers <= 1) {
- flush_ = true;
+ DisplayConfigFixedInfo display_config;
+ display_intf_->GetConfig(&display_config);
+ if (display_config.is_cmdmode) {
+ DLOGI("Skipping null commit on cmd mode panel");
+ } else {
+ flush_ = true;
+ }
return 0;
}
@@ -204,6 +210,14 @@ int HWCDisplayPrimary::Prepare(hwc_display_contents_1_t *content_list) {
int HWCDisplayPrimary::Commit(hwc_display_contents_1_t *content_list) {
int status = 0;
+
+ DisplayConfigFixedInfo display_config;
+ display_intf_->GetConfig(&display_config);
+ if (content_list->numHwLayers <= 1 && display_config.is_cmdmode) {
+ DLOGI("Skipping null commit on cmd mode panel");
+ return 0;
+ }
+
if (display_paused_) {
if (content_list->outbufAcquireFenceFd >= 0) {
// If we do not handle the frame set retireFenceFd to outbufAcquireFenceFd,