diff --git a/docs/features.txt b/docs/features.txt index 5c39d5a8d08..6fae00117ad 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -506,7 +506,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_acceleration_structure DONE (anv/gfx12.5+, lvp, radv/gfx10.3+) VK_KHR_android_surface not started VK_KHR_calibrated_timestamps DONE (anv, nvk, radv) - VK_KHR_compute_shader_derivatives DONE (anv, nvk) + VK_KHR_compute_shader_derivatives DONE (anv, nvk, radv) VK_KHR_cooperative_matrix DONE (anv, radv/gfx11+) VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv) VK_KHR_display DONE (anv, nvk, pvr, radv, tu, v3dv) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 268cd4fb44f..5bf108f0d96 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -12,3 +12,4 @@ VK_KHR_pipeline_binary on RADV VK_KHR_compute_shader_derivatives on anv VK_NV_compute_shader_derivatives on nvk VK_KHR_compute_shader_derivatives on nvk +VK_KHR_compute_shader_derivatives on radv diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index a86952e38bc..193697fb919 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -484,6 +484,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .KHR_16bit_storage = true, .KHR_acceleration_structure = radv_enable_rt(pdev, false), .KHR_calibrated_timestamps = radv_calibrated_timestamps_enabled(pdev), + .KHR_compute_shader_derivatives = true, .KHR_cooperative_matrix = pdev->info.gfx_level >= GFX11 && !pdev->use_llvm, .KHR_bind_memory2 = true, .KHR_buffer_device_address = true, @@ -885,7 +886,7 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc /* VK_EXT_depth_clip_enable */ .depthClipEnable = true, - /* VK_NV_compute_shader_derivatives */ + /* VK_KHR_compute_shader_derivatives */ .computeDerivativeGroupQuads = false, .computeDerivativeGroupLinear = true, @@ -1961,6 +1962,9 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) p->pipelineBinaryPrefersInternalCache = false; p->pipelineBinaryPrecompiledInternalCache = false; p->pipelineBinaryCompressedData = false; + + /* VK_KHR_compute_shader_derivatives */ + p->meshAndTaskShaderDerivatives = radv_taskmesh_enabled(pdev); } static VkResult