From 6b9e12ea25671f183750024bb96d2214212d5d0c Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 21 Sep 2021 08:44:56 +0200 Subject: [PATCH] radv: advertise VK_KHR_maintenance4 Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- docs/relnotes/new_features.txt | 3 ++- src/amd/vulkan/radv_device.c | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index cb5e9be7ec1..442cb309fda 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -16,4 +16,5 @@ VK_KHR_shader_subgroup_extended_types on lavapipe VK_KHR_spirv_1_4 on lavapipe Experimental raytracing support on RADV VK_KHR_synchronization2 on Intel -NGG shader based culling is now enabled by default on GFX10.3 on RADV. \ No newline at end of file +NGG shader based culling is now enabled by default on GFX10.3 on RADV. +VK_KHR_maintenance4 on RADV diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 8a79a9cdc21..7985cd93218 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -434,6 +434,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .KHR_maintenance1 = true, .KHR_maintenance2 = true, .KHR_maintenance3 = true, + .KHR_maintenance4 = true, .KHR_multiview = true, .KHR_pipeline_executable_properties = true, .KHR_pipeline_library = (device->instance->perftest_flags & RADV_PERFTEST_RT) && !device->use_llvm, @@ -1615,6 +1616,12 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, features->rayTraversalPrimitiveCulling = false; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: { + VkPhysicalDeviceMaintenance4FeaturesKHR *features = + (VkPhysicalDeviceMaintenance4FeaturesKHR *)ext; + features->maintenance4 = true; + break; + } default: break; } @@ -2248,6 +2255,12 @@ radv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, props->maxRayHitAttributeSize = RADV_MAX_HIT_ATTRIB_SIZE; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: { + VkPhysicalDeviceMaintenance4PropertiesKHR *properties = + (VkPhysicalDeviceMaintenance4PropertiesKHR *)ext; + properties->maxBufferSize = RADV_MAX_MEMORY_ALLOCATION_SIZE; + break; + } default: break; }