diff options
author | Long Ling <longling@google.com> | 2021-07-20 21:09:49 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-07-20 21:09:49 +0000 |
commit | e02b9171e029f07e3949031947124c164de5bd91 (patch) | |
tree | f10470652510879e5c75a499cfc158a3c9a6bc27 | |
parent | 0d10d479061ff874d4ea6dd380f2a7cedbe77af0 (diff) | |
parent | cbd531498d8e5da630a1869fba8768b0922920f0 (diff) | |
download | gs101-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.cpp | 7 |
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; |