diff options
author | HyunKyung Kim <hk310.kim@samsung.com> | 2020-06-05 20:00:48 +0900 |
---|---|---|
committer | HyunKyung Kim <hk310.kim@samsung.com> | 2020-06-17 19:53:52 +0900 |
commit | 6c25430994db5edd83bb4425724501f18a309bd8 (patch) | |
tree | 2e6d22ab7288b77cf05e5cfd9613cfd97b297ff2 /libhwc2.1/libdisplayinterface | |
parent | 1a762c41b44b0c1b433322c8eb7a18af52738dfa (diff) | |
download | gs101-6c25430994db5edd83bb4425724501f18a309bd8.tar.gz |
libhwc2.1: Set property for hdr disable
We should set property with blob id 0 in order to disable HDR.
No setting property means that driver should use
previous setting.
Bug: 143335640
Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>
Change-Id: Iac1e15e3e6004434f5f242ade994ff6801927c57
Diffstat (limited to 'libhwc2.1/libdisplayinterface')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp index 995edca..43f69a9 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp @@ -410,14 +410,17 @@ int32_t ExynosDisplayDrmInterfaceModule::setPlaneColorSetting( uint32_t blobId = 0; int ret = 0; - if (dpp.EotfLut().enable && plane->eotf_lut_property().id()) + if (plane->eotf_lut_property().id()) { - if ((ret = createEotfBlobFromIDpp(dpp, blobId)) != NO_ERROR) { - HWC_LOGE(mExynosDisplay, "%s: createEotfBlobFromIDpp fail", - __func__); - return ret; + blobId = 0; + if (dpp.EotfLut().enable) { + if ((ret = createEotfBlobFromIDpp(dpp, blobId)) != NO_ERROR) { + HWC_LOGE(mExynosDisplay, "%s: createEotfBlobFromIDpp fail", + __func__); + return ret; + } + mOldBlobsForPlaneColor.push_back(blobId); } - mOldBlobsForPlaneColor.push_back(blobId); if ((ret = drmReq.atomicAddProperty(plane->id(), plane->eotf_lut_property(), blobId)) < 0) { HWC_LOGE(mExynosDisplay, "%s: Fail to set eotf_lut_property", @@ -426,14 +429,17 @@ int32_t ExynosDisplayDrmInterfaceModule::setPlaneColorSetting( } } - if (dpp.Gm().enable && plane->gammut_matrix_property().id()) + if (plane->gammut_matrix_property().id()) { - if ((ret = createGmBlobFromIDpp(dpp, blobId)) != NO_ERROR) { - HWC_LOGE(mExynosDisplay, "%s: createGmBlobFromIDpp fail", - __func__); - return ret; + blobId = 0; + if (dpp.Gm().enable) { + if ((ret = createGmBlobFromIDpp(dpp, blobId)) != NO_ERROR) { + HWC_LOGE(mExynosDisplay, "%s: createGmBlobFromIDpp fail", + __func__); + return ret; + } + mOldBlobsForPlaneColor.push_back(blobId); } - mOldBlobsForPlaneColor.push_back(blobId); if ((ret = drmReq.atomicAddProperty(plane->id(), plane->gammut_matrix_property(), blobId)) < 0) { HWC_LOGE(mExynosDisplay, "%s: Fail to set gammut_matrix_property", @@ -442,14 +448,17 @@ int32_t ExynosDisplayDrmInterfaceModule::setPlaneColorSetting( } } - if (dpp.Dtm().enable && plane->tone_mapping_property().id()) + if (plane->tone_mapping_property().id()) { - if ((ret = createDtmBlobFromIDpp(dpp, blobId)) != NO_ERROR) { - HWC_LOGE(mExynosDisplay, "%s: createDtmBlobFromIDpp fail", - __func__); - return ret; + blobId = 0; + if (dpp.Dtm().enable) { + if ((ret = createDtmBlobFromIDpp(dpp, blobId)) != NO_ERROR) { + HWC_LOGE(mExynosDisplay, "%s: createDtmBlobFromIDpp fail", + __func__); + return ret; + } + mOldBlobsForPlaneColor.push_back(blobId); } - mOldBlobsForPlaneColor.push_back(blobId); if ((ret = drmReq.atomicAddProperty(plane->id(), plane->tone_mapping_property(), blobId)) < 0) { HWC_LOGE(mExynosDisplay, "%s: Fail to set tone_mapping_property", @@ -458,14 +467,17 @@ int32_t ExynosDisplayDrmInterfaceModule::setPlaneColorSetting( } } - if (dpp.OetfLut().enable && plane->oetf_lut_property().id()) + if (plane->oetf_lut_property().id()) { - if ((ret = createOetfBlobFromIDpp(dpp, blobId)) != NO_ERROR) { - HWC_LOGE(mExynosDisplay, "%s: createOetfBlobFromIDpp fail", - __func__); - return ret; + blobId = 0; + if (dpp.OetfLut().enable) { + if ((ret = createOetfBlobFromIDpp(dpp, blobId)) != NO_ERROR) { + HWC_LOGE(mExynosDisplay, "%s: createOetfBlobFromIDpp fail", + __func__); + return ret; + } + mOldBlobsForPlaneColor.push_back(blobId); } - mOldBlobsForPlaneColor.push_back(blobId); if ((ret = drmReq.atomicAddProperty(plane->id(), plane->oetf_lut_property(), blobId)) < 0) { HWC_LOGE(mExynosDisplay, "%s: Fail to set oetf_lut_property", |