diff options
author | Long Ling <longling@google.com> | 2022-05-16 09:58:40 -0700 |
---|---|---|
committer | Long Ling <longling@google.com> | 2022-06-09 09:15:26 -0700 |
commit | 7ae595591d74ef2bcb5240f3dafa570a0de32a1f (patch) | |
tree | 85f3992205dedb79c35235b899fbfe6603db4bed /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | |
parent | 10554b33eac4a1a6abaed1967a38e3e245e644b9 (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.cpp | 5 |
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 { |