backend/drm: add support for CTM

This commit is contained in:
Simon Ser 2025-11-13 14:31:14 +01:00
parent 92ba6ffdf8
commit 2db00a9872
8 changed files with 96 additions and 12 deletions

View file

@ -12,6 +12,8 @@ struct wlr_drm_crtc_color_transform {
struct wlr_addon addon; // wlr_color_transform.addons
bool failed;
struct wlr_color_transform_lut_3x1d *lut_3x1d;
float matrix[9];
bool has_matrix;
};
struct wlr_drm_crtc_color_transform *drm_crtc_color_transform_import(

View file

@ -76,6 +76,7 @@ struct wlr_drm_crtc {
bool own_mode_id;
uint32_t mode_id;
uint32_t gamma_lut;
uint32_t ctm;
// Legacy only
int legacy_gamma_size;
@ -159,6 +160,7 @@ struct wlr_drm_connector_state {
// used by atomic
uint32_t mode_id;
uint32_t gamma_lut;
uint32_t ctm;
uint32_t fb_damage_clips;
int primary_in_fence_fd, out_fence_fd;
bool vrr_enabled;

View file

@ -35,6 +35,7 @@ struct wlr_drm_crtc_props {
uint32_t vrr_enabled;
uint32_t gamma_lut;
uint32_t gamma_lut_size;
uint32_t ctm;
// atomic-modesetting only