diff options
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h index e7a1ca9..d2c3040 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h @@ -29,6 +29,7 @@ class ExynosDisplayDrmInterfaceModule : public gs101::ExynosDisplayDrmInterfaceM static constexpr size_t sizeCgcDmaLut = 2 * 3 * DRM_SAMSUNG_CGC_DMA_LUT_ENTRY_CNT; // 16bit BGR static constexpr int32_t disabledCgc = -1; static constexpr size_t sizeCgCDataInfo = 2; + using GsInterfaceType = gs::ColorDrmBlobFactory::GsInterfaceType; public: ExynosDisplayDrmInterfaceModule(ExynosDisplay *exynosDisplay); virtual ~ExynosDisplayDrmInterfaceModule(); @@ -37,16 +38,27 @@ class ExynosDisplayDrmInterfaceModule : public gs101::ExynosDisplayDrmInterfaceM virtual int32_t setDisplayColorSetting( ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq); + /* For Histogram */ + virtual int32_t setDisplayHistogramSetting( + ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq) override; + virtual void registerHistogramInfo(const std::shared_ptr<IDLHistogram> &info) override; + private: - int32_t createCgcDMAFromIDqe(const IDisplayColorGS101::IDqe::CgcData &cgcData); + int32_t createCgcDMAFromIDqe(const GsInterfaceType::IDqe::CgcData &cgcData); int32_t setCgcLutDmaProperty(const DrmProperty &prop, ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq); + /* For Histogram */ + int32_t setHistoPosProperty( + const DrmProperty &prop, + ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq); bool mCgcEnabled = false; using CGCDataInfo = std::pair<int32_t, struct cgc_dma_lut *>; std::vector<CGCDataInfo> mCGCDataInfos; size_t iCGCDataInfo = 0; + /* For Histogram */ + std::shared_ptr<IDLHistogram> mHistogramInfo; }; class ExynosPrimaryDisplayDrmInterfaceModule : public ExynosDisplayDrmInterfaceModule { |