The biggest change here is the rename of VK_NVX_ray_tracing to
VK_NV_ray_tracing and the total removal of VK_KHR_mir_surface.
---
 include/vulkan/vulkan.h      |   6 -
 include/vulkan/vulkan_core.h | 480 ++++++++++++++++++++---------------
 include/vulkan/vulkan_mir.h  |  65 -----
 src/vulkan/registry/vk.xml   | 463 +++++++++++++++++----------------
 4 files changed, 514 insertions(+), 500 deletions(-)
 delete mode 100644 include/vulkan/vulkan_mir.h

diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index cf9d85ae597..77da63783e6 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -39,12 +39,6 @@
 #endif
 
 
-#ifdef VK_USE_PLATFORM_MIR_KHR
-#include <mir_toolkit/client_types.h>
-#include "vulkan_mir.h"
-#endif
-
-
 #ifdef VK_USE_PLATFORM_VI_NN
 #include "vulkan_vi.h"
 #endif
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index ac9bb66d1e9..4cd8ed51dcd 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -43,13 +43,12 @@ extern "C" {
 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
 // Version of this file
-#define VK_HEADER_VERSION 90
+#define VK_HEADER_VERSION 91
 
 
 #define VK_NULL_HANDLE 0
 
 
-
 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
 
 
@@ -62,7 +61,6 @@ extern "C" {
 #endif
 
 
-
 typedef uint32_t VkFlags;
 typedef uint32_t VkBool32;
 typedef uint64_t VkDeviceSize;
@@ -287,7 +285,6 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
     VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
     VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
-    VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,
     VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
     VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
     VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
@@ -419,17 +416,17 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 
1000164001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 
1000164002,
     
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 
1000164005,
-    VK_STRUCTURE_TYPE_RAYTRACING_PIPELINE_CREATE_INFO_NVX = 1000165000,
-    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NVX = 1000165001,
-    VK_STRUCTURE_TYPE_GEOMETRY_INSTANCE_NVX = 1000165002,
-    VK_STRUCTURE_TYPE_GEOMETRY_NVX = 1000165003,
-    VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NVX = 1000165004,
-    VK_STRUCTURE_TYPE_GEOMETRY_AABB_NVX = 1000165005,
-    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NVX = 1000165006,
-    VK_STRUCTURE_TYPE_DESCRIPTOR_ACCELERATION_STRUCTURE_INFO_NVX = 1000165007,
-    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NVX = 
1000165008,
-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAYTRACING_PROPERTIES_NVX = 1000165009,
-    VK_STRUCTURE_TYPE_HIT_SHADER_MODULE_CREATE_INFO_NVX = 1000165010,
+    VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
+    VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
+    VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
+    VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
+    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
+    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 
1000165007,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 
1000165008,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
+    VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV 
= 1000166000,
     
VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 
1000166001,
     VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 
1000174000,
@@ -440,6 +437,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 
1000180000,
     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
+    VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 
1000189000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT 
= 1000190000,
     VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 
1000190001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 
1000190002,
@@ -848,7 +846,7 @@ typedef enum VkQueryType {
     VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
     VK_QUERY_TYPE_TIMESTAMP = 2,
     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
-    VK_QUERY_TYPE_COMPACTED_SIZE_NVX = 1000165000,
+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
     VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
     VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
     VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - 
VK_QUERY_TYPE_OCCLUSION + 1),
@@ -1178,7 +1176,7 @@ typedef enum VkDescriptorType {
     VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
     VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
-    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NVX = 1000165000,
+    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
     VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,
     VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
     VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - 
VK_DESCRIPTOR_TYPE_SAMPLER + 1),
@@ -1207,7 +1205,7 @@ typedef enum VkAttachmentStoreOp {
 typedef enum VkPipelineBindPoint {
     VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
     VK_PIPELINE_BIND_POINT_COMPUTE = 1,
-    VK_PIPELINE_BIND_POINT_RAYTRACING_NVX = 1000165000,
+    VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = 1000165000,
     VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,
     VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,
     VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - 
VK_PIPELINE_BIND_POINT_GRAPHICS + 1),
@@ -1226,6 +1224,7 @@ typedef enum VkCommandBufferLevel {
 typedef enum VkIndexType {
     VK_INDEX_TYPE_UINT16 = 0,
     VK_INDEX_TYPE_UINT32 = 1,
+    VK_INDEX_TYPE_NONE_NV = 1000165000,
     VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,
     VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,
     VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 
1),
@@ -1279,7 +1278,7 @@ typedef enum VkObjectType {
     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,
     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NVX = 1000165000,
+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = 
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
     VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,
@@ -1447,7 +1446,8 @@ typedef enum VkPipelineStageFlagBits {
     VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
     VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,
     VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
-    VK_PIPELINE_STAGE_RAYTRACING_BIT_NVX = 0x00200000,
+    VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 0x00200000,
+    VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000,
     VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
     VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
     VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -1544,7 +1544,7 @@ typedef enum VkBufferUsageFlagBits {
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
     VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
     VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
-    VK_BUFFER_USAGE_RAYTRACING_BIT_NVX = 0x00000400,
+    VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = 0x00000400,
     VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkBufferUsageFlagBits;
 typedef VkFlags VkBufferUsageFlags;
@@ -1559,7 +1559,7 @@ typedef enum VkPipelineCreateFlagBits {
     VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
     VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010,
-    VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NVX = 0x00000020,
+    VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
     VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
     VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -1576,12 +1576,12 @@ typedef enum VkShaderStageFlagBits {
     VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
     VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
     VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
-    VK_SHADER_STAGE_RAYGEN_BIT_NVX = 0x00000100,
-    VK_SHADER_STAGE_ANY_HIT_BIT_NVX = 0x00000200,
-    VK_SHADER_STAGE_CLOSEST_HIT_BIT_NVX = 0x00000400,
-    VK_SHADER_STAGE_MISS_BIT_NVX = 0x00000800,
-    VK_SHADER_STAGE_INTERSECTION_BIT_NVX = 0x00001000,
-    VK_SHADER_STAGE_CALLABLE_BIT_NVX = 0x00002000,
+    VK_SHADER_STAGE_RAYGEN_BIT_NV = 0x00000100,
+    VK_SHADER_STAGE_ANY_HIT_BIT_NV = 0x00000200,
+    VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 0x00000400,
+    VK_SHADER_STAGE_MISS_BIT_NV = 0x00000800,
+    VK_SHADER_STAGE_INTERSECTION_BIT_NV = 0x00001000,
+    VK_SHADER_STAGE_CALLABLE_BIT_NV = 0x00002000,
     VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
     VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
     VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -1673,8 +1673,8 @@ typedef enum VkAccessFlagBits {
     VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,
     VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
     VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NVX = 0x00200000,
-    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NVX = 0x00400000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000,
+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000,
     VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkAccessFlagBits;
 typedef VkFlags VkAccessFlags;
@@ -6182,7 +6182,7 @@ typedef enum VkDebugReportObjectTypeEXT {
     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
-    VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NVX_EXT = 1000165000,
+    VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = 
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
@@ -8113,81 +8113,113 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
     const VkCoarseSampleOrderCustomNV*          pCustomSampleOrders);
 #endif
 
-#define VK_NVX_raytracing 1
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNVX)
-
-#define VK_NVX_RAYTRACING_SPEC_VERSION    1
-#define VK_NVX_RAYTRACING_EXTENSION_NAME  "VK_NVX_raytracing"
-
-
-typedef enum VkGeometryTypeNVX {
-    VK_GEOMETRY_TYPE_TRIANGLES_NVX = 0,
-    VK_GEOMETRY_TYPE_AABBS_NVX = 1,
-    VK_GEOMETRY_TYPE_BEGIN_RANGE_NVX = VK_GEOMETRY_TYPE_TRIANGLES_NVX,
-    VK_GEOMETRY_TYPE_END_RANGE_NVX = VK_GEOMETRY_TYPE_AABBS_NVX,
-    VK_GEOMETRY_TYPE_RANGE_SIZE_NVX = (VK_GEOMETRY_TYPE_AABBS_NVX - 
VK_GEOMETRY_TYPE_TRIANGLES_NVX + 1),
-    VK_GEOMETRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
-} VkGeometryTypeNVX;
-
-typedef enum VkAccelerationStructureTypeNVX {
-    VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX = 0,
-    VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX = 1,
-    VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NVX = 
VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX,
-    VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NVX = 
VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX,
-    VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NVX = 
(VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX - 
VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX + 1),
-    VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF
-} VkAccelerationStructureTypeNVX;
-
-typedef enum VkCopyAccelerationStructureModeNVX {
-    VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX = 0,
-    VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX = 1,
-    VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NVX = 
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX,
-    VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NVX = 
VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX,
-    VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NVX = 
(VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX - 
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX + 1),
-    VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NVX = 0x7FFFFFFF
-} VkCopyAccelerationStructureModeNVX;
-
-
-typedef enum VkGeometryFlagBitsNVX {
-    VK_GEOMETRY_OPAQUE_BIT_NVX = 0x00000001,
-    VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NVX = 0x00000002,
-    VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
-} VkGeometryFlagBitsNVX;
-typedef VkFlags VkGeometryFlagsNVX;
-
-typedef enum VkGeometryInstanceFlagBitsNVX {
-    VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NVX = 0x00000001,
-    VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_FLIP_WINDING_BIT_NVX = 0x00000002,
-    VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NVX = 0x00000004,
-    VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NVX = 0x00000008,
-    VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
-} VkGeometryInstanceFlagBitsNVX;
-typedef VkFlags VkGeometryInstanceFlagsNVX;
-
-typedef enum VkBuildAccelerationStructureFlagBitsNVX {
-    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NVX = 0x00000001,
-    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NVX = 0x00000002,
-    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NVX = 0x00000004,
-    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NVX = 0x00000008,
-    VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NVX = 0x00000010,
-    VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF
-} VkBuildAccelerationStructureFlagBitsNVX;
-typedef VkFlags VkBuildAccelerationStructureFlagsNVX;
-
-typedef struct VkRaytracingPipelineCreateInfoNVX {
-    VkStructureType                           sType;
-    const void*                               pNext;
-    VkPipelineCreateFlags                     flags;
-    uint32_t                                  stageCount;
-    const VkPipelineShaderStageCreateInfo*    pStages;
-    const uint32_t*                           pGroupNumbers;
-    uint32_t                                  maxRecursionDepth;
-    VkPipelineLayout                          layout;
-    VkPipeline                                basePipelineHandle;
-    int32_t                                   basePipelineIndex;
-} VkRaytracingPipelineCreateInfoNVX;
-
-typedef struct VkGeometryTrianglesNVX {
+#define VK_NV_ray_tracing 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
+
+#define VK_NV_RAY_TRACING_SPEC_VERSION    2
+#define VK_NV_RAY_TRACING_EXTENSION_NAME  "VK_NV_ray_tracing"
+#define VK_SHADER_UNUSED_NV               (~0U)
+
+
+typedef enum VkRayTracingShaderGroupTypeNV {
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = 0,
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = 1,
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = 2,
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_BEGIN_RANGE_NV = 
VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV,
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_END_RANGE_NV = 
VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV,
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_RANGE_SIZE_NV = 
(VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV - 
VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV + 1),
+    VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkRayTracingShaderGroupTypeNV;
+
+typedef enum VkGeometryTypeNV {
+    VK_GEOMETRY_TYPE_TRIANGLES_NV = 0,
+    VK_GEOMETRY_TYPE_AABBS_NV = 1,
+    VK_GEOMETRY_TYPE_BEGIN_RANGE_NV = VK_GEOMETRY_TYPE_TRIANGLES_NV,
+    VK_GEOMETRY_TYPE_END_RANGE_NV = VK_GEOMETRY_TYPE_AABBS_NV,
+    VK_GEOMETRY_TYPE_RANGE_SIZE_NV = (VK_GEOMETRY_TYPE_AABBS_NV - 
VK_GEOMETRY_TYPE_TRIANGLES_NV + 1),
+    VK_GEOMETRY_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkGeometryTypeNV;
+
+typedef enum VkAccelerationStructureTypeNV {
+    VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = 0,
+    VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = 1,
+    VK_ACCELERATION_STRUCTURE_TYPE_BEGIN_RANGE_NV = 
VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV,
+    VK_ACCELERATION_STRUCTURE_TYPE_END_RANGE_NV = 
VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV,
+    VK_ACCELERATION_STRUCTURE_TYPE_RANGE_SIZE_NV = 
(VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV - 
VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV + 1),
+    VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkAccelerationStructureTypeNV;
+
+typedef enum VkCopyAccelerationStructureModeNV {
+    VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = 0,
+    VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = 1,
+    VK_COPY_ACCELERATION_STRUCTURE_MODE_BEGIN_RANGE_NV = 
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV,
+    VK_COPY_ACCELERATION_STRUCTURE_MODE_END_RANGE_NV = 
VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV,
+    VK_COPY_ACCELERATION_STRUCTURE_MODE_RANGE_SIZE_NV = 
(VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV - 
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV + 1),
+    VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkCopyAccelerationStructureModeNV;
+
+typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BEGIN_RANGE_NV = 
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_END_RANGE_NV = 
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV,
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_RANGE_SIZE_NV = 
(VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV - 
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV + 1),
+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkAccelerationStructureMemoryRequirementsTypeNV;
+
+
+typedef enum VkGeometryFlagBitsNV {
+    VK_GEOMETRY_OPAQUE_BIT_NV = 0x00000001,
+    VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = 0x00000002,
+    VK_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkGeometryFlagBitsNV;
+typedef VkFlags VkGeometryFlagsNV;
+
+typedef enum VkGeometryInstanceFlagBitsNV {
+    VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 0x00000001,
+    VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 0x00000002,
+    VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 0x00000004,
+    VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = 0x00000008,
+    VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkGeometryInstanceFlagBitsNV;
+typedef VkFlags VkGeometryInstanceFlagsNV;
+
+typedef enum VkBuildAccelerationStructureFlagBitsNV {
+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 0x00000001,
+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 0x00000002,
+    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 0x00000004,
+    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = 0x00000008,
+    VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = 0x00000010,
+    VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkBuildAccelerationStructureFlagBitsNV;
+typedef VkFlags VkBuildAccelerationStructureFlagsNV;
+
+typedef struct VkRayTracingShaderGroupCreateInfoNV {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkRayTracingShaderGroupTypeNV    type;
+    uint32_t                         generalShader;
+    uint32_t                         closestHitShader;
+    uint32_t                         anyHitShader;
+    uint32_t                         intersectionShader;
+} VkRayTracingShaderGroupCreateInfoNV;
+
+typedef struct VkRayTracingPipelineCreateInfoNV {
+    VkStructureType                               sType;
+    const void*                                   pNext;
+    VkPipelineCreateFlags                         flags;
+    uint32_t                                      stageCount;
+    const VkPipelineShaderStageCreateInfo*        pStages;
+    uint32_t                                      groupCount;
+    const VkRayTracingShaderGroupCreateInfoNV*    pGroups;
+    uint32_t                                      maxRecursionDepth;
+    VkPipelineLayout                              layout;
+    VkPipeline                                    basePipelineHandle;
+    int32_t                                       basePipelineIndex;
+} VkRayTracingPipelineCreateInfoNV;
+
+typedef struct VkGeometryTrianglesNV {
     VkStructureType    sType;
     const void*        pNext;
     VkBuffer           vertexData;
@@ -8201,136 +8233,138 @@ typedef struct VkGeometryTrianglesNVX {
     VkIndexType        indexType;
     VkBuffer           transformData;
     VkDeviceSize       transformOffset;
-} VkGeometryTrianglesNVX;
+} VkGeometryTrianglesNV;
 
-typedef struct VkGeometryAABBNVX {
+typedef struct VkGeometryAABBNV {
     VkStructureType    sType;
     const void*        pNext;
     VkBuffer           aabbData;
     uint32_t           numAABBs;
     uint32_t           stride;
     VkDeviceSize       offset;
-} VkGeometryAABBNVX;
-
-typedef struct VkGeometryDataNVX {
-    VkGeometryTrianglesNVX    triangles;
-    VkGeometryAABBNVX         aabbs;
-} VkGeometryDataNVX;
+} VkGeometryAABBNV;
 
-typedef struct VkGeometryNVX {
-    VkStructureType       sType;
-    const void*           pNext;
-    VkGeometryTypeNVX     geometryType;
-    VkGeometryDataNVX     geometry;
-    VkGeometryFlagsNVX    flags;
-} VkGeometryNVX;
+typedef struct VkGeometryDataNV {
+    VkGeometryTrianglesNV    triangles;
+    VkGeometryAABBNV         aabbs;
+} VkGeometryDataNV;
 
-typedef struct VkAccelerationStructureCreateInfoNVX {
-    VkStructureType                         sType;
-    const void*                             pNext;
-    VkAccelerationStructureTypeNVX          type;
-    VkBuildAccelerationStructureFlagsNVX    flags;
-    VkDeviceSize                            compactedSize;
-    uint32_t                                instanceCount;
-    uint32_t                                geometryCount;
-    const VkGeometryNVX*                    pGeometries;
-} VkAccelerationStructureCreateInfoNVX;
-
-typedef struct VkBindAccelerationStructureMemoryInfoNVX {
-    VkStructureType               sType;
-    const void*                   pNext;
-    VkAccelerationStructureNVX    accelerationStructure;
-    VkDeviceMemory                memory;
-    VkDeviceSize                  memoryOffset;
-    uint32_t                      deviceIndexCount;
-    const uint32_t*               pDeviceIndices;
-} VkBindAccelerationStructureMemoryInfoNVX;
-
-typedef struct VkDescriptorAccelerationStructureInfoNVX {
-    VkStructureType                      sType;
-    const void*                          pNext;
-    uint32_t                             accelerationStructureCount;
-    const VkAccelerationStructureNVX*    pAccelerationStructures;
-} VkDescriptorAccelerationStructureInfoNVX;
+typedef struct VkGeometryNV {
+    VkStructureType      sType;
+    const void*          pNext;
+    VkGeometryTypeNV     geometryType;
+    VkGeometryDataNV     geometry;
+    VkGeometryFlagsNV    flags;
+} VkGeometryNV;
 
-typedef struct VkAccelerationStructureMemoryRequirementsInfoNVX {
-    VkStructureType               sType;
-    const void*                   pNext;
-    VkAccelerationStructureNVX    accelerationStructure;
-} VkAccelerationStructureMemoryRequirementsInfoNVX;
+typedef struct VkAccelerationStructureInfoNV {
+    VkStructureType                        sType;
+    const void*                            pNext;
+    VkAccelerationStructureTypeNV          type;
+    VkBuildAccelerationStructureFlagsNV    flags;
+    uint32_t                               instanceCount;
+    uint32_t                               geometryCount;
+    const VkGeometryNV*                    pGeometries;
+} VkAccelerationStructureInfoNV;
+
+typedef struct VkAccelerationStructureCreateInfoNV {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkDeviceSize                     compactedSize;
+    VkAccelerationStructureInfoNV    info;
+} VkAccelerationStructureCreateInfoNV;
 
-typedef struct VkPhysicalDeviceRaytracingPropertiesNVX {
+typedef struct VkBindAccelerationStructureMemoryInfoNV {
+    VkStructureType              sType;
+    const void*                  pNext;
+    VkAccelerationStructureNV    accelerationStructure;
+    VkDeviceMemory               memory;
+    VkDeviceSize                 memoryOffset;
+    uint32_t                     deviceIndexCount;
+    const uint32_t*              pDeviceIndices;
+} VkBindAccelerationStructureMemoryInfoNV;
+
+typedef struct VkWriteDescriptorSetAccelerationStructureNV {
+    VkStructureType                     sType;
+    const void*                         pNext;
+    uint32_t                            accelerationStructureCount;
+    const VkAccelerationStructureNV*    pAccelerationStructures;
+} VkWriteDescriptorSetAccelerationStructureNV;
+
+typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
+    VkStructureType                                    sType;
+    const void*                                        pNext;
+    VkAccelerationStructureMemoryRequirementsTypeNV    type;
+    VkAccelerationStructureNV                          accelerationStructure;
+} VkAccelerationStructureMemoryRequirementsInfoNV;
+
+typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
     VkStructureType    sType;
     void*              pNext;
-    uint32_t           shaderHeaderSize;
+    uint32_t           shaderGroupHandleSize;
     uint32_t           maxRecursionDepth;
-    uint32_t           maxGeometryCount;
-} VkPhysicalDeviceRaytracingPropertiesNVX;
-
-
-typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNVX)(VkDevice 
device, const VkAccelerationStructureCreateInfoNVX* pCreateInfo, const 
VkAllocationCallbacks* pAllocator, VkAccelerationStructureNVX* 
pAccelerationStructure);
-typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNVX)(VkDevice 
device, VkAccelerationStructureNVX accelerationStructure, const 
VkAllocationCallbacks* pAllocator);
-typedef void (VKAPI_PTR 
*PFN_vkGetAccelerationStructureMemoryRequirementsNVX)(VkDevice device, const 
VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo, 
VkMemoryRequirements2KHR* pMemoryRequirements);
-typedef void (VKAPI_PTR 
*PFN_vkGetAccelerationStructureScratchMemoryRequirementsNVX)(VkDevice device, 
const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo, 
VkMemoryRequirements2KHR* pMemoryRequirements);
-typedef VkResult (VKAPI_PTR 
*PFN_vkBindAccelerationStructureMemoryNVX)(VkDevice device, uint32_t 
bindInfoCount, const VkBindAccelerationStructureMemoryInfoNVX* pBindInfos);
-typedef void (VKAPI_PTR 
*PFN_vkCmdBuildAccelerationStructureNVX)(VkCommandBuffer commandBuffer, 
VkAccelerationStructureTypeNVX type, uint32_t instanceCount, VkBuffer 
instanceData, VkDeviceSize instanceOffset, uint32_t geometryCount, const 
VkGeometryNVX* pGeometries, VkBuildAccelerationStructureFlagsNVX flags, 
VkBool32 update, VkAccelerationStructureNVX dst, VkAccelerationStructureNVX 
src, VkBuffer scratch, VkDeviceSize scratchOffset);
-typedef void (VKAPI_PTR 
*PFN_vkCmdCopyAccelerationStructureNVX)(VkCommandBuffer commandBuffer, 
VkAccelerationStructureNVX dst, VkAccelerationStructureNVX src, 
VkCopyAccelerationStructureModeNVX mode);
-typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNVX)(VkCommandBuffer commandBuffer, 
VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize 
raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize 
missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer 
hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize 
hitShaderBindingStride, uint32_t width, uint32_t height);
-typedef VkResult (VKAPI_PTR *PFN_vkCreateRaytracingPipelinesNVX)(VkDevice 
device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const 
VkRaytracingPipelineCreateInfoNVX* pCreateInfos, const VkAllocationCallbacks* 
pAllocator, VkPipeline* pPipelines);
-typedef VkResult (VKAPI_PTR *PFN_vkGetRaytracingShaderHandlesNVX)(VkDevice 
device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t 
dataSize, void* pData);
-typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNVX)(VkDevice 
device, VkAccelerationStructureNVX accelerationStructure, size_t dataSize, 
void* pData);
-typedef void (VKAPI_PTR 
*PFN_vkCmdWriteAccelerationStructurePropertiesNVX)(VkCommandBuffer 
commandBuffer, VkAccelerationStructureNVX accelerationStructure, VkQueryType 
queryType, VkQueryPool queryPool, uint32_t query);
-typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNVX)(VkDevice device, 
VkPipeline pipeline, uint32_t shader);
+    uint32_t           maxShaderGroupStride;
+    uint32_t           shaderGroupBaseAlignment;
+    uint64_t           maxGeometryCount;
+    uint64_t           maxInstanceCount;
+    uint64_t           maxTriangleCount;
+    uint32_t           maxDescriptorSetAccelerationStructures;
+} VkPhysicalDeviceRayTracingPropertiesNV;
+
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice 
device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const 
VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* 
pAccelerationStructure);
+typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice 
device, VkAccelerationStructureNV accelerationStructure, const 
VkAllocationCallbacks* pAllocator);
+typedef void (VKAPI_PTR 
*PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const 
VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 
VkMemoryRequirements2KHR* pMemoryRequirements);
+typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice 
device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* 
pBindInfos);
+typedef void (VKAPI_PTR 
*PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const 
VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize 
instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, 
VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer 
commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, 
VkCopyAccelerationStructureModeNV mode);
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, 
VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize 
raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize 
missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer 
hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize 
hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize 
callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t 
width, uint32_t height, uint32_t depth);
+typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice 
device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const 
VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* 
pAllocator, VkPipeline* pPipelines);
+typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice 
device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t 
dataSize, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice 
device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* 
pData);
+typedef void (VKAPI_PTR 
*PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer 
commandBuffer, uint32_t accelerationStructureCount, const 
VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, 
VkQueryPool queryPool, uint32_t firstQuery);
+typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, 
VkPipeline pipeline, uint32_t shader);
 
 #ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNVX(
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
     VkDevice                                    device,
-    const VkAccelerationStructureCreateInfoNVX* pCreateInfo,
+    const VkAccelerationStructureCreateInfoNV*  pCreateInfo,
     const VkAllocationCallbacks*                pAllocator,
-    VkAccelerationStructureNVX*                 pAccelerationStructure);
+    VkAccelerationStructureNV*                  pAccelerationStructure);
 
-VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNVX(
+VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
     VkDevice                                    device,
-    VkAccelerationStructureNVX                  accelerationStructure,
+    VkAccelerationStructureNV                   accelerationStructure,
     const VkAllocationCallbacks*                pAllocator);
 
-VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNVX(
-    VkDevice                                    device,
-    const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo,
-    VkMemoryRequirements2KHR*                   pMemoryRequirements);
-
-VKAPI_ATTR void VKAPI_CALL 
vkGetAccelerationStructureScratchMemoryRequirementsNVX(
+VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
     VkDevice                                    device,
-    const VkAccelerationStructureMemoryRequirementsInfoNVX* pInfo,
+    const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
     VkMemoryRequirements2KHR*                   pMemoryRequirements);
 
-VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNVX(
+VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
     VkDevice                                    device,
     uint32_t                                    bindInfoCount,
-    const VkBindAccelerationStructureMemoryInfoNVX* pBindInfos);
+    const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
 
-VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNVX(
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
     VkCommandBuffer                             commandBuffer,
-    VkAccelerationStructureTypeNVX              type,
-    uint32_t                                    instanceCount,
+    const VkAccelerationStructureInfoNV*        pInfo,
     VkBuffer                                    instanceData,
     VkDeviceSize                                instanceOffset,
-    uint32_t                                    geometryCount,
-    const VkGeometryNVX*                        pGeometries,
-    VkBuildAccelerationStructureFlagsNVX        flags,
     VkBool32                                    update,
-    VkAccelerationStructureNVX                  dst,
-    VkAccelerationStructureNVX                  src,
+    VkAccelerationStructureNV                   dst,
+    VkAccelerationStructureNV                   src,
     VkBuffer                                    scratch,
     VkDeviceSize                                scratchOffset);
 
-VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNVX(
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
     VkCommandBuffer                             commandBuffer,
-    VkAccelerationStructureNVX                  dst,
-    VkAccelerationStructureNVX                  src,
-    VkCopyAccelerationStructureModeNVX          mode);
+    VkAccelerationStructureNV                   dst,
+    VkAccelerationStructureNV                   src,
+    VkCopyAccelerationStructureModeNV           mode);
 
-VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNVX(
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
     VkCommandBuffer                             commandBuffer,
     VkBuffer                                    raygenShaderBindingTableBuffer,
     VkDeviceSize                                raygenShaderBindingOffset,
@@ -8340,18 +8374,22 @@ VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNVX(
     VkBuffer                                    hitShaderBindingTableBuffer,
     VkDeviceSize                                hitShaderBindingOffset,
     VkDeviceSize                                hitShaderBindingStride,
+    VkBuffer                                    
callableShaderBindingTableBuffer,
+    VkDeviceSize                                callableShaderBindingOffset,
+    VkDeviceSize                                callableShaderBindingStride,
     uint32_t                                    width,
-    uint32_t                                    height);
+    uint32_t                                    height,
+    uint32_t                                    depth);
 
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateRaytracingPipelinesNVX(
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
     VkDevice                                    device,
     VkPipelineCache                             pipelineCache,
     uint32_t                                    createInfoCount,
-    const VkRaytracingPipelineCreateInfoNVX*    pCreateInfos,
+    const VkRayTracingPipelineCreateInfoNV*     pCreateInfos,
     const VkAllocationCallbacks*                pAllocator,
     VkPipeline*                                 pPipelines);
 
-VKAPI_ATTR VkResult VKAPI_CALL vkGetRaytracingShaderHandlesNVX(
+VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
     VkDevice                                    device,
     VkPipeline                                  pipeline,
     uint32_t                                    firstGroup,
@@ -8359,20 +8397,21 @@ VKAPI_ATTR VkResult VKAPI_CALL 
vkGetRaytracingShaderHandlesNVX(
     size_t                                      dataSize,
     void*                                       pData);
 
-VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNVX(
+VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
     VkDevice                                    device,
-    VkAccelerationStructureNVX                  accelerationStructure,
+    VkAccelerationStructureNV                   accelerationStructure,
     size_t                                      dataSize,
     void*                                       pData);
 
-VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructurePropertiesNVX(
+VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
     VkCommandBuffer                             commandBuffer,
-    VkAccelerationStructureNVX                  accelerationStructure,
+    uint32_t                                    accelerationStructureCount,
+    const VkAccelerationStructureNV*            pAccelerationStructures,
     VkQueryType                                 queryType,
     VkQueryPool                                 queryPool,
-    uint32_t                                    query);
+    uint32_t                                    firstQuery);
 
-VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNVX(
+VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
     VkDevice                                    device,
     VkPipeline                                  pipeline,
     uint32_t                                    shader);
@@ -8534,6 +8573,29 @@ typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
 
 
 
+#define VK_AMD_memory_overallocation_behavior 1
+#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
+#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME 
"VK_AMD_memory_overallocation_behavior"
+
+
+typedef enum VkMemoryOverallocationBehaviorAMD {
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_BEGIN_RANGE_AMD = 
VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD,
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_END_RANGE_AMD = 
VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD,
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_RANGE_SIZE_AMD = 
(VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD - 
VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD + 1),
+    VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
+} VkMemoryOverallocationBehaviorAMD;
+
+typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
+    VkStructureType                      sType;
+    const void*                          pNext;
+    VkMemoryOverallocationBehaviorAMD    overallocationBehavior;
+} VkDeviceMemoryOverallocationCreateInfoAMD;
+
+
+
 #define VK_EXT_vertex_attribute_divisor 1
 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME 
"VK_EXT_vertex_attribute_divisor"
diff --git a/include/vulkan/vulkan_mir.h b/include/vulkan/vulkan_mir.h
deleted file mode 100644
index 7d24ed27a3f..00000000000
--- a/include/vulkan/vulkan_mir.h
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef VULKAN_MIR_H_
-#define VULKAN_MIR_H_ 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** Copyright (c) 2015-2018 The Khronos Group Inc.
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-/*
-** This header is generated from the Khronos Vulkan XML API Registry.
-**
-*/
-
-
-#define VK_KHR_mir_surface 1
-#define VK_KHR_MIR_SURFACE_SPEC_VERSION   4
-#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"
-
-typedef VkFlags VkMirSurfaceCreateFlagsKHR;
-
-typedef struct VkMirSurfaceCreateInfoKHR {
-    VkStructureType               sType;
-    const void*                   pNext;
-    VkMirSurfaceCreateFlagsKHR    flags;
-    MirConnection*                connection;
-    MirSurface*                   mirSurface;
-} VkMirSurfaceCreateInfoKHR;
-
-
-typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, 
const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* 
pAllocator, VkSurfaceKHR* pSurface);
-typedef VkBool32 (VKAPI_PTR 
*PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice 
physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection);
-
-#ifndef VK_NO_PROTOTYPES
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(
-    VkInstance                                  instance,
-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
-
-VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    MirConnection*                              connection);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml
index 863c33f323a..24cc3ce7872 100644
--- a/src/vulkan/registry/vk.xml
+++ b/src/vulkan/registry/vk.xml
@@ -49,7 +49,6 @@ server.
         <platform name="xlib_xrandr" protect="VK_USE_PLATFORM_XLIB_XRANDR_EXT" 
