summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h14
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 {