radv: Advertise VK_KHR_ray_tracing_maintenance1
authorKonstantin Seurer <konstantin.seurer@gmail.com>
Tue, 10 May 2022 13:51:30 +0000 (15:51 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 8 Jun 2022 20:20:21 +0000 (20:20 +0000)
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430>

src/amd/vulkan/radv_device.c

index e92b56a..e3b342b 100644 (file)
@@ -437,6 +437,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
       .KHR_pipeline_library = !device->use_llvm,
       .KHR_push_descriptor = true,
       .KHR_ray_query = radv_enable_rt(device, false),
+      .KHR_ray_tracing_maintenance1 = radv_enable_rt(device, false),
       .KHR_ray_tracing_pipeline = radv_enable_rt(device, true),
       .KHR_relaxed_block_layout = true,
       .KHR_sampler_mirror_clamp_to_edge = true,
@@ -1678,6 +1679,13 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
          features->rayTraversalPrimitiveCulling = true;
          break;
       }
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: {
+         VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *features =
+            (VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *)ext;
+         features->rayTracingMaintenance1 = true;
+         features->rayTracingPipelineTraceRaysIndirect2 = radv_enable_rt(pdevice, true);
+         break;
+      }
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
          VkPhysicalDeviceMaintenance4Features *features =
             (VkPhysicalDeviceMaintenance4Features *)ext;