comment="X Window System, Xlib client library, XRandR extension"/>
         <platform name="xcb" protect="VK_USE_PLATFORM_XCB_KHR" comment="X 
Window System, Xcb client library"/>
         <platform name="wayland" protect="VK_USE_PLATFORM_WAYLAND_KHR" 
comment="Wayland display server protocol"/>
-        <platform name="mir" protect="VK_USE_PLATFORM_MIR_KHR" comment="Mir 
display server"/>
         <platform name="android" protect="VK_USE_PLATFORM_ANDROID_KHR" 
comment="Android OS"/>
         <platform name="win32" protect="VK_USE_PLATFORM_WIN32_KHR" 
comment="Microsoft Win32 API (also refers to Win64 apps)"/>
         <platform name="vi" protect="VK_USE_PLATFORM_VI_NN" comment="Nintendo 
Vi"/>
@@ -96,7 +95,6 @@ server.
 
         <type category="include" name="X11/Xlib.h"/>
         <type category="include" name="X11/extensions/Xrandr.h"/>
-        <type category="include" name="mir_toolkit/client_types.h"/>
         <type category="include" name="wayland-client.h"/>
         <type category="include" name="windows.h"/>
         <type category="include" name="xcb/xcb.h"/>
@@ -122,8 +120,6 @@ server.
         <type requires="X11/Xlib.h" name="VisualID"/>
         <type requires="X11/Xlib.h" name="Window"/>
         <type requires="X11/extensions/Xrandr.h" name="RROutput"/>
-        <type requires="mir_toolkit/client_types.h" name="MirConnection"/>
-        <type requires="mir_toolkit/client_types.h" name="MirSurface"/>
         <type requires="wayland-client.h" name="wl_display"/>
         <type requires="wayland-client.h" name="wl_surface"/>
         <type requires="windows.h" name="HINSTANCE"/>
@@ -150,7 +146,7 @@ server.
         <type category="define">// Vulkan 1.1 version number
 #define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 
0)// Patch version should always be set to 0</type>
         <type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 90</type>
+#define <name>VK_HEADER_VERSION</name> 91</type>
 
         <type category="define">
 #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* 
object;</type>
@@ -162,12 +158,10 @@ server.
 #else
         #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t 
object;
 #endif
-#endif
-        </type>
+#endif</type>
 
         <type category="define">
-#define <name>VK_NULL_HANDLE</name> 0
-        </type>
+#define <name>VK_NULL_HANDLE</name> 0</type>
 
         <type category="define">struct <name>ANativeWindow</name>;</type>
         <type category="define">struct <name>AHardwareBuffer</name>;</type>
@@ -251,9 +245,9 @@ server.
         <type requires="VkSubgroupFeatureFlagBits"        
category="bitmask">typedef <type>VkFlags</type> 
<name>VkSubgroupFeatureFlags</name>;</type>
         <type requires="VkIndirectCommandsLayoutUsageFlagBitsNVX"  
category="bitmask">typedef <type>VkFlags</type> 
<name>VkIndirectCommandsLayoutUsageFlagsNVX</name>;</type>
         <type requires="VkObjectEntryUsageFlagBitsNVX"             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkObjectEntryUsageFlagsNVX</name>;</type>
-        <type requires="VkGeometryFlagBitsNVX"            
category="bitmask">typedef <type>VkFlags</type> 
<name>VkGeometryFlagsNVX</name>;</type>
-        <type requires="VkGeometryInstanceFlagBitsNVX"    
category="bitmask">typedef <type>VkFlags</type> 
<name>VkGeometryInstanceFlagsNVX</name>;</type>
-        <type requires="VkBuildAccelerationStructureFlagBitsNVX" 
category="bitmask">typedef <type>VkFlags</type> 
<name>VkBuildAccelerationStructureFlagsNVX</name>;</type>
+        <type requires="VkGeometryFlagBitsNV"            
category="bitmask">typedef <type>VkFlags</type> 
<name>VkGeometryFlagsNV</name>;</type>
+        <type requires="VkGeometryInstanceFlagBitsNV"    
category="bitmask">typedef <type>VkFlags</type> 
<name>VkGeometryInstanceFlagsNV</name>;</type>
+        <type requires="VkBuildAccelerationStructureFlagBitsNV" 
category="bitmask">typedef <type>VkFlags</type> 
<name>VkBuildAccelerationStructureFlagsNV</name>;</type>
 
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkDescriptorUpdateTemplateCreateFlags</name>;</type>
         <type                                             category="bitmask" 
name="VkDescriptorUpdateTemplateCreateFlagsKHR" 
alias="VkDescriptorUpdateTemplateCreateFlags"/>
@@ -266,7 +260,6 @@ server.
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkDisplayModeCreateFlagsKHR</name>;</type>
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkDisplaySurfaceCreateFlagsKHR</name>;</type>
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkAndroidSurfaceCreateFlagsKHR</name>;</type>
-        <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkMirSurfaceCreateFlagsKHR</name>;</type>
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkViSurfaceCreateFlagsNN</name>;</type>
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkWaylandSurfaceCreateFlagsKHR</name>;</type>
         <type                                             
category="bitmask">typedef <type>VkFlags</type> 
<name>VkWin32SurfaceCreateFlagsKHR</name>;</type>
@@ -351,7 +344,7 @@ server.
         <type category="handle" 
parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSamplerYcbcrConversion</name>)</type>
         <type category="handle" name="VkSamplerYcbcrConversionKHR"   
alias="VkSamplerYcbcrConversion"/>
         <type category="handle" 
parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkValidationCacheEXT</name>)</type>
-        <type category="handle" 
parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureNVX</name>)</type>
+        <type category="handle" 
parent="VkDevice"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureNV</name>)</type>
 
             <comment>WSI extensions</comment>
         <type 
category="handle"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkDisplayKHR</name>)</type>
@@ -470,12 +463,15 @@ server.
         <type name="VkQueueGlobalPriorityEXT" category="enum"/>
         <type name="VkTimeDomainEXT" category="enum"/>
         <type name="VkConservativeRasterizationModeEXT" category="enum"/>
-        <type name="VkGeometryFlagBitsNVX" category="enum"/>
-        <type name="VkGeometryInstanceFlagBitsNVX" category="enum"/>
-        <type name="VkBuildAccelerationStructureFlagBitsNVX" category="enum"/>
-        <type name="VkCopyAccelerationStructureModeNVX" category="enum"/>
-        <type name="VkAccelerationStructureTypeNVX" category="enum"/>
-        <type name="VkGeometryTypeNVX" category="enum"/>
+        <type name="VkGeometryFlagBitsNV" category="enum"/>
+        <type name="VkGeometryInstanceFlagBitsNV" category="enum"/>
+        <type name="VkBuildAccelerationStructureFlagBitsNV" category="enum"/>
+        <type name="VkCopyAccelerationStructureModeNV" category="enum"/>
+        <type name="VkAccelerationStructureTypeNV" category="enum"/>
+        <type name="VkGeometryTypeNV" category="enum"/>
+        <type name="VkRayTracingShaderGroupTypeNV" category="enum"/>
+        <type name="VkAccelerationStructureMemoryRequirementsTypeNV" 
category="enum"/>
+        <type name="VkMemoryOverallocationBehaviorAMD" category="enum"/>
 
             <comment>WSI extensions</comment>
         <type name="VkColorSpaceKHR" category="enum"/>
@@ -1644,13 +1640,6 @@ server.
             <member 
optional="true"><type>VkAndroidSurfaceCreateFlagsKHR</type> 
<name>flags</name></member>
             <member noautovalidity="true">struct <type>ANativeWindow</type>*   
 <name>window</name></member>
         </type>
-        <type category="struct" name="VkMirSurfaceCreateInfoKHR">
-            <member 
values="VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR"><type>VkStructureType</type>
 <name>sType</name></member>
-            <member>const <type>void</type>*                      
<name>pNext</name></member>
-            <member optional="true"><type>VkMirSurfaceCreateFlagsKHR</type>   
<name>flags</name></member>
-            <member noautovalidity="true"><type>MirConnection</type>*          
         <name>connection</name></member>
-            <member noautovalidity="true"><type>MirSurface</type>*             
         <name>mirSurface</name></member>
-        </type>
         <type category="struct" name="VkViSurfaceCreateInfoNN">
             <member 
values="VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN"><type>VkStructureType</type>
 <name>sType</name></member>
             <member>const <type>void</type>*                      
<name>pNext</name></member>
@@ -3455,88 +3444,109 @@ server.
             <member><type>uint32_t</type>               
<name>taskCount</name></member>
             <member><type>uint32_t</type>               
<name>firstTask</name></member>
         </type>
-        <type category="struct" name="VkRaytracingPipelineCreateInfoNVX">
-            <member 
values="VK_STRUCTURE_TYPE_RAYTRACING_PIPELINE_CREATE_INFO_NVX"><type>VkStructureType</type>
 <name>sType</name></member>
+        <type category="struct" name="VkRayTracingShaderGroupCreateInfoNV">
+            <member 
values="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"><type>VkStructureType</type>
 <name>sType</name></member>
+            <member>const <type>void</type>*            
<name>pNext</name></member>
+            <member><type>VkRayTracingShaderGroupTypeNV</type> 
<name>type</name></member>
+            <member><type>uint32_t</type>               
<name>generalShader</name></member>
+            <member><type>uint32_t</type>               
<name>closestHitShader</name></member>
+            <member><type>uint32_t</type>               
<name>anyHitShader</name></member>
+            <member><type>uint32_t</type>               
<name>intersectionShader</name></member>
+        </type>
+        <type category="struct" name="VkRayTracingPipelineCreateInfoNV">
+            <member 
values="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV"><type>VkStructureType</type>
 <name>sType</name></member>
             <member>const <type>void</type>*            
<name>pNext</name></member>
             <member optional="true"><type>VkPipelineCreateFlags</type>  
<name>flags</name><comment>Pipeline creation flags</comment></member>
             <member><type>uint32_t</type>               
<name>stageCount</name></member>
             <member len="stageCount">const 
<type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One 
entry for each active shader stage</comment></member>
-            <member len="stageCount">const <type>uint32_t</type>* 
<name>pGroupNumbers</name><comment>One entry for each stage used as the query 
index and for grouping</comment></member>
+            <member><type>uint32_t</type>               
<name>groupCount</name></member>
+            <member len="groupCount">const 
<type>VkRayTracingShaderGroupCreateInfoNV</type>* <name>pGroups</name></member>
             <member><type>uint32_t</type>               
