From e7ce74497e5f1847eaf78002a37571866fee4097 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Fri, 18 Sep 2020 03:11:18 +0200 Subject: [PATCH] radv: Advertise VK_KHR_shader_terminate_invocation. Reviewed-by: Samuel Pitoiset Part-of: --- docs/relnotes/new_features.txt | 1 + src/amd/vulkan/radv_device.c | 6 ++++++ src/amd/vulkan/radv_extensions.py | 1 + 3 files changed, 8 insertions(+) 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'),