From e98c4c59c706405fcec0a0e4d08792c74629b6cf Mon Sep 17 00:00:00 2001 From: Mario Kleiner Date: Sun, 29 Mar 2026 22:48:24 +0200 Subject: [PATCH] v3dv: Enable VK_EXT_hdr_metadata. The extension is implemented in shared Vulkan/WSI code and not driver specific. The underlying kms driver needs to support HDR metadata signalling on the drm connector, which vc4 kms does for VideoCore 5 and later since April 2021. Successfully tested on RaspberryPi 4/400 with a HDR-10 capable HDMI monitor. Signed-off-by: Mario Kleiner Reviewed-by: Iago Toral Quiroga Part-of: --- docs/features.txt | 2 +- docs/relnotes/new_features.txt | 1 + src/broadcom/vulkan/v3dv_device.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 4f8d79e60dc..728721c44e7 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -642,7 +642,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_global_priority DONE (anv, hasvk, panvk, radv, tu, vn, hk, lvp) VK_EXT_global_priority_query DONE (anv, hasvk, panvk, radv, tu, vn, hk, lvp) VK_EXT_graphics_pipeline_library DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn) - VK_EXT_hdr_metadata DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn) + VK_EXT_hdr_metadata DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn) VK_EXT_headless_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_EXT_image_2d_view_of_3d DONE (anv, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, vn) VK_EXT_image_compression_control DONE (anv/gfx12-, radv) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index b324f3736f7..bc321a74a34 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -17,6 +17,7 @@ VK_KHR_swapchain_mutable_format on panvk VK_EXT_astc_decode_mode on panvk VK_KHR_copy_memory_indirect on nvk, RADV/GFX8+ VK_EXT_color_write_enable on panvk +VK_EXT_hdr_metadata on v3dv VK_EXT_image_view_min_lod on panvk VK_EXT_depth_clamp_control on panvk VK_VALVE_shader_mixed_float_dot_product on RADV (Vega20, Navi14, RDNA2+) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 750aebe8c4a..98390282d77 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -226,6 +226,9 @@ get_device_extensions(const struct v3dv_physical_device *device, .EXT_extended_dynamic_state = true, .EXT_extended_dynamic_state2 = true, .EXT_external_memory_dma_buf = true, +#ifdef V3DV_USE_WSI_PLATFORM + .EXT_hdr_metadata = true, +#endif .EXT_host_query_reset = true, .EXT_image_drm_format_modifier = true, .EXT_image_robustness = true,