summaryrefslogtreecommitdiff
path: root/libhwc2.1
diff options
context:
space:
mode:
authorJoen Chen <joenchen@google.com>2023-03-21 05:54:12 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-03-21 05:54:12 +0000
commit2abccb00ee31067107010c6cc39d1794ce9643bc (patch)
treef415bcee6fc1448ebc8ef4b2913ca76874f715a6 /libhwc2.1
parent8b13e1b13d5bd94a0ec86a36d2e356257da197c3 (diff)
parentaa91c03ade5a5e01c874a5c0aaaea4ba01537228 (diff)
downloadgs101-2abccb00ee31067107010c6cc39d1794ce9643bc.tar.gz
Merge "libhwc2.1: put client target as the first elem for display color" into udc-d1-dev
Diffstat (limited to 'libhwc2.1')
-rw-r--r--libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp45
1 files changed, 23 insertions, 22 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
index 962141f..0d3d8dc 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
@@ -305,12 +305,33 @@ int32_t ExynosPrimaryDisplayModule::setLayersColorData()
// TODO: b/212616164 remove dimSdrRatio
float dimSdrRatio = mBrightnessController->getSdrDimRatioForInstantHbm();
+
+ // for client target
+ {
+ LayerColorData& layerColorData = mDisplaySceneInfo.getLayerColorDataInstance(layerNum);
+
+ /* set layer data mapping info */
+ if ((ret = mDisplaySceneInfo.setLayerDataMappingInfo(&mClientCompositionInfo, layerNum)) !=
+ NO_ERROR) {
+ DISPLAY_LOGE("%s: setLayerDataMappingInfo fail for client composition", __func__);
+ return ret;
+ }
+
+ if ((ret = mDisplaySceneInfo.setClientCompositionColorData(mClientCompositionInfo,
+ layerColorData, dimSdrRatio)) !=
+ NO_ERROR) {
+ DISPLAY_LOGE("%s: setClientCompositionColorData fail", __func__);
+ return ret;
+ }
+
+ layerNum++;
+ }
+
for (uint32_t i = 0; i < mLayers.size(); i++)
{
ExynosLayer* layer = mLayers[i];
- if (layer->mValidateCompositionType == HWC2_COMPOSITION_CLIENT)
- continue;
+ if (layer->mCompositionType == HWC2_COMPOSITION_CLIENT) continue;
LayerColorData& layerColorData =
mDisplaySceneInfo.getLayerColorDataInstance(layerNum);
@@ -334,26 +355,6 @@ int32_t ExynosPrimaryDisplayModule::setLayersColorData()
layerNum++;
}
- if (mClientCompositionInfo.mHasCompositionLayer) {
- LayerColorData& layerColorData =
- mDisplaySceneInfo.getLayerColorDataInstance(layerNum);
-
- /* set layer data mapping info */
- if ((ret = mDisplaySceneInfo.setLayerDataMappingInfo(&mClientCompositionInfo,
- layerNum)) != NO_ERROR) {
- DISPLAY_LOGE("%s: setLayerDataMappingInfo fail for client composition", __func__);
- return ret;
- }
-
- if ((ret = mDisplaySceneInfo.setClientCompositionColorData(
- mClientCompositionInfo, layerColorData, dimSdrRatio)) != NO_ERROR) {
- DISPLAY_LOGE("%s: setClientCompositionColorData fail", __func__);
- return ret;
- }
-
- layerNum++;
- }
-
/* Resize layer_data when layers were destroyed */
if (layerNum < mDisplaySceneInfo.displayScene.layer_data.size())
mDisplaySceneInfo.displayScene.layer_data.resize(layerNum);