diff options
author | Joen Chen <joenchen@google.com> | 2023-03-21 05:54:12 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-03-21 05:54:12 +0000 |
commit | 2abccb00ee31067107010c6cc39d1794ce9643bc (patch) | |
tree | f415bcee6fc1448ebc8ef4b2913ca76874f715a6 /libhwc2.1 | |
parent | 8b13e1b13d5bd94a0ec86a36d2e356257da197c3 (diff) | |
parent | aa91c03ade5a5e01c874a5c0aaaea4ba01537228 (diff) | |
download | gs101-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.cpp | 45 |
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); |