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.h58
1 files changed, 13 insertions, 45 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
index b72f2a7..70e963b 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,9 +17,8 @@
#ifndef EXYNOS_DISPLAY_DRM_INTERFACE_MODULE_H
#define EXYNOS_DISPLAY_DRM_INTERFACE_MODULE_H
-#include <gs101/displaycolor/displaycolor_gs101.h>
-#include <gs101/histogram/histogram.h>
-
+#include <histogram/histogram.h>
+#include "DisplayColorModule.h"
#include "ExynosDisplayDrmInterface.h"
namespace gs101 {
@@ -27,6 +26,7 @@ namespace gs101 {
using namespace displaycolor;
class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface {
+ using GsInterfaceType = gs::ColorDrmBlobFactory::GsInterfaceType;
public:
ExynosDisplayDrmInterfaceModule(ExynosDisplay *exynosDisplay);
virtual ~ExynosDisplayDrmInterfaceModule();
@@ -37,37 +37,13 @@ class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface {
virtual int32_t setPlaneColorSetting(
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq,
const std::unique_ptr<DrmPlane> &plane,
- const exynos_win_config_data &config);
+ const exynos_win_config_data &config,
+ uint32_t &solidColor);
void setColorSettingChanged(bool changed, bool forceDisplay = false) {
mColorSettingChanged = changed;
mForceDisplayColorSetting = forceDisplay;
};
void destroyOldBlobs(std::vector<uint32_t> &oldBlobs);
-
- int32_t createCgcBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
- int32_t createDegammaLutBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
- int32_t createRegammaLutBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
- int32_t createGammaMatBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
- int32_t createLinearMatBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
- int32_t createDispDitherBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
- int32_t createCgcDitherBlobFromIDqe(const IDisplayColorGS101::IDqe &dqe,
- uint32_t &blobId);
-
- int32_t createEotfBlobFromIDpp(const IDisplayColorGS101::IDpp &dpp,
- uint32_t &blobId);
- int32_t createGmBlobFromIDpp(const IDisplayColorGS101::IDpp &dpp,
- uint32_t &blobId);
- int32_t createDtmBlobFromIDpp(const IDisplayColorGS101::IDpp &dpp,
- uint32_t &blobId);
- int32_t createOetfBlobFromIDpp(const IDisplayColorGS101::IDpp &dpp,
- uint32_t &blobId);
-
void getDisplayInfo(std::vector<displaycolor::DisplayInfo> &display_info);
/* For Histogram */
@@ -77,18 +53,11 @@ class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface {
virtual int32_t setDisplayHistogramSetting(
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq);
- void registerHistogramInfo(HistogramInfo *info) {
- if (info)
- mHistogramInfo.reset(info);
- else
- mHistogramInfo.reset();
-
- if (mHistogramInfo.get())
- mHistogramInfoRegistered = true;
- else
- mHistogramInfoRegistered = false;
+ virtual void registerHistogramInfo(const std::shared_ptr<IDLHistogram> &info) {
+ mHistogramInfo = info;
}
- int32_t setHistogramControl(int32_t enabled);
+ bool isHistogramInfoRegistered() { return mHistogramInfo != nullptr; }
+ int32_t setHistogramControl(hidl_histogram_control_t enabled);
virtual int32_t setHistogramData(void *bin);
protected:
@@ -140,7 +109,7 @@ class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface {
const DrmProperty &prop,
const uint32_t type,
const StageDataType &stage,
- const IDisplayColorGS101::IDqe &dqe,
+ const typename GsInterfaceType::IDqe &dqe,
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq);
template<typename StageDataType>
int32_t setPlaneColorBlob(
@@ -148,7 +117,7 @@ class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface {
const DrmProperty &prop,
const uint32_t type,
const StageDataType &stage,
- const IDisplayColorGS101::IDpp &dpp,
+ const typename GsInterfaceType::IDpp &dpp,
const uint32_t dppIndex,
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq,
bool forceUpdate);
@@ -183,8 +152,7 @@ class ExynosDisplayDrmInterfaceModule : public ExynosDisplayDrmInterface {
ExynosDisplayDrmInterface::DrmModeAtomicReq &drmReq);
HistoBlobs mOldHistoBlobs;
- std::shared_ptr<HistogramInfo> mHistogramInfo;
- bool mHistogramInfoRegistered = false;
+ std::shared_ptr<IDLHistogram> mHistogramInfo;
private:
const std::string GetPanelInfo(const std::string &sysfs_rel, char delim);