summaryrefslogtreecommitdiff
path: root/src/protocols/ColorManagement.hpp
diff options
context:
space:
mode:
authorUjinT34 <41110182+UjinT34@users.noreply.github.com>2025-01-12 20:02:41 +0300
committerGitHub <noreply@github.com>2025-01-12 17:02:41 +0000
commita3a74993173662c06025ca633faa68b5590e2c5b (patch)
tree0a84ed7b9c8a45f4241de8f9729e8c189b41b024 /src/protocols/ColorManagement.hpp
parentb117fae3b493b9d5ac7ada3140cac555c3979dfd (diff)
renderer: Do not set hdr metadata unless needed (#9014)
Diffstat (limited to 'src/protocols/ColorManagement.hpp')
-rw-r--r--src/protocols/ColorManagement.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/protocols/ColorManagement.hpp b/src/protocols/ColorManagement.hpp
index 573abf69..e387b3b7 100644
--- a/src/protocols/ColorManagement.hpp
+++ b/src/protocols/ColorManagement.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include <drm_mode.h>
#include <memory>
#include <vector>
#include <cstdint>
@@ -54,12 +55,18 @@ class CColorManagementSurface {
const SImageDescription& imageDescription();
bool hasImageDescription();
+ void setHasImageDescription(bool has);
+ const hdr_output_metadata& hdrMetadata();
+ void setHDRMetadata(const hdr_output_metadata& metadata);
+ bool needsHdrMetadataUpdate();
private:
SP<CXxColorManagementSurfaceV4> resource;
wl_client* pClient = nullptr;
SImageDescription m_imageDescription;
bool m_hasImageDescription = false;
+ bool m_needsNewMetadata = false;
+ hdr_output_metadata m_hdrMetadata;
friend class CFrogColorManagementSurface;
};