<name>maxRecursionDepth</name></member>
             <member><type>VkPipelineLayout</type>       
<name>layout</name><comment>Interface layout of the pipeline</comment></member>
             <member noautovalidity="true" 
optional="true"><type>VkPipeline</type>      
<name>basePipelineHandle</name><comment>If VK_PIPELINE_CREATE_DERIVATIVE_BIT is 
set and this value is nonzero, it specifies the handle of the base pipeline 
this is a derivative of</comment></member>
             <member><type>int32_t</type>                
<name>basePipelineIndex</name><comment>If VK_PIPELINE_CREATE_DERIVATIVE_BIT is 
set and this value is not -1, it specifies an index into pCreateInfos of the 
base pipeline this is a derivative of</comment></member>
         </type>
-        <type category="struct" name="VkGeometryTrianglesNVX">
-            <member 
values="VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NVX"><type>VkStructureType</type> 
<name>sType</name></member>
+        <type category="struct" name="VkGeometryTrianglesNV">
+            <member 
values="VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV"><type>VkStructureType</type> 
<name>sType</name></member>
             <member>const <type>void</type>*                
<name>pNext</name></member>
             <member optional="true"><type>VkBuffer</type>   
<name>vertexData</name></member>
             <member><type>VkDeviceSize</type>               
<name>vertexOffset</name></member>
             <member><type>uint32_t</type>                   
<name>vertexCount</name></member>
             <member><type>VkDeviceSize</type>               
<name>vertexStride</name></member>
-            <member><type>VkFormat</type>   
<name>vertexFormat</name><comment>VK_FORMAT_R32G32B32_SFLOAT, 
VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_R16G16B16_SFLOAT, or 
VK_FORMAT_R16G16B16A16_SFLOAT</comment></member>
+            <member><type>VkFormat</type>                   
<name>vertexFormat</name></member>
             <member optional="true"><type>VkBuffer</type>   
<name>indexData</name></member>
             <member><type>VkDeviceSize</type>               
<name>indexOffset</name></member>
             <member><type>uint32_t</type>                   
<name>indexCount</name></member>
-            <member><type>VkIndexType</type> <name>indexType</name></member>
+            <member><type>VkIndexType</type>                
<name>indexType</name></member>
             <member optional="true"><type>VkBuffer</type>   
<name>transformData</name><comment>Optional reference to array of floats 
representing a 3x4 row major affine transformation matrix.</comment></member>
             <member><type>VkDeviceSize</type>               
<name>transformOffset</name></member>
         </type>
-        <type category="struct" name="VkGeometryAABBNVX">
-            <member 
values="VK_STRUCTURE_TYPE_GEOMETRY_AABB_NVX"><type>VkStructureType</type> 
<name>sType</name></member>
+        <type category="struct" name="VkGeometryAABBNV">
+            <member 
values="VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV"><type>VkStructureType</type> 
<name>sType</name></member>
             <member>const <type>void</type>*                
<name>pNext</name></member>
             <member optional="true"><type>VkBuffer</type>   
<name>aabbData</name></member>
             <member><type>uint32_t</type>                   
<name>numAABBs</name></member>
             <member><type>uint32_t</type>                   
<name>stride</name><comment>Stride in bytes between AABBs</comment></member>
             <member><type>VkDeviceSize</type>               
<name>offset</name><comment>Offset in bytes of the first AABB in 
aabbData</comment></member>
         </type>
-        <type category="struct" name="VkGeometryDataNVX">
-            <member><type>VkGeometryTrianglesNVX</type>                  
<name>triangles</name></member>
-            <member><type>VkGeometryAABBNVX</type>                       
<name>aabbs</name></member>
+        <type category="struct" name="VkGeometryDataNV">
+            <member><type>VkGeometryTrianglesNV</type>                  
<name>triangles</name></member>
+            <member><type>VkGeometryAABBNV</type>                       
<name>aabbs</name></member>
         </type>
-        <type category="struct" name="VkGeometryNVX">
-            <member 
values="VK_STRUCTURE_TYPE_GEOMETRY_NVX"><type>VkStructureType</type> 
<name>sType</name></member>
+        <type category="struct" name="VkGeometryNV">
+            <member 
values="VK_STRUCTURE_TYPE_GEOMETRY_NV"><type>VkStructureType</type> 
<name>sType</name></member>
             <member>const <type>void</type>*                        
<name>pNext</name></member>
-            <member><type>VkGeometryTypeNVX</type>                  
<name>geometryType</name></member>
-            <member><type>VkGeometryDataNVX</type>                  
<name>geometry</name></member>
-            <member optional="true"><type>VkGeometryFlagsNVX</type> 
<name>flags</name></member>
+            <member><type>VkGeometryTypeNV</type>                  
<name>geometryType</name></member>
+            <member><type>VkGeometryDataNV</type>                  
<name>geometry</name></member>
+            <member optional="true"><type>VkGeometryFlagsNV</type> 
<name>flags</name></member>
         </type>
-        <type category="struct" name="VkAccelerationStructureCreateInfoNVX">
-            <member 
values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NVX"><type>VkStructureType</type>
 <name>sType</name></member>
+        <type category="struct" name="VkAccelerationStructureInfoNV">
+            <member 
values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV"><type>VkStructureType</type>
 <name>sType</name></member>
             <member>const <type>void</type>*                            
<name>pNext</name></member>
-            <member><type>VkAccelerationStructureTypeNVX</type>         
<name>type</name></member>
-            <member 
optional="true"><type>VkBuildAccelerationStructureFlagsNVX</type><name>flags</name></member>
-            <member><type>VkDeviceSize</type>                           
<name>compactedSize</name></member>
+            <member><type>VkAccelerationStructureTypeNV</type>         
<name>type</name></member>
+            <member 
optional="true"><type>VkBuildAccelerationStructureFlagsNV</type><name>flags</name></member>
             <member optional="true"><type>uint32_t</type>               
<name>instanceCount</name></member>
             <member optional="true"><type>uint32_t</type>               
<name>geometryCount</name></member>
-            <member len="geometryCount">const <type>VkGeometryNVX</type>* 
<name>pGeometries</name></member>
+            <member len="geometryCount">const <type>VkGeometryNV</type>* 
<name>pGeometries</name></member>
+        </type>
+        <type category="struct" name="VkAccelerationStructureCreateInfoNV">
+            <member 
values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV"><type>VkStructureType</type>
 <name>sType</name></member>
+            <member>const <type>void</type>*                            
<name>pNext</name></member>
+            <member><type>VkDeviceSize</type>                           
<name>compactedSize</name></member>
+            <member><type>VkAccelerationStructureInfoNV</type>          
<name>info</name></member>
         </type>
-        <type category="struct" 
name="VkBindAccelerationStructureMemoryInfoNVX">
-            <member 
values="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NVX"><type>VkStructureType</type>
 <name>sType</name></member>
+        <type category="struct" name="VkBindAccelerationStructureMemoryInfoNV">
+            <member 
values="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV"><type>VkStructureType</type>
 <name>sType</name></member>
             <member>const <type>void</type>*                      
<name>pNext</name></member>
-            <member><type>VkAccelerationStructureNVX</type>        
<name>accelerationStructure</name></member>
+            <member><type>VkAccelerationStructureNV</type>        
<name>accelerationStructure</name></member>
             <member><type>VkDeviceMemory</type>                   
<name>memory</name></member>
             <member><type>VkDeviceSize</type>                     
<name>memoryOffset</name></member>
             <member optional="true"><type>uint32_t</type>         
<name>deviceIndexCount</name></member>
             <member len="deviceIndexCount">const <type>uint32_t</type>*  
<name>pDeviceIndices</name></member>
         </type>
-        <type category="struct" 
name="VkDescriptorAccelerationStructureInfoNVX" 
structextends="VkWriteDescriptorSet">
-            <member 
values="VK_STRUCTURE_TYPE_DESCRIPTOR_ACCELERATION_STRUCTURE_INFO_NVX"><type>VkStructureType</type>
 <name>sType</name></member>
+        <type category="struct" 
name="VkWriteDescriptorSetAccelerationStructureNV" 
structextends="VkWriteDescriptorSet">
+            <member 
values="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV"><type>VkStructureType</type>
 <name>sType</name></member>
             <member>const <type>void</type>*                      
<name>pNext</name></member>
             <member><type>uint32_t</type>                         
<name>accelerationStructureCount</name></member>
-            <member len="accelerationStructureCount">const 
<type>VkAccelerationStructureNVX</type>* 
<name>pAccelerationStructures</name></member>
+            <member len="accelerationStructureCount">const 
<type>VkAccelerationStructureNV</type>* 
<name>pAccelerationStructures</name></member>
         </type>
-        <type category="struct" 
name="VkAccelerationStructureMemoryRequirementsInfoNVX">
-            <member 
values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NVX"><type>VkStructureType</type>
 <name>sType</name></member>
+        <type category="struct" 
name="VkAccelerationStructureMemoryRequirementsInfoNV">
+            <member 
values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV"><type>VkStructureType</type>
 <name>sType</name></member>
             <member>const <type>void</type>*                                   
                       <name>pNext</name></member>
-            <member><type>VkAccelerationStructureNVX</type>                    
                        <name>accelerationStructure</name></member>
+            
<member><type>VkAccelerationStructureMemoryRequirementsTypeNV</type>            
          <name>type</name></member>
+            <member><type>VkAccelerationStructureNV</type>                     
                       <name>accelerationStructure</name></member>
         </type>
-        <type category="struct" name="VkPhysicalDeviceRaytracingPropertiesNVX" 
structextends="VkPhysicalDeviceProperties2">
-            <member 
values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAYTRACING_PROPERTIES_NVX"><type>VkStructureType</type>
 <name>sType</name></member>
+        <type category="struct" name="VkPhysicalDeviceRayTracingPropertiesNV" 
structextends="VkPhysicalDeviceProperties2">
+            <member 
values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"><type>VkStructureType</type>
 <name>sType</name></member>
             <member><type>void</type>*                            
<name>pNext</name></member>
-            <member><type>uint32_t</type>                         
<name>shaderHeaderSize</name></member>
+            <member><type>uint32_t</type>                         
<name>shaderGroupHandleSize</name></member>
             <member><type>uint32_t</type>                         
<name>maxRecursionDepth</name></member>
-            <member><type>uint32_t</type>                         
<name>maxGeometryCount</name></member>
+            <member><type>uint32_t</type>                         
<name>maxShaderGroupStride</name></member>
+            <member><type>uint32_t</type>                         
<name>shaderGroupBaseAlignment</name></member>
+            <member><type>uint64_t</type>                         
<name>maxGeometryCount</name></member>
+            <member><type>uint64_t</type>                         
<name>maxInstanceCount</name></member>
+            <member><type>uint64_t</type>                         
<name>maxTriangleCount</name></member>
+            <member><type>uint32_t</type>                         
<name>maxDescriptorSetAccelerationStructures</name></member>
         </type>
         <type category="struct" name="VkDrmFormatModifierPropertiesListEXT" 
