diff options
author | Xin Li <delphij@google.com> | 2023-01-11 22:47:13 -0800 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2023-01-11 22:47:13 -0800 |
commit | b395ec788190cc7d109763405f8cd60bcc93cd92 (patch) | |
tree | 4734eb363c6df5a7d758058ff7cbd1e754c93ed1 | |
parent | 7a1b4f868e0b3f99a3a34bf75d129515de201668 (diff) | |
parent | 12b6f6d7c04385ee309c552d843524eebab967b2 (diff) | |
download | gs201-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.h | 10 | ||||
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp | 7 | ||||
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h | 2 |
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); |