summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2023-01-11 22:47:13 -0800
committerXin Li <delphij@google.com>2023-01-11 22:47:13 -0800
commitb395ec788190cc7d109763405f8cd60bcc93cd92 (patch)
tree4734eb363c6df5a7d758058ff7cbd1e754c93ed1
parent7a1b4f868e0b3f99a3a34bf75d129515de201668 (diff)
parent12b6f6d7c04385ee309c552d843524eebab967b2 (diff)
downloadgs201-temp_273316506_tm-qpr2.tar.gz
Merge tm-qpr-dev-plus-aosp-without-vendor@9467136temp_273316506_tm-qpr2
Bug: 264720040 Merged-In: I065239c2bc7d5edfa37e96f04c016da51ebed76f Change-Id: I9f9b4ad22e4a7e09e3bcb41c6aa933fd8ea2f37c
-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);