summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
diff options
context:
space:
mode:
authorLong Ling <longling@google.com>2022-05-16 09:58:40 -0700
committerLong Ling <longling@google.com>2022-06-09 09:15:26 -0700
commit7ae595591d74ef2bcb5240f3dafa570a0de32a1f (patch)
tree85f3992205dedb79c35235b899fbfe6603db4bed /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
parent10554b33eac4a1a6abaed1967a38e3e245e644b9 (diff)
libhwc2.1: sync ghbm/dbv and buffer for brightness jump
For mixed composition, if brightness mipi commands and frame are not synchronized, there will be a dark or white flash when there is a brightness jump. It happens when HDR become visible or gone and the brightness animation is disabled. Bug: 220962789 Change-Id: I2993562a2c69351f561f932305f88bfb4a2b3cf1
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
index d03b5b7..51dddd7 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
@@ -1779,8 +1779,11 @@ int32_t ExynosDisplayDrmInterface::deliverWinConfigData()
if (mExynosDisplay->mBrightnessController) {
bool ghbmSync, lhbmSync, blSync;
+ bool mixedComposition = mExynosDisplay->isMixedComposition()
+ || mExynosDisplay->isPriorFrameMixedCompostion();
ret = mExynosDisplay->mBrightnessController->prepareFrameCommit(*mExynosDisplay,
- *mDrmConnector, drmReq, ghbmSync, lhbmSync, blSync);
+ *mDrmConnector, drmReq, mixedComposition,
+ ghbmSync, lhbmSync, blSync);
if (ret < 0) {
HWC_LOGE(mExynosDisplay, "%s: Fail to config brightness", __func__);
} else {