diff options
author | Long Ling <longling@google.com> | 2021-11-10 09:53:11 -0800 |
---|---|---|
committer | Long Ling <longling@google.com> | 2021-11-23 14:11:02 -0800 |
commit | 4557c3b0e938d7770d7a334f925584f82ed909ee (patch) | |
tree | f2d00fe62e267132b4d8f81fb5b849e240a4091c /libhwc2.1/libdisplayinterface | |
parent | fbeb848a2860e1dea14d11d339c3c874b8e0fb8e (diff) | |
download | gs101-4557c3b0e938d7770d7a334f925584f82ed909ee.tar.gz |
libhwc2.1: update for newly added BrightnessController
Bug: 200332096
Change-Id: I002420af4039a56e571d7d2f4bf0548407c542dd
Diffstat (limited to 'libhwc2.1/libdisplayinterface')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp | 25 | ||||
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h | 2 |
2 files changed, 15 insertions, 12 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp index dcf7cc3..832d748 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp @@ -14,10 +14,13 @@ * limitations under the License. */ +#include "BrightnessController.h" #include "ExynosDisplayDrmInterfaceModule.h" #include "ExynosPrimaryDisplayModule.h" #include <drm/samsung_drm.h> +using BrightnessRange = BrightnessController::BrightnessRange; + template <typename T, typename M> int32_t convertDqeMatrixDataToMatrix(T &colorMatrix, M &mat, uint32_t dimension) { @@ -62,7 +65,7 @@ void ExynosDisplayDrmInterfaceModule::parseBpcEnums(const DrmProperty& property) }; ALOGD("Init bpc enums"); - parseEnums(property, bpcEnums, mBpcEnums); + DrmEnumParser::parseEnums(property, bpcEnums, mBpcEnums); for (auto &e : mBpcEnums) { ALOGD("bpc [bpc: %d, drm: %" PRId64 "]", e.first, e.second); } @@ -535,8 +538,7 @@ int32_t ExynosDisplayDrmInterfaceModule::setDisplayColorSetting( if (dqe.DqeControl().config->force_10bpc) bpc = static_cast<uint32_t>(BPC_10); } - uint64_t bpcEnum = 0; - std::tie(bpcEnum, ret) = halToDrmEnum(bpc, mBpcEnums); + auto [bpcEnum, ret] = DrmEnumParser::halToDrmEnum(bpc, mBpcEnums); if (ret < 0) { HWC_LOGE(mExynosDisplay, "Fail to convert bpc(%d)", bpc); } else { @@ -747,16 +749,17 @@ void ExynosDisplayDrmInterfaceModule::getDisplayInfo( std::vector<displaycolor::DisplayInfo> &display_info) { displaycolor::DisplayInfo primary_display; auto &tb = primary_display.brightness_table; + auto *brightnessTable = mExynosDisplay->mBrightnessController->getBrightnessTable(); - tb.nbm_nits_min = mBrightnessTable[BrightnessRange::NORMAL].mNitsStart; - tb.nbm_nits_max = mBrightnessTable[BrightnessRange::NORMAL].mNitsEnd; - tb.nbm_dbv_min = mBrightnessTable[BrightnessRange::NORMAL].mBklStart; - tb.nbm_dbv_max = mBrightnessTable[BrightnessRange::NORMAL].mBklEnd; + tb.nbm_nits_min = brightnessTable[toUnderlying(BrightnessRange::NORMAL)].mNitsStart; + tb.nbm_nits_max = brightnessTable[toUnderlying(BrightnessRange::NORMAL)].mNitsEnd; + tb.nbm_dbv_min = brightnessTable[toUnderlying(BrightnessRange::NORMAL)].mBklStart; + tb.nbm_dbv_max = brightnessTable[toUnderlying(BrightnessRange::NORMAL)].mBklEnd; - tb.hbm_nits_min = mBrightnessTable[BrightnessRange::HBM].mNitsStart; - tb.hbm_nits_max = mBrightnessTable[BrightnessRange::HBM].mNitsEnd; - tb.hbm_dbv_min = mBrightnessTable[BrightnessRange::HBM].mBklStart; - tb.hbm_dbv_max = mBrightnessTable[BrightnessRange::HBM].mBklEnd; + tb.hbm_nits_min = brightnessTable[toUnderlying(BrightnessRange::HBM)].mNitsStart; + tb.hbm_nits_max = brightnessTable[toUnderlying(BrightnessRange::HBM)].mNitsEnd; + tb.hbm_dbv_min = brightnessTable[toUnderlying(BrightnessRange::HBM)].mBklStart; + tb.hbm_dbv_max = brightnessTable[toUnderlying(BrightnessRange::HBM)].mBklEnd; display_info.push_back(primary_display); } diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h index 0ba995a..86a50d3 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h @@ -145,7 +145,7 @@ class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface { BPC_8, BPC_10, }; - DrmPropertyMap mBpcEnums; + DrmEnumParser::MapHal2DrmEnum mBpcEnums; }; class ExynosPrimaryDisplayDrmInterfaceModule : public ExynosDisplayDrmInterfaceModule { |