structextends="VkFormatProperties2">
             <member 
values="VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT"><type>VkStructureType</type>
 <name>sType</name></member>
@@ -3575,6 +3585,11 @@ server.
             <member><type>void</type>* <name>pNext</name></member>
             <member><type>uint64_t</type> 
<name>drmFormatModifier</name></member>
         </type>
+        <type category="struct" 
name="VkDeviceMemoryOverallocationCreateInfoAMD"  
structextends="VkDeviceCreateInfo">
+            <member 
values="VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD"><type>VkStructureType</type>
 <name>sType</name></member>
+            <member>const <type>void</type>*                      
<name>pNext</name></member>
+            <member><type>VkMemoryOverallocationBehaviorAMD</type> 
<name>overallocationBehavior</name></member>
+        </type>
     </types>
 
     <comment>Vulkan enumerant (token) definitions</comment>
@@ -3604,6 +3619,7 @@ server.
         <enum               name="VK_MAX_DEVICE_GROUP_SIZE_KHR" 
alias="VK_MAX_DEVICE_GROUP_SIZE"/>
         <enum value="256"   name="VK_MAX_DRIVER_NAME_SIZE_KHR"/>
         <enum value="256"   name="VK_MAX_DRIVER_INFO_SIZE_KHR"/>
+        <enum value="(~0U)" name="VK_SHADER_UNUSED_NV"/>
     </enums>
 
     <comment>
@@ -4706,36 +4722,50 @@ server.
         <enum value="2" name="VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV"/>
         <enum value="3" name="VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV"/>
     </enums>
-    <enums name="VkGeometryInstanceFlagBitsNVX" type="bitmask">
-        <enum bitpos="0" 
name="VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NVX"/>
-        <enum bitpos="1" 
name="VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_FLIP_WINDING_BIT_NVX"/>
-        <enum bitpos="2" name="VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NVX"/>
-        <enum bitpos="3" name="VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NVX"/>
-    </enums>
-    <enums name="VkGeometryFlagBitsNVX" type="bitmask">
-        <enum bitpos="0" name="VK_GEOMETRY_OPAQUE_BIT_NVX"/>
-        <enum bitpos="1" 
name="VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NVX"/>
-    </enums>
-    <enums name="VkBuildAccelerationStructureFlagBitsNVX" type="bitmask">
-        <enum bitpos="0" 
name="VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NVX"/>
-        <enum bitpos="1" 
name="VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NVX"/>
-        <enum bitpos="2" 
name="VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NVX"/>
-        <enum bitpos="3" 
name="VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NVX"/>
-        <enum bitpos="4" 
name="VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NVX"/>
-    </enums>
-    <enums name="VkCopyAccelerationStructureModeNVX" type="enum">
-        <enum value="0" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NVX"/>
-        <enum value="1" 
name="VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NVX"/>
+    <enums name="VkGeometryInstanceFlagBitsNV" type="bitmask">
+        <enum bitpos="0" 
name="VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV"/>
+        <enum bitpos="1" 
name="VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV"/>
+        <enum bitpos="2" name="VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV"/>
+        <enum bitpos="3" name="VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV"/>
+    </enums>
+    <enums name="VkGeometryFlagBitsNV" type="bitmask">
+        <enum bitpos="0" name="VK_GEOMETRY_OPAQUE_BIT_NV"/>
+        <enum bitpos="1" 
name="VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV"/>
+    </enums>
+    <enums name="VkBuildAccelerationStructureFlagBitsNV" type="bitmask">
+        <enum bitpos="0" 
name="VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV"/>
+        <enum bitpos="1" 
name="VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV"/>
+        <enum bitpos="2" 
name="VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV"/>
+        <enum bitpos="3" 
name="VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV"/>
+        <enum bitpos="4" 
name="VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV"/>
+    </enums>
+    <enums name="VkCopyAccelerationStructureModeNV" type="enum">
+        <enum value="0" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV"/>
+        <enum value="1" name="VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV"/>
+    </enums>
+    <enums name="VkAccelerationStructureTypeNV" type="enum">
+        <enum value="0" name="VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV"/>
+        <enum value="1" name="VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV"/>
+    </enums>
+    <enums name="VkGeometryTypeNV" type="enum">
+        <enum value="0" name="VK_GEOMETRY_TYPE_TRIANGLES_NV"/>
+        <enum value="1" name="VK_GEOMETRY_TYPE_AABBS_NV"/>
+    </enums>
+    <enums name="VkAccelerationStructureMemoryRequirementsTypeNV" type="enum">
+        <enum value="0" 
name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV"/>
+        <enum value="1" 
name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV"/>
+        <enum value="2" 
name="VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV"/>
+    </enums>
+    <enums name="VkRayTracingShaderGroupTypeNV" type="enum">
+        <enum value="0" name="VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV"/>
+        <enum value="1" 
name="VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV"/>
+        <enum value="2" 
name="VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV"/>
+    </enums>
+    <enums name="VkMemoryOverallocationBehaviorAMD" type="enum">
+        <enum value="0"     
name="VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD"/>
+        <enum value="1"     
name="VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD"/>
+        <enum value="2"     
name="VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD"/>
     </enums>
-    <enums name="VkAccelerationStructureTypeNVX" type="enum">
-        <enum value="0" name="VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NVX"/>
-        <enum value="1" 
name="VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NVX"/>
-    </enums>
-    <enums name="VkGeometryTypeNVX" type="enum">
-        <enum value="0" name="VK_GEOMETRY_TYPE_TRIANGLES_NVX"/>
-        <enum value="1" name="VK_GEOMETRY_TYPE_AABBS_NVX"/>
-    </enums>
-
     <commands comment="Vulkan command definitions">
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_LAYER_NOT_PRESENT,VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INCOMPATIBLE_DRIVER">
             <proto><type>VkResult</type> <name>vkCreateInstance</name></proto>
@@ -5759,19 +5789,6 @@ server.
             <param optional="true">const <type>VkAllocationCallbacks</type>* 
<name>pAllocator</name></param>
             <param len="swapchainCount"><type>VkSwapchainKHR</type>* 
<name>pSwapchains</name></param>
         </command>
-        <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
-            <proto><type>VkResult</type> 
<name>vkCreateMirSurfaceKHR</name></proto>
-            <param><type>VkInstance</type> <name>instance</name></param>
-            <param>const <type>VkMirSurfaceCreateInfoKHR</type>* 
<name>pCreateInfo</name></param>
-            <param optional="true">const <type>VkAllocationCallbacks</type>* 
<name>pAllocator</name></param>
-            <param><type>VkSurfaceKHR</type>* <name>pSurface</name></param>
-        </command>
-        <command>
-            <proto><type>VkBool32</type> 
<name>vkGetPhysicalDeviceMirPresentationSupportKHR</name></proto>
-            <param><type>VkPhysicalDevice</type> 
<name>physicalDevice</name></param>
-            <param><type>uint32_t</type> <name>queueFamilyIndex</name></param>
-            <param><type>MirConnection</type>* <name>connection</name></param>
-        </command>
         <command>
             <proto><type>void</type> <name>vkDestroySurfaceKHR</name></proto>
             <param><type>VkInstance</type> <name>instance</name></param>
@@ -6825,89 +6842,84 @@ server.
             <param><type>uint32_t</type> <name>stride</name></param>
         </command>
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
-            <proto><type>VkResult</type> 
<name>vkCompileDeferredNVX</name></proto>
+            <proto><type>VkResult</type> 
<name>vkCompileDeferredNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkPipeline</type> <name>pipeline</name></param>
             <param><type>uint32_t</type> <name>shader</name></param>
         </command>
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
-            <proto><type>VkResult</type> 
<name>vkCreateAccelerationStructureNVX</name></proto>
+            <proto><type>VkResult</type> 
<name>vkCreateAccelerationStructureNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param>const <type>VkAccelerationStructureCreateInfoNVX</type>* 
<name>pCreateInfo</name></param>
+            <param>const <type>VkAccelerationStructureCreateInfoNV</type>* 
<name>pCreateInfo</name></param>
             <param optional="true">const <type>VkAllocationCallbacks</type>* 
<name>pAllocator</name></param>
-            <param><type>VkAccelerationStructureNVX</type>* 
<name>pAccelerationStructure</name></param>
+            <param><type>VkAccelerationStructureNV</type>* 
<name>pAccelerationStructure</name></param>
         </command>
         <command>
-            <proto><type>void</type> 
<name>vkDestroyAccelerationStructureNVX</name></proto>
+            <proto><type>void</type> 
<name>vkDestroyAccelerationStructureNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param><type>VkAccelerationStructureNVX</type> 
<name>accelerationStructure</name></param>
+            <param><type>VkAccelerationStructureNV</type> 
<name>accelerationStructure</name></param>
             <param optional="true">const <type>VkAllocationCallbacks</type>* 
<name>pAllocator</name></param>
         </command>
         <command>
-            <proto><type>void</type> 
<name>vkGetAccelerationStructureMemoryRequirementsNVX</name></proto>
-            <param><type>VkDevice</type> <name>device</name></param>
-            <param>const 
<type>VkAccelerationStructureMemoryRequirementsInfoNVX</type>* 
<name>pInfo</name></param>
-            <param><type>VkMemoryRequirements2KHR</type>* 
<name>pMemoryRequirements</name></param>
-        </command>
-        <command>
-            <proto><type>void</type> 
<name>vkGetAccelerationStructureScratchMemoryRequirementsNVX</name></proto>
+            <proto><type>void</type> 
<name>vkGetAccelerationStructureMemoryRequirementsNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param>const 
<type>VkAccelerationStructureMemoryRequirementsInfoNVX</type>* 
<name>pInfo</name></param>
+            <param>const 
<type>VkAccelerationStructureMemoryRequirementsInfoNV</type>* 
<name>pInfo</name></param>
             <param><type>VkMemoryRequirements2KHR</type>* 
<name>pMemoryRequirements</name></param>
         </command>
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
-            <proto><type>VkResult</type> 
<name>vkBindAccelerationStructureMemoryNVX</name></proto>
+            <proto><type>VkResult</type> 
<name>vkBindAccelerationStructureMemoryNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>uint32_t</type> <name>bindInfoCount</name></param>
-            <param len="bindInfoCount">const 
<type>VkBindAccelerationStructureMemoryInfoNVX</type>* 
<name>pBindInfos</name></param>
+            <param len="bindInfoCount">const 
<type>VkBindAccelerationStructureMemoryInfoNV</type>* 
<name>pBindInfos</name></param>
         </command>
-        <command queues="graphics,compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
-            <proto><type>void</type> 
<name>vkCmdCopyAccelerationStructureNVX</name></proto>
+        <command queues="compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> 
<name>vkCmdCopyAccelerationStructureNV</name></proto>
             <param><type>VkCommandBuffer</type> 
