summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdevice/BrightnessController.h
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdevice/BrightnessController.h')
-rw-r--r--libhwc2.1/libdevice/BrightnessController.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/libhwc2.1/libdevice/BrightnessController.h b/libhwc2.1/libdevice/BrightnessController.h
index 63747f6..de2f72e 100644
--- a/libhwc2.1/libdevice/BrightnessController.h
+++ b/libhwc2.1/libdevice/BrightnessController.h
@@ -77,6 +77,7 @@ public:
int processOperationRate(int32_t hz);
bool isDbmSupported() { return mDbmSupported; }
int applyPendingChangeViaSysfs(const nsecs_t vsyncNs);
+ int applyAclViaSysfs();
bool validateLayerBrightness(float brightness);
/**
@@ -155,6 +156,11 @@ public:
return mOperationRate.get();
}
+ bool isOperationRatePending() {
+ std::lock_guard<std::recursive_mutex> lock(mBrightnessMutex);
+ return mOperationRate.is_dirty();
+ }
+
bool isSupported() {
// valid mMaxBrightness means both brightness and max_brightness sysfs exist
return mMaxBrightness > 0;
@@ -181,7 +187,7 @@ public:
return nodeName.c_str();
}
- void updateBrightnessTable(const IBrightnessTable* table);
+ void updateBrightnessTable(std::unique_ptr<const IBrightnessTable>& table);
const BrightnessRangeMap& getBrightnessRanges() const {
return mKernelBrightnessTable.GetBrightnessRangeMap();
}
@@ -386,7 +392,7 @@ private:
bool mBrightnessIntfSupported = false;
LinearBrightnessTable mKernelBrightnessTable;
// External object from libdisplaycolor
- const IBrightnessTable* mBrightnessTable = nullptr;
+ std::unique_ptr<const IBrightnessTable> mBrightnessTable;
int32_t mPanelIndex;
DrmEnumParser::MapHal2DrmEnum mHbmModeEnums;