summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLong Ling <longling@google.com>2021-07-20 21:09:49 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-07-20 21:09:49 +0000
commite02b9171e029f07e3949031947124c164de5bd91 (patch)
treef10470652510879e5c75a499cfc158a3c9a6bc27
parent0d10d479061ff874d4ea6dd380f2a7cedbe77af0 (diff)
parentcbd531498d8e5da630a1869fba8768b0922920f0 (diff)
downloadgs101-e02b9171e029f07e3949031947124c164de5bd91.tar.gz
libhwc2.1: force update plane color if dc dpp index changes am: cbd531498d
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/gs101/+/15339771 Change-Id: I52d198405a9d7fbf812e458085e46d3405867c4f
-rw-r--r--libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
index fbdd166..fee339a 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
@@ -397,8 +397,11 @@ int32_t ExynosPrimaryDisplayModule::DisplaySceneInfo::setLayerDataMappingInfo(
layer, index);
return -EINVAL;
}
- uint32_t oldPlaneId = prev_layerDataMappingInfo.count(layer) != 0 ?
- prev_layerDataMappingInfo[layer].planeId : UINT_MAX;
+ // if assigned displaycolor dppIdx changes, do not reuse it (force plane color update).
+ uint32_t oldPlaneId = prev_layerDataMappingInfo.count(layer) != 0 &&
+ prev_layerDataMappingInfo[layer].dppIdx != index
+ ? prev_layerDataMappingInfo[layer].planeId
+ : UINT_MAX;
layerDataMappingInfo.insert(std::make_pair(layer, LayerMappingInfo{ index, oldPlaneId }));
return NO_ERROR;