<name>commandBuffer</name></param>
-            <param><type>VkAccelerationStructureNVX</type> 
<name>dst</name></param>
-            <param><type>VkAccelerationStructureNVX</type> 
<name>src</name></param>
-            <param><type>VkCopyAccelerationStructureModeNVX</type> 
<name>mode</name></param>
+            <param><type>VkAccelerationStructureNV</type> 
<name>dst</name></param>
+            <param><type>VkAccelerationStructureNV</type> 
<name>src</name></param>
+            <param><type>VkCopyAccelerationStructureModeNV</type> 
<name>mode</name></param>
         </command>
-        <command queues="graphics,compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
-            <proto><type>void</type> 
<name>vkCmdWriteAccelerationStructurePropertiesNVX</name></proto>
+        <command queues="compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> 
<name>vkCmdWriteAccelerationStructuresPropertiesNV</name></proto>
             <param><type>VkCommandBuffer</type> 
<name>commandBuffer</name></param>
-            <param><type>VkAccelerationStructureNVX</type> 
<name>accelerationStructure</name></param>
+            <param><type>uint32_t</type> 
<name>accelerationStructureCount</name></param>
+            <param len="accelerationStructureCount">const 
<type>VkAccelerationStructureNV</type>* 
<name>pAccelerationStructures</name></param>
             <param><type>VkQueryType</type> <name>queryType</name></param>
             <param><type>VkQueryPool</type> <name>queryPool</name></param>
-            <param><type>uint32_t</type> <name>query</name></param>
+            <param><type>uint32_t</type> <name>firstQuery</name></param>
         </command>
-        <command queues="graphics,compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
-            <proto><type>void</type> 
<name>vkCmdBuildAccelerationStructureNVX</name></proto>
+        <command queues="compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> 
<name>vkCmdBuildAccelerationStructureNV</name></proto>
             <param><type>VkCommandBuffer</type> 
<name>commandBuffer</name></param>
-            <param><type>VkAccelerationStructureTypeNVX</type> 
<name>type</name></param>
-            <param optional="true"><type>uint32_t</type> 
<name>instanceCount</name></param>
+            <param>const <type>VkAccelerationStructureInfoNV</type>* 
<name>pInfo</name></param>
             <param optional="true"><type>VkBuffer</type> 
<name>instanceData</name></param>
             <param><type>VkDeviceSize</type> 
<name>instanceOffset</name></param>
-            <param optional="true"><type>uint32_t</type> 
<name>geometryCount</name></param>
-            <param len="geometryCount">const <type>VkGeometryNVX</type>* 
<name>pGeometries</name></param>
-            <param 
optional="true"><type>VkBuildAccelerationStructureFlagsNVX</type> 
<name>flags</name></param>
             <param><type>VkBool32</type> <name>update</name></param>
-            <param><type>VkAccelerationStructureNVX</type> 
<name>dst</name></param>
-            <param optional="true"><type>VkAccelerationStructureNVX</type> 
<name>src</name></param>
+            <param><type>VkAccelerationStructureNV</type> 
<name>dst</name></param>
+            <param optional="true"><type>VkAccelerationStructureNV</type> 
<name>src</name></param>
             <param><type>VkBuffer</type> <name>scratch</name></param>
             <param><type>VkDeviceSize</type> <name>scratchOffset</name></param>
         </command>
-        <command queues="graphics,compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
-            <proto><type>void</type> <name>vkCmdTraceRaysNVX</name></proto>
+        <command queues="compute" renderpass="both" 
cmdbufferlevel="primary,secondary">
+            <proto><type>void</type> <name>vkCmdTraceRaysNV</name></proto>
             <param><type>VkCommandBuffer</type> 
<name>commandBuffer</name></param>
             <param><type>VkBuffer</type> 
<name>raygenShaderBindingTableBuffer</name></param>
             <param><type>VkDeviceSize</type> 
<name>raygenShaderBindingOffset</name></param>
-            <param><type>VkBuffer</type> 
<name>missShaderBindingTableBuffer</name></param>
+            <param optional="true"><type>VkBuffer</type> 
<name>missShaderBindingTableBuffer</name></param>
             <param><type>VkDeviceSize</type> 
<name>missShaderBindingOffset</name></param>
             <param><type>VkDeviceSize</type> 
<name>missShaderBindingStride</name></param>
-            <param><type>VkBuffer</type> 
<name>hitShaderBindingTableBuffer</name></param>
+            <param optional="true"><type>VkBuffer</type> 
<name>hitShaderBindingTableBuffer</name></param>
             <param><type>VkDeviceSize</type> 
<name>hitShaderBindingOffset</name></param>
             <param><type>VkDeviceSize</type> 
<name>hitShaderBindingStride</name></param>
+            <param optional="true"><type>VkBuffer</type> 
<name>callableShaderBindingTableBuffer</name></param>
+            <param><type>VkDeviceSize</type> 
<name>callableShaderBindingOffset</name></param>
+            <param><type>VkDeviceSize</type> 
<name>callableShaderBindingStride</name></param>
             <param><type>uint32_t</type> <name>width</name></param>
             <param><type>uint32_t</type> <name>height</name></param>
+            <param><type>uint32_t</type> <name>depth</name></param>
         </command>
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
-            <proto><type>VkResult</type> 
<name>vkGetRaytracingShaderHandlesNVX</name></proto>
+            <proto><type>VkResult</type> 
<name>vkGetRayTracingShaderGroupHandlesNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkPipeline</type> <name>pipeline</name></param>
             <param><type>uint32_t</type> <name>firstGroup</name></param>
@@ -6916,18 +6928,18 @@ server.
             <param len="dataSize"><type>void</type>* <name>pData</name></param>
         </command>
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
-            <proto><type>VkResult</type> 
<name>vkGetAccelerationStructureHandleNVX</name></proto>
+            <proto><type>VkResult</type> 
<name>vkGetAccelerationStructureHandleNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
-            <param><type>VkAccelerationStructureNVX</type> 
<name>accelerationStructure</name></param>
+            <param><type>VkAccelerationStructureNV</type> 
<name>accelerationStructure</name></param>
             <param><type>size_t</type> <name>dataSize</name></param>
             <param len="dataSize"><type>void</type>* <name>pData</name></param>
         </command>
         <command successcodes="VK_SUCCESS" 
errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_SHADER_NV">
-            <proto><type>VkResult</type> 
<name>vkCreateRaytracingPipelinesNVX</name></proto>
+            <proto><type>VkResult</type> 
<name>vkCreateRayTracingPipelinesNV</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param optional="true"><type>VkPipelineCache</type> 
<name>pipelineCache</name></param>
             <param><type>uint32_t</type> <name>createInfoCount</name></param>
-            <param len="createInfoCount">const 
<type>VkRaytracingPipelineCreateInfoNVX</type>* 
<name>pCreateInfos</name></param>
+            <param len="createInfoCount">const 
<type>VkRayTracingPipelineCreateInfoNV</type>* <name>pCreateInfos</name></param>
             <param optional="true">const <type>VkAllocationCallbacks</type>* 
<name>pAllocator</name></param>
             <param len="createInfoCount"><type>VkPipeline</type>* 
<name>pPipelines</name></param>
         </command>
@@ -7619,15 +7631,11 @@ server.
                 <command 
name="vkGetPhysicalDeviceWaylandPresentationSupportKHR"/>
             </require>
         </extension>
-        <extension name="VK_KHR_mir_surface" number="8" type="instance" 
requires="VK_KHR_surface" platform="mir" author="KHR" contact="Jesse Hall 
@critsec,Ian Elliott @ianelliottus" obsoletedby="" supported="vulkan">
+        <!-- Extension permanently disabled.  Extension number should not be 
re-used -->
+        <extension name="VK_KHR_mir_surface" number="8" type="instance" 
requires="VK_KHR_surface" author="KHR" supported="disabled">
             <require>
                 <enum value="4"                                                
 name="VK_KHR_MIR_SURFACE_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_mir_surface&quot;"                   
 name="VK_KHR_MIR_SURFACE_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkStructureType"                     
 name="VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR"/>
-                <type name="VkMirSurfaceCreateFlagsKHR"/>
-                <type name="VkMirSurfaceCreateInfoKHR"/>
-                <command name="vkCreateMirSurfaceKHR"/>
-                <command name="vkGetPhysicalDeviceMirPresentationSupportKHR"/>
             </require>
         </extension>
         <extension name="VK_KHR_android_surface" number="9" type="instance" 
requires="VK_KHR_surface" platform="android" author="KHR" contact="Jesse Hall 
@critsec" supported="vulkan">
@@ -9470,70 +9478,76 @@ server.
                 <command name="vkCmdSetCoarseSampleOrderNV"/>
             </require>
         </extension>
-        <extension name="VK_NVX_raytracing" number="166" type="device" 
requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_memory_requirements2"
 author="NVX" contact="Eric Werness @ewerness" supported="vulkan">
