summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface
diff options
context:
space:
mode:
authorHyunKyung Kim <hk310.kim@samsung.com>2020-06-05 20:00:48 +0900
committerHyunKyung Kim <hk310.kim@samsung.com>2020-06-17 19:53:52 +0900
commit6c25430994db5edd83bb4425724501f18a309bd8 (patch)
tree2e6d22ab7288b77cf05e5cfd9613cfd97b297ff2 /libhwc2.1/libdisplayinterface
parent1a762c41b44b0c1b433322c8eb7a18af52738dfa (diff)
downloadgs101-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.cpp60
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",