diff options
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp')
-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", |