Merge branch 'wl-backend-color-management' into 'master'

Draft: backend/wayland: add color-management-v1 support

See merge request wlroots/wlroots!5156
This commit is contained in:
Simon Ser 2026-01-31 14:09:53 +00:00
commit f8715ab798
6 changed files with 263 additions and 17 deletions

View file

@ -53,7 +53,14 @@ struct wlr_wl_backend {
struct xdg_activation_v1 *activation_v1;
struct wl_subcompositor *subcompositor;
struct wp_viewporter *viewporter;
struct wp_color_manager_v1 *color_manager_v1;
char *drm_render_name;
uint32_t supported_tfs; // bitfield of enum wlr_color_transfer_function
uint32_t supported_primaries; // bitfield of enum wlr_color_named_primaries
struct {
bool parametric;
bool set_mastering_display_primaries;
} color_manager_v1_features;
};
struct wlr_wl_buffer {
@ -90,6 +97,7 @@ struct wlr_wl_output_layer {
struct wl_surface *surface;
struct wl_subsurface *subsurface;
struct wp_viewport *viewport;
struct wp_color_management_surface_v1 *color_management_surface_v1;
bool mapped;
};
@ -106,6 +114,8 @@ struct wlr_wl_output {
struct xdg_toplevel *xdg_toplevel;
struct zxdg_toplevel_decoration_v1 *zxdg_toplevel_decoration_v1;
struct wp_linux_drm_syncobj_surface_v1 *drm_syncobj_surface_v1;
struct wp_color_management_surface_v1 *color_management_surface_v1;
struct wp_image_description_v1 *img_desc;
struct wl_list presentation_feedbacks;
char *title;
@ -129,6 +139,7 @@ struct wlr_wl_output {
struct {
struct wlr_wl_pointer *pointer;
struct wl_surface *surface;
struct wp_color_management_surface_v1 *color_management_surface_v1;
int32_t hotspot_x, hotspot_y;
} cursor;
};

View file

@ -0,0 +1,9 @@
#ifndef TYPES_WLR_COLOR_MANAGEMENT_V1_H
#define TYPES_WLR_COLOR_MANAGEMENT_V1_H
#include <wlr/types/wlr_color_management_v1.h>
uint32_t transfer_function_try_to_wlr(enum wp_color_manager_v1_transfer_function tf);
uint32_t named_primaries_try_to_wlr(enum wp_color_manager_v1_primaries primaries);
#endif