-            <require>
-                <enum value="1"                                          
name="VK_NVX_RAYTRACING_SPEC_VERSION"/>
-                <enum value="&quot;VK_NVX_raytracing&quot;"               
name="VK_NVX_RAYTRACING_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_RAYTRACING_PIPELINE_CREATE_INFO_NVX"/>
-                <enum offset="1" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NVX"/>
-                <enum offset="2" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_INSTANCE_NVX"/>
-                <enum offset="3" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_NVX"/>
-                <enum offset="4" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NVX"/>
-                <enum offset="5" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_AABB_NVX"/>
-                <enum offset="6" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NVX"/>
-                <enum offset="7" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_DESCRIPTOR_ACCELERATION_STRUCTURE_INFO_NVX"/>
-                <enum offset="8" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NVX"/>
-                <enum offset="9" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAYTRACING_PROPERTIES_NVX"/>
-                <enum offset="10" extends="VkStructureType"              
name="VK_STRUCTURE_TYPE_HIT_SHADER_MODULE_CREATE_INFO_NVX"/>
-                <enum bitpos="8" extends="VkShaderStageFlagBits"         
name="VK_SHADER_STAGE_RAYGEN_BIT_NVX"/>
-                <enum bitpos="9" extends="VkShaderStageFlagBits"         
name="VK_SHADER_STAGE_ANY_HIT_BIT_NVX"/>
-                <enum bitpos="10" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_CLOSEST_HIT_BIT_NVX"/>
-                <enum bitpos="11" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_MISS_BIT_NVX"/>
-                <enum bitpos="12" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_INTERSECTION_BIT_NVX"/>
-                <enum bitpos="13" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_CALLABLE_BIT_NVX"/>
-                <enum bitpos="21" extends="VkPipelineStageFlagBits"      
name="VK_PIPELINE_STAGE_RAYTRACING_BIT_NVX"/>
-                <enum bitpos="10" extends="VkBufferUsageFlagBits"        
name="VK_BUFFER_USAGE_RAYTRACING_BIT_NVX"/>
-                <enum offset="0" extends="VkPipelineBindPoint"           
name="VK_PIPELINE_BIND_POINT_RAYTRACING_NVX"/>
-                <enum offset="0" extends="VkDescriptorType"              
name="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NVX"/>
-                <enum bitpos="21" extends="VkAccessFlagBits"             
name="VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NVX"/>
-                <enum bitpos="22" extends="VkAccessFlagBits"             
name="VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NVX"/>
-                <enum offset="0" extends="VkQueryType"                   
name="VK_QUERY_TYPE_COMPACTED_SIZE_NVX"/>
-                <enum bitpos="5" extends="VkPipelineCreateFlagBits"      
name="VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NVX"/>
-                <enum offset="0" extends="VkObjectType"                  
name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NVX"/>
-                <enum offset="0" extends="VkDebugReportObjectTypeEXT"    
name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NVX_EXT"/>
-                <type name="VkRaytracingPipelineCreateInfoNVX"/>
-                <type name="VkGeometryTrianglesNVX"/>
-                <type name="VkGeometryAABBNVX"/>
-                <type name="VkGeometryDataNVX"/>
-                <type name="VkGeometryNVX"/>
-                <type name="VkGeometryFlagsNVX"/>
-                <type name="VkGeometryInstanceFlagsNVX"/>
-                <type name="VkGeometryFlagBitsNVX"/>
-                <type name="VkGeometryInstanceFlagBitsNVX"/>
-                <type name="VkAccelerationStructureCreateInfoNVX"/>
-                <type name="VkAccelerationStructureNVX"/>
-                <type name="VkBuildAccelerationStructureFlagBitsNVX"/>
-                <type name="VkBuildAccelerationStructureFlagsNVX"/>
-                <type name="VkCopyAccelerationStructureModeNVX"/>
-                <type name="VkGeometryTypeNVX"/>
-                <type name="VkBindAccelerationStructureMemoryInfoNVX"/>
-                <type name="VkDescriptorAccelerationStructureInfoNVX"/>
-                <type name="VkAccelerationStructureMemoryRequirementsInfoNVX"/>
-                <type name="VkPhysicalDeviceRaytracingPropertiesNVX"/>
+        <extension name="VK_NV_ray_tracing" number="166" type="device" 
requires="VK_KHR_get_physical_device_properties2,VK_KHR_get_memory_requirements2"
 author="NV" contact="Eric Werness @ewerness" supported="vulkan">
+            <require>
+                <enum value="2"                                          
name="VK_NV_RAY_TRACING_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_ray_tracing&quot;"              
name="VK_NV_RAY_TRACING_EXTENSION_NAME"/>
+                <enum                                                    
name="VK_SHADER_UNUSED_NV"/>
+                <enum offset="0" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV"/>
+                <enum offset="1" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV"/>
+                <enum offset="3" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_NV"/>
+                <enum offset="4" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV"/>
+                <enum offset="5" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV"/>
+                <enum offset="6" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV"/>
+                <enum offset="7" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV"/>
+                <enum offset="8" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV"/>
+                <enum offset="9" extends="VkStructureType"               
name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"/>
+                <enum offset="11" extends="VkStructureType"              
name="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"/>
+                <enum offset="12" extends="VkStructureType"              
name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV"/>
+                <enum bitpos="8" extends="VkShaderStageFlagBits"         
name="VK_SHADER_STAGE_RAYGEN_BIT_NV"/>
+                <enum bitpos="9" extends="VkShaderStageFlagBits"         
name="VK_SHADER_STAGE_ANY_HIT_BIT_NV"/>
+                <enum bitpos="10" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV"/>
+                <enum bitpos="11" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_MISS_BIT_NV"/>
+                <enum bitpos="12" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_INTERSECTION_BIT_NV"/>
+                <enum bitpos="13" extends="VkShaderStageFlagBits"        
name="VK_SHADER_STAGE_CALLABLE_BIT_NV"/>
+                <enum bitpos="21" extends="VkPipelineStageFlagBits"      
name="VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV"/>
+                <enum bitpos="25" extends="VkPipelineStageFlagBits"      
name="VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV"/>
+                <enum bitpos="10" extends="VkBufferUsageFlagBits"        
name="VK_BUFFER_USAGE_RAY_TRACING_BIT_NV"/>
+                <enum offset="0" extends="VkPipelineBindPoint"           
name="VK_PIPELINE_BIND_POINT_RAY_TRACING_NV"/>
+                <enum offset="0" extends="VkDescriptorType"              
name="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"/>
+                <enum bitpos="21" extends="VkAccessFlagBits"             
name="VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV"/>
+                <enum bitpos="22" extends="VkAccessFlagBits"             
name="VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV"/>
+                <enum offset="0" extends="VkQueryType"                   
name="VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV"/>
+                <enum bitpos="5" extends="VkPipelineCreateFlagBits"      
name="VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"/>
+                <enum offset="0" extends="VkObjectType"                  
name="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"/>
+                <enum offset="0" extends="VkDebugReportObjectTypeEXT"    
name="VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT"/>
+                <enum offset="0" extends="VkIndexType"                   
name="VK_INDEX_TYPE_NONE_NV"/>
+                <type name="VkRayTracingShaderGroupCreateInfoNV"/>
+                <type name="VkRayTracingShaderGroupTypeNV"/>
+                <type name="VkRayTracingPipelineCreateInfoNV"/>
+                <type name="VkGeometryTrianglesNV"/>
+                <type name="VkGeometryAABBNV"/>
+                <type name="VkGeometryDataNV"/>
+                <type name="VkGeometryNV"/>
+                <type name="VkGeometryFlagsNV"/>
+                <type name="VkGeometryInstanceFlagsNV"/>
+                <type name="VkGeometryFlagBitsNV"/>
+                <type name="VkGeometryInstanceFlagBitsNV"/>
+                <type name="VkAccelerationStructureInfoNV"/>
+                <type name="VkAccelerationStructureCreateInfoNV"/>
+                <type name="VkAccelerationStructureNV"/>
+                <type name="VkBuildAccelerationStructureFlagBitsNV"/>
+                <type name="VkBuildAccelerationStructureFlagsNV"/>
+                <type name="VkCopyAccelerationStructureModeNV"/>
+                <type name="VkGeometryTypeNV"/>
+                <type name="VkBindAccelerationStructureMemoryInfoNV"/>
+                <type name="VkWriteDescriptorSetAccelerationStructureNV"/>
+                <type name="VkAccelerationStructureMemoryRequirementsInfoNV"/>
+                <type name="VkPhysicalDeviceRayTracingPropertiesNV"/>
                 <type name="VkMemoryRequirements2KHR"/>
-                <command name="vkCreateAccelerationStructureNVX"/>
-                <command name="vkDestroyAccelerationStructureNVX"/>
-                <command 
name="vkGetAccelerationStructureMemoryRequirementsNVX"/>
-                <command 
name="vkGetAccelerationStructureScratchMemoryRequirementsNVX"/>
-                <command name="vkBindAccelerationStructureMemoryNVX"/>
-                <command name="vkCmdBuildAccelerationStructureNVX"/>
-                <command name="vkCmdCopyAccelerationStructureNVX"/>
-                <command name="vkCmdTraceRaysNVX"/>
-                <command name="vkCreateRaytracingPipelinesNVX"/>
-                <command name="vkGetRaytracingShaderHandlesNVX"/>
-                <command name="vkGetAccelerationStructureHandleNVX"/>
-                <command name="vkCmdWriteAccelerationStructurePropertiesNVX"/>
-                <command name="vkCompileDeferredNVX"/>
+                <type name="VkAccelerationStructureMemoryRequirementsTypeNV"/>
+                <command name="vkCreateAccelerationStructureNV"/>
+                <command name="vkDestroyAccelerationStructureNV"/>
+                <command 
name="vkGetAccelerationStructureMemoryRequirementsNV"/>
+                <command name="vkBindAccelerationStructureMemoryNV"/>
+                <command name="vkCmdBuildAccelerationStructureNV"/>
+                <command name="vkCmdCopyAccelerationStructureNV"/>
+                <command name="vkCmdTraceRaysNV"/>
+                <command name="vkCreateRayTracingPipelinesNV"/>
+                <command name="vkGetRayTracingShaderGroupHandlesNV"/>
+                <command name="vkGetAccelerationStructureHandleNV"/>
+                <command name="vkCmdWriteAccelerationStructuresPropertiesNV"/>
+                <command name="vkCompileDeferredNV"/>
             </require>
         </extension>
         <extension name="VK_NV_representative_fragment_test" number="167" 
type="device" author="NV" contact="Kedarnath Thangudu @kthangudu" 
supported="vulkan">
@@ -9712,10 +9726,13 @@ server.
                 <enum value="&quot;VK_AMD_extension_189&quot;"              
name="VK_KHR_EXTENSION_189_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_AMD_extension_190" number="190" author="AMD" 
contact="Daniel Rakos @drakos-amd" supported="disabled">
+        <extension name="VK_AMD_memory_overallocation_behavior" number="190" 
type="device" author="AMD" contact="Martin Dinkov @mdinkov" supported="vulkan">
             <require>
-                <enum value="0"                                             
name="VK_KHR_EXTENSION_190_SPEC_VERSION"/>
-                <enum value="&quot;VK_AMD_extension_190&quot;"              
name="VK_KHR_EXTENSION_190_EXTENSION_NAME"/>
+                <enum value="1"                                             
name="VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION"/>
+                <enum 
value="&quot;VK_AMD_memory_overallocation_behavior&quot;"    
name="VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"                  
name="VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD"/>
+                <type name="VkMemoryOverallocationBehaviorAMD"/>
+                <type name="VkDeviceMemoryOverallocationCreateInfoAMD"/>
             </require>
         </extension>
         <extension name="VK_EXT_vertex_attribute_divisor" number="191" 
type="device" requires="VK_KHR_get_physical_device_properties2" author="NV" 
contact="Vikram Kushwaha @vkushwaha" supported="vulkan">
@@ -10100,5 +10117,11 @@ server.
                 <enum value="&quot;VK_MESA_extension_244&quot;"              
name="VK_MESA_EXTENSION_244_EXTENSION_NAME"/>
             </require>
         </extension>
+        <extension name="VK_NV_extension_245" number="245" author="NV" 
contact="Jeff Bolz @jeffbolznv" supported="disabled">
+            <require>
+                <enum value="0"                                             
name="VK_NV_EXTENSION_245_SPEC_VERSION"/>
+                <enum value="&quot;VK_NV_extension_245&quot;"               
name="VK_NV_EXTENSION_245_EXTENSION_NAME"/>
+            </require>
+        </extension>
     </extensions>
 </registry>
-- 
2.19.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to