From b0ee9510d75aa7781ffdc8fb9ebe382e39a694d7 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 18 Mar 2026 16:41:16 +0100 Subject: [PATCH] radv: advertise VK_KHR_device_fault Signed-off-by: Samuel Pitoiset Part-of: --- docs/features.txt | 1 + docs/relnotes/new_features.txt | 1 + src/amd/vulkan/radv_physical_device.c | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/docs/features.txt b/docs/features.txt index c965042da2d..19d8802091a 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -546,6 +546,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv, tu, vn) VK_KHR_depth_clamp_zero_one DONE (anv, nvk, panvk, radv, tu, vn) VK_KHR_device_address_commands DONE (anv, lvp, radv) + VK_KHR_device_fault DONE (radv) VK_KHR_display DONE (anv, hasvk, hk, kk, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_display_swapchain not started VK_KHR_external_fence_fd DONE (anv, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 69bfc6d79a6..fdc9be47d96 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -22,3 +22,4 @@ VK_EXT_shader_atomic_float on nvk VK_{KHR,EXT}_index_type_uint8 on pvr VK_EXT_debug_marker in vulkan runtime VK_EXT_mesh_shader on NVK +VK_KHR_device_fault on RADV diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index 58c1b7ea6e9..44d0703d79a 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -685,6 +685,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .KHR_depth_stencil_resolve = true, .KHR_descriptor_update_template = true, .KHR_device_address_commands = true, + .KHR_device_fault = true, .KHR_device_group = true, .KHR_draw_indirect_count = true, .KHR_driver_properties = true, @@ -1616,6 +1617,12 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc .shaderFmaFloat16 = radv_shader_fp16_enabled(pdev), .shaderFmaFloat32 = true, .shaderFmaFloat64 = true, + + /* VK_KHR_device_fault */ + .deviceFault = true, + .deviceFaultVendorBinary = instance->debug_flags & RADV_DEBUG_HANG, + .deviceFaultReportMasked = true, + .deviceFaultDeviceLostOnMasked = false, }; } @@ -2330,6 +2337,9 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) .samplerYcbcrConversionCount = 3, .sparseDescriptorHeaps = false, .protectedDescriptorHeaps = false, + + /* VK_KHR_device_fault */ + .maxDeviceFaultCount = 1, }; struct vk_properties *p = &pdev->vk.properties;