output, backend/drm: add desired luminances to wlr_output

This commit is contained in:
Simon Ser 2025-06-26 13:15:49 +02:00
parent b7fe653aac
commit 7b91939d9e
2 changed files with 4 additions and 0 deletions

View file

@ -110,6 +110,9 @@ void parse_edid(struct wlr_drm_connector *conn, size_t len, const uint8_t *data)
if (conn->props.hdr_output_metadata != 0 && hdr_static_metadata->type1 && hdr_static_metadata->pq) { if (conn->props.hdr_output_metadata != 0 && hdr_static_metadata->type1 && hdr_static_metadata->pq) {
output->supported_transfer_functions |= WLR_COLOR_TRANSFER_FUNCTION_ST2084_PQ; output->supported_transfer_functions |= WLR_COLOR_TRANSFER_FUNCTION_ST2084_PQ;
} }
output->min_luminance = hdr_static_metadata->desired_content_min_luminance;
output->max_luminance = hdr_static_metadata->desired_content_max_luminance;
output->max_fall = hdr_static_metadata->desired_content_max_frame_avg_luminance;
di_info_destroy(info); di_info_destroy(info);
} }

View file

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