diff --git a/backend/drm/util.c b/backend/drm/util.c index 76276849d..e0d3c03a3 100644 --- a/backend/drm/util.c +++ b/backend/drm/util.c @@ -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) { 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); } diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index 634b8498b..63903c499 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -198,6 +198,7 @@ struct wlr_output { 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;