summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface
diff options
context:
space:
mode:
authorLong Ling <longling@google.com>2021-11-10 09:53:11 -0800
committerLong Ling <longling@google.com>2021-11-23 14:11:02 -0800
commit4557c3b0e938d7770d7a334f925584f82ed909ee (patch)
treef2d00fe62e267132b4d8f81fb5b849e240a4091c /libhwc2.1/libdisplayinterface
parentfbeb848a2860e1dea14d11d339c3c874b8e0fb8e (diff)
downloadgs101-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.cpp25
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h2
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 {