diff --git a/docs/features.txt b/docs/features.txt index fc16545ba48..e18beba93ce 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -540,6 +540,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_shader_maximal_reconvergence DONE (radv) VK_KHR_shader_subgroup_rotate DONE (anv, radv) VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, radv) + VK_KHR_shader_quad_control DONE (radv) VK_KHR_shared_presentable_image not started VK_KHR_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_surface_protected_capabilities DONE (anv, lvp, nvk, radv, v3dv, vn) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 2106475ce89..bd440b42668 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -4,3 +4,4 @@ VK_KHR_line_rasterization on RADV VK_KHR_index_type_uint8 on RADV VK_KHR_shader_expect_assume on all Vulkan drivers VK_KHR_shader_maximal_reconvergence on RADV +VK_KHR_shader_quad_control on RADV diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index c74720af288..283b88e8081 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -507,6 +507,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .KHR_shader_integer_dot_product = true, .KHR_shader_maximal_reconvergence = true, .KHR_shader_non_semantic_info = true, + .KHR_shader_quad_control = true, .KHR_shader_subgroup_extended_types = true, .KHR_shader_subgroup_rotate = true, .KHR_shader_subgroup_uniform_control_flow = true, @@ -1139,6 +1140,9 @@ radv_physical_device_get_features(const struct radv_physical_device *pdevice, st /* VK_KHR_shader_maximal_reconvergence */ .shaderMaximalReconvergence = true, + + /* VK_KHR_shader_quad_control */ + .shaderQuadControl = true, }; } diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 54095354a52..a88ac375927 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -383,6 +383,7 @@ radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_shader_st .multiview = true, .physical_storage_buffer_address = true, .post_depth_coverage = true, + .quad_control = true, .ray_cull_mask = true, .ray_query = true, .ray_tracing = true,