[Mesa-dev] [PATCH] vulkan: Update the XML and headers to 1.1.90
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Nov 6 17:55:13 UTC 2018
Acked-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
On 11/6/18 4:50 PM, Jason Ekstrand wrote:
> 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=""VK_KHR_mir_surface"" 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=""VK_NVX_raytracing"" 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=""VK_NV_ray_tracing"" 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=""VK_AMD_extension_189"" 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=""VK_AMD_extension_190"" name="VK_KHR_EXTENSION_190_EXTENSION_NAME"/>
> + <enum value="1" name="VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION"/>
> + <enum value=""VK_AMD_memory_overallocation_behavior"" 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=""VK_MESA_extension_244"" 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=""VK_NV_extension_245"" name="VK_NV_EXTENSION_245_EXTENSION_NAME"/>
> + </require>
> + </extension>
> </extensions>
> </registry>
>
More information about the mesa-dev
mailing list