summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-14 13:54:58 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-14 13:54:58 +0000
commit59785fae239485189674590e2a15832ebadd22b3 (patch)
treeff84bb76a2ae6308e501535f73387eb43220fb14
parentf4cfd2bc0dec0de5b95a78610a3b65308ee27f1a (diff)
parent7ac85d696a5eb27bfe249413f563673dee40b78f (diff)
downloadgs101-android13-mainline-sdkext-release.tar.gz
Change-Id: Ie8d1e0148200968c5ab4af497d035d4cc4e5468b
-rw-r--r--libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp24
-rw-r--r--libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h2
2 files changed, 23 insertions, 3 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
index 74e8246..a6ec3c1 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
@@ -1021,7 +1021,7 @@ void ExynosPrimaryDisplayModule::setLbeState(LbeState state) {
mBrightnessController->processEnhancedHbm(enhanced_hbm);
if (mCurrentLbeState != state) {
mCurrentLbeState = state;
- mDevice->invalidate();
+ mDevice->onRefresh();
}
ALOGI("Lbe state %hhd", mCurrentLbeState);
}
@@ -1049,7 +1049,7 @@ void ExynosPrimaryDisplayModule::setLbeAmbientLight(int value) {
if (mAtcLuxMapIndex != index) {
mAtcLuxMapIndex = index;
- mDevice->invalidate();
+ mDevice->onRefresh();
}
mCurrentLux = value;
}
@@ -1058,6 +1058,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();
@@ -1116,7 +1134,7 @@ void ExynosPrimaryDisplayModule::checkAtcAnimation() {
ALOGI("atc enable is off (pending off=false)");
}
- mDevice->invalidate();
+ mDevice->onRefresh();
}
int32_t ExynosPrimaryDisplayModule::setPowerMode(int32_t mode) {
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 {