Merge branch 'edid-color-metadata' into 'master'

Draft: output, backend/drm: add wlr_output.color_primaries

See merge request wlroots/wlroots!5096
This commit is contained in:
Simon Ser 2025-10-29 11:55:09 +00:00
commit 58a9c3b1c2
7 changed files with 60 additions and 3 deletions

View file

@ -195,6 +195,7 @@ struct wlr_drm_connector {
drmModeConnection status;
uint32_t id;
uint64_t max_bpc_bounds[2];
struct wlr_color_primaries color_primaries; // might be zero
struct wlr_drm_lease *lease;
struct wlr_drm_crtc *crtc;

View file

@ -426,6 +426,9 @@ struct wlr_vk_render_pass {
bool has_primaries;
struct wlr_color_primaries primaries;
bool has_luminances;
struct wlr_color_luminances luminances;
struct wlr_drm_syncobj_timeline *signal_timeline;
uint64_t signal_point;

View file

@ -37,6 +37,8 @@ struct wlr_buffer_pass_options {
struct wlr_color_transform *color_transform;
/** Primaries describing the color volume of the destination buffer */
const struct wlr_color_primaries *primaries;
/** Luminances for the destination buffer */
const struct wlr_color_luminances *luminances;
/* Signal a timeline synchronization point when the render pass completes.
*

View file

@ -197,6 +197,9 @@ struct wlr_output {
uint32_t supported_primaries; // bitfield of enum wlr_color_named_primaries
uint32_t supported_transfer_functions; // bitfield of enum wlr_color_transfer_function
const struct wlr_color_primaries *color_primaries; // NULL if unset
float min_luminance, max_luminance, max_fall; // cd/m², zero if unset
bool enabled;
float scale;
enum wl_output_subpixel subpixel;