summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdisplayinterface')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp6
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h3
2 files changed, 7 insertions, 2 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
index bfe8eaa..b42edaa 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
@@ -629,7 +629,7 @@ int32_t ExynosDisplayDrmInterfaceModule::setPlaneColorBlob(
int32_t ExynosDisplayDrmInterfaceModule::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)
{
if ((mColorSettingChanged == false) ||
(isPrimary() == false))
@@ -685,6 +685,10 @@ int32_t ExynosDisplayDrmInterfaceModule::setPlaneColorSetting(
const uint32_t dppIndex = static_cast<uint32_t>(display->getDppIndexForLayer(mppSource));
bool planeChanged = display->checkAndSaveLayerPlaneId(mppSource, plane->id());
+ auto &color = dpp.SolidColor();
+ // exynos_win_config_data.color ARGB
+ solidColor = (color.a << 24) | (color.r << 16) | (color.g << 8) | color.b;
+
int ret = 0;
if ((ret = setPlaneColorBlob(plane, plane->eotf_lut_property(),
static_cast<uint32_t>(DppBlobs::EOTF),
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
index b72f2a7..f2e826b 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
@@ -37,7 +37,8 @@ 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;