summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-07 00:22:11 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-07 00:22:11 +0000
commit468109d167fa2f6285ca20a69903195ea8bf0a72 (patch)
tree4734eb363c6df5a7d758058ff7cbd1e754c93ed1
parent73a4c1dfce9a563a26e7b2b0f73e2194839c7be7 (diff)
parent85245b2282243ae54cd1273a221f3df112d5c890 (diff)
downloadgs201-android13-qpr2-s1-release.tar.gz
Change-Id: I4a01355854ee7175b8d2639a7ea6ec767bc31f74
-rw-r--r--histogram/histogram.h10
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp7
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h2
3 files changed, 12 insertions, 7 deletions
diff --git a/histogram/histogram.h b/histogram/histogram.h
index ff981bf..a7b41ce 100644
--- a/histogram/histogram.h
+++ b/histogram/histogram.h
@@ -28,8 +28,14 @@ class IDLHistogram : public HistogramInfo {
public:
IDLHistogram() : HistogramInfo(HistogramType::HISTOGRAM_HIDL) {}
virtual ~IDLHistogram() {}
- virtual void setHistogramPos(HistogramPos pos) { mHistogramPos = pos; }
- HistogramPos getHistogramPos() { return mHistogramPos; }
+ virtual void setHistogramPos(HistogramPos pos) {
+ std::unique_lock<std::mutex> lk(mSetHistInfoMutex);
+ mHistogramPos = pos;
+ }
+ HistogramPos getHistogramPos() {
+ std::unique_lock<std::mutex> lk(mSetHistInfoMutex);
+ return mHistogramPos;
+ }
private:
HistogramPos mHistogramPos = HistogramPos::POST;
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
index 6e9cd7b..817377a 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
@@ -196,8 +196,7 @@ int32_t ExynosDisplayDrmInterfaceModule::setHistoPosProperty(
int32_t ExynosDisplayDrmInterfaceModule::setDisplayHistogramSetting(
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq) {
- if ((mHistogramInfoRegistered == false) || (isPrimary() == false))
- return NO_ERROR;
+ if ((isHistogramInfoRegistered() == false) || (isPrimary() == false)) return NO_ERROR;
int32_t ret =
gs101::ExynosDisplayDrmInterfaceModule::setDisplayHistogramSetting(
@@ -210,9 +209,9 @@ int32_t ExynosDisplayDrmInterfaceModule::setDisplayHistogramSetting(
}
void ExynosDisplayDrmInterfaceModule::registerHistogramInfo(
- IDLHistogram *info) {
+ const std::shared_ptr<IDLHistogram> &info) {
gs101::ExynosDisplayDrmInterfaceModule::registerHistogramInfo(info);
- mHistogramInfo.reset(info);
+ mHistogramInfo = info;
}
//////////////////////////////////////////////////// ExynosPrimaryDisplayDrmInterfaceModule //////////////////////////////////////////////////////////////////
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
index a341f39..5060c8c 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
@@ -40,7 +40,7 @@ class ExynosDisplayDrmInterfaceModule : public gs101::ExynosDisplayDrmInterfaceM
/* For Histogram */
virtual int32_t setDisplayHistogramSetting(
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq) override;
- virtual void registerHistogramInfo(IDLHistogram *info) override;
+ virtual void registerHistogramInfo(const std::shared_ptr<IDLHistogram> &info) override;
private:
int32_t createCgcDMAFromIDqe(const IDisplayColorGS101::IDqe::CgcData &cgcData);