diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index c9b86f13a79..0e2d6f67d24 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -8,5 +8,6 @@ VK_PRESENT_MODE_FIFO_RELAXED on X11 GLX_EXT_swap_control for DRI2 and DRI3 GLX_EXT_swap_control_tear for DRI3 VK_KHR_copy_commands2 on RADV +VK_KHR_shader_terminate_invocation on RADV NGG GS support in ACO VK_KHR_shader_terminate_invocation on ANV diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 2e88fea703b..1910e24bca7 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1424,6 +1424,12 @@ void radv_GetPhysicalDeviceFeatures2( features->formatA4B4G4R4 = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: { + VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *features = + (VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *)ext; + features->shaderTerminateInvocation = true; + break; + } default: break; } diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index 5084b523b21..5c68b13779b 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -101,6 +101,7 @@ EXTENSIONS = [ Extension('VK_KHR_shader_float16_int8', 1, True), Extension('VK_KHR_shader_non_semantic_info', 1, True), Extension('VK_KHR_shader_subgroup_extended_types', 1, True), + Extension('VK_KHR_shader_terminate_invocation', 1, True), Extension('VK_KHR_spirv_1_4', 1, True), Extension('VK_KHR_storage_buffer_storage_class', 1, True), Extension('VK_KHR_surface', 25, 'RADV_HAS_SURFACE'),