diff options
author | Jeremy DeHaan <jdehaan@google.com> | 2022-06-01 21:52:23 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-06-01 21:52:23 +0000 |
commit | 2d39c5e97b9505e26aa08da4e9d668614784aa94 (patch) | |
tree | 711448551749970b13ba03d070888be943bc66ae | |
parent | 91581ae03f912ee2f0b3d3960538df9da8750b70 (diff) | |
parent | ed218303e50b40610cfcf8af21cd83cfec117269 (diff) | |
download | gs101-2d39c5e97b9505e26aa08da4e9d668614784aa94.tar.gz |
libhwc2.1: determine panel calibration status am: e8ad90586d am: ed218303e5
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/gs101/+/18606872
Change-Id: I1ebdd6eb1866616c3d6ad74e2673a82b3a9a3d77
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp | 18 | ||||
-rw-r--r-- | libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp index 03b4fe7..a7ae2c3 100644 --- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp +++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp @@ -1066,6 +1066,24 @@ LbeState ExynosPrimaryDisplayModule::getLbeState() { return mCurrentLbeState; } +PanelCalibrationStatus ExynosPrimaryDisplayModule::getPanelCalibrationStatus() { + auto displayColorInterface = getDisplayColorInterface(); + if (displayColorInterface == nullptr) { + return PanelCalibrationStatus::UNCALIBRATED; + } + + auto displayType = getBuiltInDisplayType(); + auto calibrationInfo = displayColorInterface->GetCalibrationInfo(displayType); + + if (calibrationInfo.factory_cal_loaded) { + return PanelCalibrationStatus::ORIGINAL; + } else if (calibrationInfo.golden_cal_loaded) { + return PanelCalibrationStatus::GOLDEN; + } else { + return PanelCalibrationStatus::UNCALIBRATED; + } +} + int32_t ExynosPrimaryDisplayModule::setAtcStDimming(uint32_t value) { Mutex::Autolock lock(mAtcStMutex); int32_t strength = mAtcStrength.value.get(); diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h index 8489f28..ada69f6 100644 --- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h +++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h @@ -134,6 +134,8 @@ class ExynosPrimaryDisplayModule : public ExynosPrimaryDisplay { virtual void setLbeAmbientLight(int value); virtual LbeState getLbeState(); + virtual PanelCalibrationStatus getPanelCalibrationStatus(); + class DisplaySceneInfo { public: struct LayerMappingInfo { |