Merge changes I5eaceebc,I4d78c011,I7d01a3c8

* changes:
  Update Marl to 38c0c7a0f
  Squashed 'third_party/marl/' changes from 3c643dd4c..38c0c7a0f
  Fix LLVM_VERSION_MAJOR for LLVM 10 on macOS
diff --git a/include/vulkan/vk_platform.h b/include/vulkan/vk_platform.h
index 8e21a17..add1d7e 100644
--- a/include/vulkan/vk_platform.h
+++ b/include/vulkan/vk_platform.h
@@ -2,7 +2,7 @@
 // File: vk_platform.h

 //

 /*

-** Copyright (c) 2014-2017 The Khronos Group Inc.

+** Copyright (c) 2014-2020 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.

diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index a468393..c07dcd1 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -2,7 +2,7 @@
 #define VULKAN_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

@@ -84,4 +84,9 @@
 #include "vulkan_ggp.h"

 #endif

 

+

+#ifdef VK_ENABLE_BETA_EXTENSIONS

+#include "vulkan_beta.h"

+#endif

+

 #endif // VULKAN_H_

diff --git a/include/vulkan/vulkan_android.h b/include/vulkan/vulkan_android.h
index ef55c96..002556b 100644
--- a/include/vulkan/vulkan_android.h
+++ b/include/vulkan/vulkan_android.h
@@ -2,7 +2,7 @@
 #define VULKAN_ANDROID_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h
new file mode 100644
index 0000000..7380e39
--- /dev/null
+++ b/include/vulkan/vulkan_beta.h
@@ -0,0 +1,438 @@
+#ifndef VULKAN_BETA_H_
+#define VULKAN_BETA_H_ 1
+
+/*
+** Copyright (c) 2015-2020 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.
+**
+*/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define VK_KHR_deferred_host_operations 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 2
+#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
+typedef struct VkDeferredOperationInfoKHR {
+    VkStructureType           sType;
+    const void*               pNext;
+    VkDeferredOperationKHR    operationHandle;
+} VkDeferredOperationInfoKHR;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
+typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
+typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
+typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
+typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
+    VkDevice                                    device,
+    const VkAllocationCallbacks*                pAllocator,
+    VkDeferredOperationKHR*                     pDeferredOperation);
+
+VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation,
+    const VkAllocationCallbacks*                pAllocator);
+
+VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      operation);
+#endif
+
+
+#define VK_KHR_pipeline_library 1
+#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
+#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
+typedef struct VkPipelineLibraryCreateInfoKHR {
+    VkStructureType      sType;
+    const void*          pNext;
+    uint32_t             libraryCount;
+    const VkPipeline*    pLibraries;
+} VkPipelineLibraryCreateInfoKHR;
+
+
+
+#define VK_KHR_ray_tracing 1
+#define VK_KHR_RAY_TRACING_SPEC_VERSION   8
+#define VK_KHR_RAY_TRACING_EXTENSION_NAME "VK_KHR_ray_tracing"
+
+typedef enum VkAccelerationStructureBuildTypeKHR {
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkAccelerationStructureBuildTypeKHR;
+typedef union VkDeviceOrHostAddressKHR {
+    VkDeviceAddress    deviceAddress;
+    void*              hostAddress;
+} VkDeviceOrHostAddressKHR;
+
+typedef union VkDeviceOrHostAddressConstKHR {
+    VkDeviceAddress    deviceAddress;
+    const void*        hostAddress;
+} VkDeviceOrHostAddressConstKHR;
+
+typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
+    uint32_t    primitiveCount;
+    uint32_t    primitiveOffset;
+    uint32_t    firstVertex;
+    uint32_t    transformOffset;
+} VkAccelerationStructureBuildOffsetInfoKHR;
+
+typedef struct VkRayTracingShaderGroupCreateInfoKHR {
+    VkStructureType                   sType;
+    const void*                       pNext;
+    VkRayTracingShaderGroupTypeKHR    type;
+    uint32_t                          generalShader;
+    uint32_t                          closestHitShader;
+    uint32_t                          anyHitShader;
+    uint32_t                          intersectionShader;
+    const void*                       pShaderGroupCaptureReplayHandle;
+} VkRayTracingShaderGroupCreateInfoKHR;
+
+typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    uint32_t           maxPayloadSize;
+    uint32_t           maxAttributeSize;
+    uint32_t           maxCallableSize;
+} VkRayTracingPipelineInterfaceCreateInfoKHR;
+
+typedef struct VkRayTracingPipelineCreateInfoKHR {
+    VkStructureType                                      sType;
+    const void*                                          pNext;
+    VkPipelineCreateFlags                                flags;
+    uint32_t                                             stageCount;
+    const VkPipelineShaderStageCreateInfo*               pStages;
+    uint32_t                                             groupCount;
+    const VkRayTracingShaderGroupCreateInfoKHR*          pGroups;
+    uint32_t                                             maxRecursionDepth;
+    VkPipelineLibraryCreateInfoKHR                       libraries;
+    const VkRayTracingPipelineInterfaceCreateInfoKHR*    pLibraryInterface;
+    VkPipelineLayout                                     layout;
+    VkPipeline                                           basePipelineHandle;
+    int32_t                                              basePipelineIndex;
+} VkRayTracingPipelineCreateInfoKHR;
+
+typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkFormat                         vertexFormat;
+    VkDeviceOrHostAddressConstKHR    vertexData;
+    VkDeviceSize                     vertexStride;
+    VkIndexType                      indexType;
+    VkDeviceOrHostAddressConstKHR    indexData;
+    VkDeviceOrHostAddressConstKHR    transformData;
+} VkAccelerationStructureGeometryTrianglesDataKHR;
+
+typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkDeviceOrHostAddressConstKHR    data;
+    VkDeviceSize                     stride;
+} VkAccelerationStructureGeometryAabbsDataKHR;
+
+typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkBool32                         arrayOfPointers;
+    VkDeviceOrHostAddressConstKHR    data;
+} VkAccelerationStructureGeometryInstancesDataKHR;
+
+typedef union VkAccelerationStructureGeometryDataKHR {
+    VkAccelerationStructureGeometryTrianglesDataKHR    triangles;
+    VkAccelerationStructureGeometryAabbsDataKHR        aabbs;
+    VkAccelerationStructureGeometryInstancesDataKHR    instances;
+} VkAccelerationStructureGeometryDataKHR;
+
+typedef struct VkAccelerationStructureGeometryKHR {
+    VkStructureType                           sType;
+    const void*                               pNext;
+    VkGeometryTypeKHR                         geometryType;
+    VkAccelerationStructureGeometryDataKHR    geometry;
+    VkGeometryFlagsKHR                        flags;
+} VkAccelerationStructureGeometryKHR;
+
+typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
+    VkStructureType                                     sType;
+    const void*                                         pNext;
+    VkAccelerationStructureTypeKHR                      type;
+    VkBuildAccelerationStructureFlagsKHR                flags;
+    VkBool32                                            update;
+    VkAccelerationStructureKHR                          srcAccelerationStructure;
+    VkAccelerationStructureKHR                          dstAccelerationStructure;
+    VkBool32                                            geometryArrayOfPointers;
+    uint32_t                                            geometryCount;
+    const VkAccelerationStructureGeometryKHR* const*    ppGeometries;
+    VkDeviceOrHostAddressKHR                            scratchData;
+} VkAccelerationStructureBuildGeometryInfoKHR;
+
+typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
+    VkStructureType      sType;
+    const void*          pNext;
+    VkGeometryTypeKHR    geometryType;
+    uint32_t             maxPrimitiveCount;
+    VkIndexType          indexType;
+    uint32_t             maxVertexCount;
+    VkFormat             vertexFormat;
+    VkBool32             allowsTransforms;
+} VkAccelerationStructureCreateGeometryTypeInfoKHR;
+
+typedef struct VkAccelerationStructureCreateInfoKHR {
+    VkStructureType                                            sType;
+    const void*                                                pNext;
+    VkDeviceSize                                               compactedSize;
+    VkAccelerationStructureTypeKHR                             type;
+    VkBuildAccelerationStructureFlagsKHR                       flags;
+    uint32_t                                                   maxGeometryCount;
+    const VkAccelerationStructureCreateGeometryTypeInfoKHR*    pGeometryInfos;
+    VkDeviceAddress                                            deviceAddress;
+} VkAccelerationStructureCreateInfoKHR;
+
+typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR {
+    VkStructureType                                     sType;
+    const void*                                         pNext;
+    VkAccelerationStructureMemoryRequirementsTypeKHR    type;
+    VkAccelerationStructureBuildTypeKHR                 buildType;
+    VkAccelerationStructureKHR                          accelerationStructure;
+} VkAccelerationStructureMemoryRequirementsInfoKHR;
+
+typedef struct VkPhysicalDeviceRayTracingFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           rayTracing;
+    VkBool32           rayTracingShaderGroupHandleCaptureReplay;
+    VkBool32           rayTracingShaderGroupHandleCaptureReplayMixed;
+    VkBool32           rayTracingAccelerationStructureCaptureReplay;
+    VkBool32           rayTracingIndirectTraceRays;
+    VkBool32           rayTracingIndirectAccelerationStructureBuild;
+    VkBool32           rayTracingHostAccelerationStructureCommands;
+    VkBool32           rayQuery;
+    VkBool32           rayTracingPrimitiveCulling;
+} VkPhysicalDeviceRayTracingFeaturesKHR;
+
+typedef struct VkPhysicalDeviceRayTracingPropertiesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    uint32_t           shaderGroupHandleSize;
+    uint32_t           maxRecursionDepth;
+    uint32_t           maxShaderGroupStride;
+    uint32_t           shaderGroupBaseAlignment;
+    uint64_t           maxGeometryCount;
+    uint64_t           maxInstanceCount;
+    uint64_t           maxPrimitiveCount;
+    uint32_t           maxDescriptorSetAccelerationStructures;
+    uint32_t           shaderGroupHandleCaptureReplaySize;
+} VkPhysicalDeviceRayTracingPropertiesKHR;
+
+typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
+    VkStructureType               sType;
+    const void*                   pNext;
+    VkAccelerationStructureKHR    accelerationStructure;
+} VkAccelerationStructureDeviceAddressInfoKHR;
+
+typedef struct VkAccelerationStructureVersionKHR {
+    VkStructureType    sType;
+    const void*        pNext;
+    const uint8_t*     versionData;
+} VkAccelerationStructureVersionKHR;
+
+typedef struct VkStridedBufferRegionKHR {
+    VkBuffer        buffer;
+    VkDeviceSize    offset;
+    VkDeviceSize    stride;
+    VkDeviceSize    size;
+} VkStridedBufferRegionKHR;
+
+typedef struct VkTraceRaysIndirectCommandKHR {
+    uint32_t    width;
+    uint32_t    height;
+    uint32_t    depth;
+} VkTraceRaysIndirectCommandKHR;
+
+typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkAccelerationStructureKHR            src;
+    VkDeviceOrHostAddressKHR              dst;
+    VkCopyAccelerationStructureModeKHR    mode;
+} VkCopyAccelerationStructureToMemoryInfoKHR;
+
+typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkDeviceOrHostAddressConstKHR         src;
+    VkAccelerationStructureKHR            dst;
+    VkCopyAccelerationStructureModeKHR    mode;
+} VkCopyMemoryToAccelerationStructureInfoKHR;
+
+typedef struct VkCopyAccelerationStructureInfoKHR {
+    VkStructureType                       sType;
+    const void*                           pNext;
+    VkAccelerationStructureKHR            src;
+    VkAccelerationStructureKHR            dst;
+    VkCopyAccelerationStructureModeKHR    mode;
+} VkCopyAccelerationStructureInfoKHR;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice                                           device, const VkAccelerationStructureCreateInfoKHR*        pCreateInfo, const VkAllocationCallbacks*       pAllocator, VkAccelerationStructureKHR*                        pAccelerationStructure);
+typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsKHR)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureKHR)(VkCommandBuffer                                    commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer                                    commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer                                           indirectBuffer, VkDeviceSize                                       indirectOffset, uint32_t                                           indirectStride);
+typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructureKHR)(VkDevice                                           device, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, const VkCopyAccelerationStructureInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType  queryType, size_t       dataSize, void* pData, size_t stride);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
+typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, VkBuffer buffer, VkDeviceSize offset);
+typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionKHR* version);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkAccelerationStructureKHR*                 pAccelerationStructure);
+
+VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo,
+    VkMemoryRequirements2*                      pMemoryRequirements);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureKHR(
+    VkCommandBuffer                             commandBuffer,
+    uint32_t                                    infoCount,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
+    const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureIndirectKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pInfo,
+    VkBuffer                                    indirectBuffer,
+    VkDeviceSize                                indirectOffset,
+    uint32_t                                    indirectStride);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructureKHR(
+    VkDevice                                    device,
+    uint32_t                                    infoCount,
+    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
+    const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
+    VkDevice                                    device,
+    const VkCopyAccelerationStructureInfoKHR*   pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
+    VkDevice                                    device,
+    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
+    VkDevice                                    device,
+    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
+    VkDevice                                    device,
+    uint32_t                                    accelerationStructureCount,
+    const VkAccelerationStructureKHR*           pAccelerationStructures,
+    VkQueryType                                 queryType,
+    size_t                                      dataSize,
+    void*                                       pData,
+    size_t                                      stride);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyAccelerationStructureInfoKHR*   pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkStridedBufferRegionKHR*             pRaygenShaderBindingTable,
+    const VkStridedBufferRegionKHR*             pMissShaderBindingTable,
+    const VkStridedBufferRegionKHR*             pHitShaderBindingTable,
+    const VkStridedBufferRegionKHR*             pCallableShaderBindingTable,
+    uint32_t                                    width,
+    uint32_t                                    height,
+    uint32_t                                    depth);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
+    VkDevice                                    device,
+    VkPipelineCache                             pipelineCache,
+    uint32_t                                    createInfoCount,
+    const VkRayTracingPipelineCreateInfoKHR*    pCreateInfos,
+    const VkAllocationCallbacks*                pAllocator,
+    VkPipeline*                                 pPipelines);
+
+VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
+    VkDevice                                    device,
+    VkPipeline                                  pipeline,
+    uint32_t                                    firstGroup,
+    uint32_t                                    groupCount,
+    size_t                                      dataSize,
+    void*                                       pData);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
+    VkCommandBuffer                             commandBuffer,
+    const VkStridedBufferRegionKHR*             pRaygenShaderBindingTable,
+    const VkStridedBufferRegionKHR*             pMissShaderBindingTable,
+    const VkStridedBufferRegionKHR*             pHitShaderBindingTable,
+    const VkStridedBufferRegionKHR*             pCallableShaderBindingTable,
+    VkBuffer                                    buffer,
+    VkDeviceSize                                offset);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
+    VkDevice                                    device,
+    const VkAccelerationStructureVersionKHR*    version);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index 2da9f2b..a34ad00 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -2,7 +2,7 @@
 #define VULKAN_CORE_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

@@ -44,7 +44,10 @@
 #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 128

+#define VK_HEADER_VERSION 141

+

+// Complete version of this file

+#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION)

 

 

 #define VK_NULL_HANDLE 0

@@ -108,9 +111,6 @@
 

 typedef enum VkPipelineCacheHeaderVersion {

     VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,

-    VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,

-    VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,

-    VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),

     VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF

 } VkPipelineCacheHeaderVersion;

 

@@ -133,8 +133,11 @@
     VK_ERROR_TOO_MANY_OBJECTS = -10,

     VK_ERROR_FORMAT_NOT_SUPPORTED = -11,

     VK_ERROR_FRAGMENTED_POOL = -12,

+    VK_ERROR_UNKNOWN = -13,

     VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,

     VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,

+    VK_ERROR_FRAGMENTATION = -1000161000,

+    VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,

     VK_ERROR_SURFACE_LOST_KHR = -1000000000,

     VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,

     VK_SUBOPTIMAL_KHR = 1000001003,

@@ -142,16 +145,21 @@
     VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,

     VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,

     VK_ERROR_INVALID_SHADER_NV = -1000012000,

+    VK_ERROR_INCOMPATIBLE_VERSION_KHR = -1000150000,

     VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,

-    VK_ERROR_FRAGMENTATION_EXT = -1000161000,

     VK_ERROR_NOT_PERMITTED_EXT = -1000174001,

-    VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000244000,

     VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,

+    VK_THREAD_IDLE_KHR = 1000268000,

+    VK_THREAD_DONE_KHR = 1000268001,

+    VK_OPERATION_DEFERRED_KHR = 1000268002,

+    VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,

+    VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,

     VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,

     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,

-    VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,

-    VK_RESULT_END_RANGE = VK_INCOMPLETE,

-    VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),

+    VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,

+    VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,

+    VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,

+    VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,

     VK_RESULT_MAX_ENUM = 0x7FFFFFFF

 } VkResult;

 

@@ -270,6 +278,56 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,

     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,

+    VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,

+    VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,

+    VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,

+    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,

+    VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,

+    VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,

+    VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,

+    VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,

+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,

+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,

+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,

+    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,

+    VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,

+    VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,

+    VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,

+    VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,

+    VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,

+    VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,

+    VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,

+    VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,

+    VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,

+    VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,

+    VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,

+    VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,

+    VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,

+    VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,

+    VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,

     VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,

     VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,

     VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,

@@ -298,6 +356,7 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,

     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,

     VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,

+    VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,

     VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,

     VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,

@@ -329,14 +388,7 @@
     VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,

     VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = 1000082000,

     VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,

-    VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,

-    VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,

-    VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,

-    VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,

-    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,

-    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,

     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,

     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,

     VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,

@@ -353,17 +405,6 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,

     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,

     VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = 1000108000,

-    VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = 1000108001,

-    VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = 1000108002,

-    VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = 1000108003,

-    VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = 1000109000,

-    VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = 1000109001,

-    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = 1000109002,

-    VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = 1000109003,

-    VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = 1000109004,

-    VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = 1000109005,

-    VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = 1000109006,

     VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,

     VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,

     VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,

@@ -398,8 +439,6 @@
     VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,

     VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,

     VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,

-    VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,

     VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,

@@ -409,11 +448,30 @@
     VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,

     VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,

-    VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,

     VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,

     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,

+    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR = 1000165006,

+    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000165007,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR = 1000150001,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_KHR = 1000150008,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_KHR = 1000150009,

+    VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,

+    VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,

+    VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_FEATURES_KHR = 1000150013,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_KHR = 1000150014,

+    VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,

+    VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,

+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,

+    VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,

     VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,

@@ -425,11 +483,6 @@
     VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,

     VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,

     VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,

-    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = 1000161000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = 1000161001,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = 1000161002,

-    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = 1000161003,

-    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004,

     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,

@@ -439,8 +492,6 @@
     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,

@@ -450,12 +501,9 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,

     VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,

     VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000,

     VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,

     VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,

     VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,

     VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,

@@ -466,10 +514,6 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,

     VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,

     VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000,

-    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = 1000199001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,

@@ -479,20 +523,13 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,

     VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,

     VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = 1000207000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = 1000207001,

-    VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = 1000207002,

-    VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = 1000207003,

-    VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = 1000207004,

-    VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,

-    VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000,

+    VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,

     VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,

     VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,

     VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,

     VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,

     VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,

     VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,

     VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,

@@ -501,7 +538,6 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,

     VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,

     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,

@@ -512,13 +548,9 @@
     VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,

     VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000,

-    VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001,

-    VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,

-    VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,

     VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,

-    VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,

     VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,

     VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,

@@ -528,7 +560,6 @@
     VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000,

     VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,

     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,

     VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,

@@ -536,8 +567,8 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,

     VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,

+    VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR = 1000268000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,

     VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,

     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,

@@ -545,8 +576,30 @@
     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,

     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,

+    VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,

+    VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,

+    VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,

+    VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,

+    VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,

+    VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,

+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,

+    VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,

+    VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,

+    VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,

+    VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,

+    VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,

+    VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,

     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,

@@ -582,10 +635,22 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,

     VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,

     VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,

     VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,

     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,

+    VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,

+    VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,

+    VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,

+    VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,

+    VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,

+    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,

+    VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,

+    VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,

+    VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,

+    VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,

     VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,

     VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,

@@ -593,15 +658,18 @@
     VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,

     VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,

     VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,

-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,

     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,

     VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,

+    VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,

     VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,

     VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,

     VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,

     VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,

     VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,

+    VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,

     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,

     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,

     VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,

@@ -610,12 +678,44 @@
     VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,

     VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,

     VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,

+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,

+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,

+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,

+    VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_KHR,

+    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,

     VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,

+    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,

+    VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,

+    VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,

+    VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,

+    VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,

+    VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,

+    VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,

+    VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,

     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,

-    VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,

-    VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,

-    VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),

+    VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,

+    VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,

+    VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,

+    VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,

+    VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,

+    VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,

+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,

     VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkStructureType;

 

@@ -625,17 +725,11 @@
     VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,

     VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,

     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,

-    VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,

-    VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,

-    VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),

     VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF

 } VkSystemAllocationScope;

 

 typedef enum VkInternalAllocationType {

     VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,

-    VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,

-    VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,

-    VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),

     VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkInternalAllocationType;

 

@@ -915,9 +1009,6 @@
     VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,

     VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,

     VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,

-    VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,

-    VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,

-    VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),

     VK_FORMAT_MAX_ENUM = 0x7FFFFFFF

 } VkFormat;

 

@@ -925,9 +1016,6 @@
     VK_IMAGE_TYPE_1D = 0,

     VK_IMAGE_TYPE_2D = 1,

     VK_IMAGE_TYPE_3D = 2,

-    VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,

-    VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,

-    VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),

     VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkImageType;

 

@@ -935,9 +1023,6 @@
     VK_IMAGE_TILING_OPTIMAL = 0,

     VK_IMAGE_TILING_LINEAR = 1,

     VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,

-    VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,

-    VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,

-    VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),

     VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF

 } VkImageTiling;

 

@@ -947,9 +1032,6 @@
     VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,

     VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,

     VK_PHYSICAL_DEVICE_TYPE_CPU = 4,

-    VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,

-    VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,

-    VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),

     VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkPhysicalDeviceType;

 

@@ -959,20 +1041,16 @@
     VK_QUERY_TYPE_TIMESTAMP = 2,

     VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,

     VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,

-    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,

+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000165000,

+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150000,

     VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,

-    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),

+    VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR,

     VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkQueryType;

 

 typedef enum VkSharingMode {

     VK_SHARING_MODE_EXCLUSIVE = 0,

     VK_SHARING_MODE_CONCURRENT = 1,

-    VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,

-    VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,

-    VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),

     VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF

 } VkSharingMode;

 

@@ -988,19 +1066,20 @@
     VK_IMAGE_LAYOUT_PREINITIALIZED = 8,

     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,

     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,

+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,

+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,

+    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,

+    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,

     VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,

     VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,

     VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,

     VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,

-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000,

-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001,

-    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002,

-    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003,

     VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,

     VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,

-    VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,

-    VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,

-    VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),

+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,

+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,

+    VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,

+    VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,

     VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF

 } VkImageLayout;

 

@@ -1012,9 +1091,6 @@
     VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,

     VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,

     VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,

-    VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,

-    VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,

-    VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),

     VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkImageViewType;

 

@@ -1026,18 +1102,12 @@
     VK_COMPONENT_SWIZZLE_G = 4,

     VK_COMPONENT_SWIZZLE_B = 5,

     VK_COMPONENT_SWIZZLE_A = 6,

-    VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,

-    VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,

-    VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),

     VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF

 } VkComponentSwizzle;

 

 typedef enum VkVertexInputRate {

     VK_VERTEX_INPUT_RATE_VERTEX = 0,

     VK_VERTEX_INPUT_RATE_INSTANCE = 1,

-    VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,

-    VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,

-    VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),

     VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF

 } VkVertexInputRate;

 

@@ -1053,9 +1123,6 @@
     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,

     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,

     VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,

-    VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,

-    VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,

-    VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),

     VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF

 } VkPrimitiveTopology;

 

@@ -1064,18 +1131,12 @@
     VK_POLYGON_MODE_LINE = 1,

     VK_POLYGON_MODE_POINT = 2,

     VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,

-    VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,

-    VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,

-    VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),

     VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF

 } VkPolygonMode;

 

 typedef enum VkFrontFace {

     VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,

     VK_FRONT_FACE_CLOCKWISE = 1,

-    VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,

-    VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,

-    VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),

     VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF

 } VkFrontFace;

 

@@ -1088,9 +1149,6 @@
     VK_COMPARE_OP_NOT_EQUAL = 5,

     VK_COMPARE_OP_GREATER_OR_EQUAL = 6,

     VK_COMPARE_OP_ALWAYS = 7,

-    VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,

-    VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,

-    VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),

     VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF

 } VkCompareOp;

 

@@ -1103,9 +1161,6 @@
     VK_STENCIL_OP_INVERT = 5,

     VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,

     VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,

-    VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,

-    VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,

-    VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),

     VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF

 } VkStencilOp;

 

@@ -1126,9 +1181,6 @@
     VK_LOGIC_OP_OR_INVERTED = 13,

     VK_LOGIC_OP_NAND = 14,

     VK_LOGIC_OP_SET = 15,

-    VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,

-    VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,

-    VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),

     VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF

 } VkLogicOp;

 

@@ -1152,9 +1204,6 @@
     VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,

     VK_BLEND_FACTOR_SRC1_ALPHA = 17,

     VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,

-    VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,

-    VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,

-    VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),

     VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF

 } VkBlendFactor;

 

@@ -1210,9 +1259,6 @@
     VK_BLEND_OP_RED_EXT = 1000148043,

     VK_BLEND_OP_GREEN_EXT = 1000148044,

     VK_BLEND_OP_BLUE_EXT = 1000148045,

-    VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,

-    VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,

-    VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),

     VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF

 } VkBlendOp;

 

@@ -1233,9 +1279,6 @@
     VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,

     VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,

     VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,

-    VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,

-    VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,

-    VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),

     VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF

 } VkDynamicState;

 

@@ -1244,18 +1287,12 @@
     VK_FILTER_LINEAR = 1,

     VK_FILTER_CUBIC_IMG = 1000015000,

     VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,

-    VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,

-    VK_FILTER_END_RANGE = VK_FILTER_LINEAR,

-    VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),

     VK_FILTER_MAX_ENUM = 0x7FFFFFFF

 } VkFilter;

 

 typedef enum VkSamplerMipmapMode {

     VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,

     VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,

-    VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,

-    VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,

-    VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),

     VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF

 } VkSamplerMipmapMode;

 

@@ -1266,9 +1303,6 @@
     VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,

     VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,

     VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,

-    VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,

-    VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,

-    VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),

     VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF

 } VkSamplerAddressMode;

 

@@ -1279,9 +1313,8 @@
     VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,

     VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,

     VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,

-    VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,

-    VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,

-    VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),

+    VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,

+    VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,

     VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF

 } VkBorderColor;

 

@@ -1298,10 +1331,8 @@
     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_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),

+    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,

+    VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,

     VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkDescriptorType;

 

@@ -1309,57 +1340,42 @@
     VK_ATTACHMENT_LOAD_OP_LOAD = 0,

     VK_ATTACHMENT_LOAD_OP_CLEAR = 1,

     VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,

-    VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,

-    VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,

-    VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),

     VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF

 } VkAttachmentLoadOp;

 

 typedef enum VkAttachmentStoreOp {

     VK_ATTACHMENT_STORE_OP_STORE = 0,

     VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,

-    VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,

-    VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,

-    VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),

+    VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,

     VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF

 } VkAttachmentStoreOp;

 

 typedef enum VkPipelineBindPoint {

     VK_PIPELINE_BIND_POINT_GRAPHICS = 0,

     VK_PIPELINE_BIND_POINT_COMPUTE = 1,

-    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),

+    VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,

+    VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,

     VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF

 } VkPipelineBindPoint;

 

 typedef enum VkCommandBufferLevel {

     VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,

     VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,

-    VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,

-    VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,

-    VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),

     VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF

 } VkCommandBufferLevel;

 

 typedef enum VkIndexType {

     VK_INDEX_TYPE_UINT16 = 0,

     VK_INDEX_TYPE_UINT32 = 1,

-    VK_INDEX_TYPE_NONE_NV = 1000165000,

+    VK_INDEX_TYPE_NONE_KHR = 1000165000,

     VK_INDEX_TYPE_UINT8_EXT = 1000265000,

-    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),

+    VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,

     VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkIndexType;

 

 typedef enum VkSubpassContents {

     VK_SUBPASS_CONTENTS_INLINE = 0,

     VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,

-    VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,

-    VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,

-    VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),

     VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF

 } VkSubpassContents;

 

@@ -1397,17 +1413,16 @@
     VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,

     VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,

     VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,

-    VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,

-    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,

     VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,

+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,

     VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,

-    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,

     VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,

+    VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,

+    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,

+    VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,

     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,

-    VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,

-    VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),

+    VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,

     VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkObjectType;

 

@@ -1415,9 +1430,8 @@
     VK_VENDOR_ID_VIV = 0x10001,

     VK_VENDOR_ID_VSI = 0x10002,

     VK_VENDOR_ID_KAZAN = 0x10003,

-    VK_VENDOR_ID_BEGIN_RANGE = VK_VENDOR_ID_VIV,

-    VK_VENDOR_ID_END_RANGE = VK_VENDOR_ID_KAZAN,

-    VK_VENDOR_ID_RANGE_SIZE = (VK_VENDOR_ID_KAZAN - VK_VENDOR_ID_VIV + 1),

+    VK_VENDOR_ID_CODEPLAY = 0x10004,

+    VK_VENDOR_ID_MESA = 0x10005,

     VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF

 } VkVendorId;

 typedef VkFlags VkInstanceCreateFlags;

@@ -1445,11 +1459,13 @@
     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,

     VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,

     VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,

+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,

     VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,

-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,

+    VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,

     VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,

     VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,

     VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,

+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,

     VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,

     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,

     VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,

@@ -1573,13 +1589,15 @@
     VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,

     VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,

     VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,

-    VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,

+    VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,

+    VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,

     VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,

-    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_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,

+    VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,

+    VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,

+    VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,

     VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkPipelineStageFlagBits;

 typedef VkFlags VkPipelineStageFlags;

@@ -1657,7 +1675,9 @@
     VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,

     VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,

     VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,

-    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000010,

+    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,

+    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,

+    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,

     VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkBufferCreateFlagBits;

 typedef VkFlags VkBufferCreateFlags;

@@ -1672,11 +1692,14 @@
     VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,

     VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,

     VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,

+    VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,

     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_RAY_TRACING_BIT_NV = 0x00000400,

-    VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = 0x00020000,

+    VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR = 0x00000400,

+    VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR,

+    VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,

+    VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,

     VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkBufferUsageFlagBits;

 typedef VkFlags VkBufferUsageFlags;

@@ -1692,6 +1715,11 @@
     VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkShaderModuleCreateFlagBits;

 typedef VkFlags VkShaderModuleCreateFlags;

+

+typedef enum VkPipelineCacheCreateFlagBits {

+    VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,

+    VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

+} VkPipelineCacheCreateFlagBits;

 typedef VkFlags VkPipelineCacheCreateFlags;

 

 typedef enum VkPipelineCreateFlagBits {

@@ -1700,9 +1728,19 @@
     VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,

     VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,

     VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,

+    VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,

+    VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,

+    VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,

+    VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,

+    VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,

+    VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,

     VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,

     VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,

     VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,

+    VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,

+    VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,

+    VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,

+    VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,

     VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,

     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,

@@ -1726,14 +1764,20 @@
     VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,

     VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,

     VK_SHADER_STAGE_ALL = 0x7FFFFFFF,

-    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_RAYGEN_BIT_KHR = 0x00000100,

+    VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,

+    VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,

+    VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,

+    VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,

+    VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,

     VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,

     VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,

+    VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,

+    VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,

+    VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,

+    VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,

+    VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,

+    VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,

     VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkShaderStageFlagBits;

 typedef VkFlags VkPipelineVertexInputStateCreateFlags;

@@ -1774,27 +1818,31 @@
 typedef VkFlags VkSamplerCreateFlags;

 

 typedef enum VkDescriptorSetLayoutCreateFlagBits {

+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,

     VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,

-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002,

+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,

     VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkDescriptorSetLayoutCreateFlagBits;

 typedef VkFlags VkDescriptorSetLayoutCreateFlags;

 

 typedef enum VkDescriptorPoolCreateFlagBits {

     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,

-    VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002,

+    VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,

+    VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,

     VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkDescriptorPoolCreateFlagBits;

 typedef VkFlags VkDescriptorPoolCreateFlags;

 typedef VkFlags VkDescriptorPoolResetFlags;

 

 typedef enum VkFramebufferCreateFlagBits {

-    VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = 0x00000001,

+    VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,

+    VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,

     VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkFramebufferCreateFlagBits;

 typedef VkFlags VkFramebufferCreateFlags;

 

 typedef enum VkRenderPassCreateFlagBits {

+    VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,

     VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkRenderPassCreateFlagBits;

 typedef VkFlags VkRenderPassCreateFlags;

@@ -1808,6 +1856,8 @@
 typedef enum VkSubpassDescriptionFlagBits {

     VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,

     VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,

+    VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,

+    VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,

     VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkSubpassDescriptionFlagBits;

 typedef VkFlags VkSubpassDescriptionFlags;

@@ -1834,13 +1884,15 @@
     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,

     VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,

     VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,

-    VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,

-    VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,

     VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,

+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,

+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,

     VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,

-    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000,

-    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000,

     VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,

+    VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,

+    VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,

+    VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,

+    VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,

     VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkAccessFlagBits;

 typedef VkFlags VkAccessFlags;

@@ -3965,9 +4017,6 @@
     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,

     VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,

     VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,

-    VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,

-    VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,

-    VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1),

     VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF

 } VkPointClippingBehavior;

 

@@ -3976,9 +4025,6 @@
     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,

     VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,

     VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,

-    VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,

-    VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,

-    VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1),

     VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF

 } VkTessellationDomainOrigin;

 

@@ -3993,9 +4039,6 @@
     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,

     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,

     VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,

-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,

-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,

-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1),

     VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF

 } VkSamplerYcbcrModelConversion;

 

@@ -4004,9 +4047,6 @@
     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,

     VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,

     VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,

-    VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,

-    VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,

-    VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1),

     VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF

 } VkSamplerYcbcrRange;

 

@@ -4015,9 +4055,6 @@
     VK_CHROMA_LOCATION_MIDPOINT = 1,

     VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,

     VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,

-    VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN,

-    VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT,

-    VK_CHROMA_LOCATION_RANGE_SIZE = (VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1),

     VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF

 } VkChromaLocation;

 

@@ -4025,9 +4062,6 @@
     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,

     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,

     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,

-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,

-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,

-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1),

     VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF

 } VkDescriptorUpdateTemplateType;

 

@@ -4060,7 +4094,11 @@
 

 typedef enum VkMemoryAllocateFlagBits {

     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,

+    VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,

+    VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,

     VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,

+    VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,

+    VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,

     VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

 } VkMemoryAllocateFlagBits;

 typedef VkFlags VkMemoryAllocateFlags;

@@ -4827,11 +4865,764 @@
 #endif

 

 

+#define VK_VERSION_1_2 1

+// Vulkan 1.2 version number

+#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0

+

+typedef uint64_t VkDeviceAddress;

+#define VK_MAX_DRIVER_NAME_SIZE           256

+#define VK_MAX_DRIVER_INFO_SIZE           256

+

+typedef enum VkDriverId {

+    VK_DRIVER_ID_AMD_PROPRIETARY = 1,

+    VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,

+    VK_DRIVER_ID_MESA_RADV = 3,

+    VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,

+    VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,

+    VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,

+    VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,

+    VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,

+    VK_DRIVER_ID_ARM_PROPRIETARY = 9,

+    VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,

+    VK_DRIVER_ID_GGP_PROPRIETARY = 11,

+    VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,

+    VK_DRIVER_ID_MESA_LLVMPIPE = 13,

+    VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,

+    VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,

+    VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,

+    VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,

+    VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,

+    VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,

+    VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,

+    VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,

+    VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,

+    VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,

+    VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,

+    VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,

+    VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF

+} VkDriverId;

+

+typedef enum VkShaderFloatControlsIndependence {

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,

+    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF

+} VkShaderFloatControlsIndependence;

+

+typedef enum VkSamplerReductionMode {

+    VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,

+    VK_SAMPLER_REDUCTION_MODE_MIN = 1,

+    VK_SAMPLER_REDUCTION_MODE_MAX = 2,

+    VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,

+    VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,

+    VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,

+    VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF

+} VkSamplerReductionMode;

+

+typedef enum VkSemaphoreType {

+    VK_SEMAPHORE_TYPE_BINARY = 0,

+    VK_SEMAPHORE_TYPE_TIMELINE = 1,

+    VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,

+    VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,

+    VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF

+} VkSemaphoreType;

+

+typedef enum VkResolveModeFlagBits {

+    VK_RESOLVE_MODE_NONE = 0,

+    VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,

+    VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,

+    VK_RESOLVE_MODE_MIN_BIT = 0x00000004,

+    VK_RESOLVE_MODE_MAX_BIT = 0x00000008,

+    VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,

+    VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,

+    VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,

+    VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,

+    VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,

+    VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

+} VkResolveModeFlagBits;

+typedef VkFlags VkResolveModeFlags;

+

+typedef enum VkDescriptorBindingFlagBits {

+    VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,

+    VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,

+    VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,

+    VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,

+    VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,

+    VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,

+    VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,

+    VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,

+    VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

+} VkDescriptorBindingFlagBits;

+typedef VkFlags VkDescriptorBindingFlags;

+

+typedef enum VkSemaphoreWaitFlagBits {

+    VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,

+    VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,

+    VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF

+} VkSemaphoreWaitFlagBits;

+typedef VkFlags VkSemaphoreWaitFlags;

+typedef struct VkPhysicalDeviceVulkan11Features {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           storageBuffer16BitAccess;

+    VkBool32           uniformAndStorageBuffer16BitAccess;

+    VkBool32           storagePushConstant16;

+    VkBool32           storageInputOutput16;

+    VkBool32           multiview;

+    VkBool32           multiviewGeometryShader;

+    VkBool32           multiviewTessellationShader;

+    VkBool32           variablePointersStorageBuffer;

+    VkBool32           variablePointers;

+    VkBool32           protectedMemory;

+    VkBool32           samplerYcbcrConversion;

+    VkBool32           shaderDrawParameters;

+} VkPhysicalDeviceVulkan11Features;

+

+typedef struct VkPhysicalDeviceVulkan11Properties {

+    VkStructureType            sType;

+    void*                      pNext;

+    uint8_t                    deviceUUID[VK_UUID_SIZE];

+    uint8_t                    driverUUID[VK_UUID_SIZE];

+    uint8_t                    deviceLUID[VK_LUID_SIZE];

+    uint32_t                   deviceNodeMask;

+    VkBool32                   deviceLUIDValid;

+    uint32_t                   subgroupSize;

+    VkShaderStageFlags         subgroupSupportedStages;

+    VkSubgroupFeatureFlags     subgroupSupportedOperations;

+    VkBool32                   subgroupQuadOperationsInAllStages;

+    VkPointClippingBehavior    pointClippingBehavior;

+    uint32_t                   maxMultiviewViewCount;

+    uint32_t                   maxMultiviewInstanceIndex;

+    VkBool32                   protectedNoFault;

+    uint32_t                   maxPerSetDescriptors;

+    VkDeviceSize               maxMemoryAllocationSize;

+} VkPhysicalDeviceVulkan11Properties;

+

+typedef struct VkPhysicalDeviceVulkan12Features {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           samplerMirrorClampToEdge;

+    VkBool32           drawIndirectCount;

+    VkBool32           storageBuffer8BitAccess;

+    VkBool32           uniformAndStorageBuffer8BitAccess;

+    VkBool32           storagePushConstant8;

+    VkBool32           shaderBufferInt64Atomics;

+    VkBool32           shaderSharedInt64Atomics;

+    VkBool32           shaderFloat16;

+    VkBool32           shaderInt8;

+    VkBool32           descriptorIndexing;

+    VkBool32           shaderInputAttachmentArrayDynamicIndexing;

+    VkBool32           shaderUniformTexelBufferArrayDynamicIndexing;

+    VkBool32           shaderStorageTexelBufferArrayDynamicIndexing;

+    VkBool32           shaderUniformBufferArrayNonUniformIndexing;

+    VkBool32           shaderSampledImageArrayNonUniformIndexing;

+    VkBool32           shaderStorageBufferArrayNonUniformIndexing;

+    VkBool32           shaderStorageImageArrayNonUniformIndexing;

+    VkBool32           shaderInputAttachmentArrayNonUniformIndexing;

+    VkBool32           shaderUniformTexelBufferArrayNonUniformIndexing;

+    VkBool32           shaderStorageTexelBufferArrayNonUniformIndexing;

+    VkBool32           descriptorBindingUniformBufferUpdateAfterBind;

+    VkBool32           descriptorBindingSampledImageUpdateAfterBind;

+    VkBool32           descriptorBindingStorageImageUpdateAfterBind;

+    VkBool32           descriptorBindingStorageBufferUpdateAfterBind;

+    VkBool32           descriptorBindingUniformTexelBufferUpdateAfterBind;

+    VkBool32           descriptorBindingStorageTexelBufferUpdateAfterBind;

+    VkBool32           descriptorBindingUpdateUnusedWhilePending;

+    VkBool32           descriptorBindingPartiallyBound;

+    VkBool32           descriptorBindingVariableDescriptorCount;

+    VkBool32           runtimeDescriptorArray;

+    VkBool32           samplerFilterMinmax;

+    VkBool32           scalarBlockLayout;

+    VkBool32           imagelessFramebuffer;

+    VkBool32           uniformBufferStandardLayout;

+    VkBool32           shaderSubgroupExtendedTypes;

+    VkBool32           separateDepthStencilLayouts;

+    VkBool32           hostQueryReset;

+    VkBool32           timelineSemaphore;

+    VkBool32           bufferDeviceAddress;

+    VkBool32           bufferDeviceAddressCaptureReplay;

+    VkBool32           bufferDeviceAddressMultiDevice;

+    VkBool32           vulkanMemoryModel;

+    VkBool32           vulkanMemoryModelDeviceScope;

+    VkBool32           vulkanMemoryModelAvailabilityVisibilityChains;

+    VkBool32           shaderOutputViewportIndex;

+    VkBool32           shaderOutputLayer;

+    VkBool32           subgroupBroadcastDynamicId;

+} VkPhysicalDeviceVulkan12Features;

+

+typedef struct VkConformanceVersion {

+    uint8_t    major;

+    uint8_t    minor;

+    uint8_t    subminor;

+    uint8_t    patch;

+} VkConformanceVersion;

+

+typedef struct VkPhysicalDeviceVulkan12Properties {

+    VkStructureType                      sType;

+    void*                                pNext;

+    VkDriverId                           driverID;

+    char                                 driverName[VK_MAX_DRIVER_NAME_SIZE];

+    char                                 driverInfo[VK_MAX_DRIVER_INFO_SIZE];

+    VkConformanceVersion                 conformanceVersion;

+    VkShaderFloatControlsIndependence    denormBehaviorIndependence;

+    VkShaderFloatControlsIndependence    roundingModeIndependence;

+    VkBool32                             shaderSignedZeroInfNanPreserveFloat16;

+    VkBool32                             shaderSignedZeroInfNanPreserveFloat32;

+    VkBool32                             shaderSignedZeroInfNanPreserveFloat64;

+    VkBool32                             shaderDenormPreserveFloat16;

+    VkBool32                             shaderDenormPreserveFloat32;

+    VkBool32                             shaderDenormPreserveFloat64;

+    VkBool32                             shaderDenormFlushToZeroFloat16;

+    VkBool32                             shaderDenormFlushToZeroFloat32;

+    VkBool32                             shaderDenormFlushToZeroFloat64;

+    VkBool32                             shaderRoundingModeRTEFloat16;

+    VkBool32                             shaderRoundingModeRTEFloat32;

+    VkBool32                             shaderRoundingModeRTEFloat64;

+    VkBool32                             shaderRoundingModeRTZFloat16;

+    VkBool32                             shaderRoundingModeRTZFloat32;

+    VkBool32                             shaderRoundingModeRTZFloat64;

+    uint32_t                             maxUpdateAfterBindDescriptorsInAllPools;

+    VkBool32                             shaderUniformBufferArrayNonUniformIndexingNative;

+    VkBool32                             shaderSampledImageArrayNonUniformIndexingNative;

+    VkBool32                             shaderStorageBufferArrayNonUniformIndexingNative;

+    VkBool32                             shaderStorageImageArrayNonUniformIndexingNative;

+    VkBool32                             shaderInputAttachmentArrayNonUniformIndexingNative;

+    VkBool32                             robustBufferAccessUpdateAfterBind;

+    VkBool32                             quadDivergentImplicitLod;

+    uint32_t                             maxPerStageDescriptorUpdateAfterBindSamplers;

+    uint32_t                             maxPerStageDescriptorUpdateAfterBindUniformBuffers;

+    uint32_t                             maxPerStageDescriptorUpdateAfterBindStorageBuffers;

+    uint32_t                             maxPerStageDescriptorUpdateAfterBindSampledImages;

+    uint32_t                             maxPerStageDescriptorUpdateAfterBindStorageImages;

+    uint32_t                             maxPerStageDescriptorUpdateAfterBindInputAttachments;

+    uint32_t                             maxPerStageUpdateAfterBindResources;

+    uint32_t                             maxDescriptorSetUpdateAfterBindSamplers;

+    uint32_t                             maxDescriptorSetUpdateAfterBindUniformBuffers;

+    uint32_t                             maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;

+    uint32_t                             maxDescriptorSetUpdateAfterBindStorageBuffers;

+    uint32_t                             maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;

+    uint32_t                             maxDescriptorSetUpdateAfterBindSampledImages;

+    uint32_t                             maxDescriptorSetUpdateAfterBindStorageImages;

+    uint32_t                             maxDescriptorSetUpdateAfterBindInputAttachments;

+    VkResolveModeFlags                   supportedDepthResolveModes;

+    VkResolveModeFlags                   supportedStencilResolveModes;

+    VkBool32                             independentResolveNone;

+    VkBool32                             independentResolve;

+    VkBool32                             filterMinmaxSingleComponentFormats;

+    VkBool32                             filterMinmaxImageComponentMapping;

+    uint64_t                             maxTimelineSemaphoreValueDifference;

+    VkSampleCountFlags                   framebufferIntegerColorSampleCounts;

+} VkPhysicalDeviceVulkan12Properties;

+

+typedef struct VkImageFormatListCreateInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    uint32_t           viewFormatCount;

+    const VkFormat*    pViewFormats;

+} VkImageFormatListCreateInfo;

+

+typedef struct VkAttachmentDescription2 {

+    VkStructureType                 sType;

+    const void*                     pNext;

+    VkAttachmentDescriptionFlags    flags;

+    VkFormat                        format;

+    VkSampleCountFlagBits           samples;

+    VkAttachmentLoadOp              loadOp;

+    VkAttachmentStoreOp             storeOp;

+    VkAttachmentLoadOp              stencilLoadOp;

+    VkAttachmentStoreOp             stencilStoreOp;

+    VkImageLayout                   initialLayout;

+    VkImageLayout                   finalLayout;

+} VkAttachmentDescription2;

+

+typedef struct VkAttachmentReference2 {

+    VkStructureType       sType;

+    const void*           pNext;

+    uint32_t              attachment;

+    VkImageLayout         layout;

+    VkImageAspectFlags    aspectMask;

+} VkAttachmentReference2;

+

+typedef struct VkSubpassDescription2 {

+    VkStructureType                  sType;

+    const void*                      pNext;

+    VkSubpassDescriptionFlags        flags;

+    VkPipelineBindPoint              pipelineBindPoint;

+    uint32_t                         viewMask;

+    uint32_t                         inputAttachmentCount;

+    const VkAttachmentReference2*    pInputAttachments;

+    uint32_t                         colorAttachmentCount;

+    const VkAttachmentReference2*    pColorAttachments;

+    const VkAttachmentReference2*    pResolveAttachments;

+    const VkAttachmentReference2*    pDepthStencilAttachment;

+    uint32_t                         preserveAttachmentCount;

+    const uint32_t*                  pPreserveAttachments;

+} VkSubpassDescription2;

+

+typedef struct VkSubpassDependency2 {

+    VkStructureType         sType;

+    const void*             pNext;

+    uint32_t                srcSubpass;

+    uint32_t                dstSubpass;

+    VkPipelineStageFlags    srcStageMask;

+    VkPipelineStageFlags    dstStageMask;

+    VkAccessFlags           srcAccessMask;

+    VkAccessFlags           dstAccessMask;

+    VkDependencyFlags       dependencyFlags;

+    int32_t                 viewOffset;

+} VkSubpassDependency2;

+

+typedef struct VkRenderPassCreateInfo2 {

+    VkStructureType                    sType;

+    const void*                        pNext;

+    VkRenderPassCreateFlags            flags;

+    uint32_t                           attachmentCount;

+    const VkAttachmentDescription2*    pAttachments;

+    uint32_t                           subpassCount;

+    const VkSubpassDescription2*       pSubpasses;

+    uint32_t                           dependencyCount;

+    const VkSubpassDependency2*        pDependencies;

+    uint32_t                           correlatedViewMaskCount;

+    const uint32_t*                    pCorrelatedViewMasks;

+} VkRenderPassCreateInfo2;

+

+typedef struct VkSubpassBeginInfo {

+    VkStructureType      sType;

+    const void*          pNext;

+    VkSubpassContents    contents;

+} VkSubpassBeginInfo;

+

+typedef struct VkSubpassEndInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+} VkSubpassEndInfo;

+

+typedef struct VkPhysicalDevice8BitStorageFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           storageBuffer8BitAccess;

+    VkBool32           uniformAndStorageBuffer8BitAccess;

+    VkBool32           storagePushConstant8;

+} VkPhysicalDevice8BitStorageFeatures;

+

+typedef struct VkPhysicalDeviceDriverProperties {

+    VkStructureType         sType;

+    void*                   pNext;

+    VkDriverId              driverID;

+    char                    driverName[VK_MAX_DRIVER_NAME_SIZE];

+    char                    driverInfo[VK_MAX_DRIVER_INFO_SIZE];

+    VkConformanceVersion    conformanceVersion;

+} VkPhysicalDeviceDriverProperties;

+

+typedef struct VkPhysicalDeviceShaderAtomicInt64Features {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           shaderBufferInt64Atomics;

+    VkBool32           shaderSharedInt64Atomics;

+} VkPhysicalDeviceShaderAtomicInt64Features;

+

+typedef struct VkPhysicalDeviceShaderFloat16Int8Features {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           shaderFloat16;

+    VkBool32           shaderInt8;

+} VkPhysicalDeviceShaderFloat16Int8Features;

+

+typedef struct VkPhysicalDeviceFloatControlsProperties {

+    VkStructureType                      sType;

+    void*                                pNext;

+    VkShaderFloatControlsIndependence    denormBehaviorIndependence;

+    VkShaderFloatControlsIndependence    roundingModeIndependence;

+    VkBool32                             shaderSignedZeroInfNanPreserveFloat16;

+    VkBool32                             shaderSignedZeroInfNanPreserveFloat32;

+    VkBool32                             shaderSignedZeroInfNanPreserveFloat64;

+    VkBool32                             shaderDenormPreserveFloat16;

+    VkBool32                             shaderDenormPreserveFloat32;

+    VkBool32                             shaderDenormPreserveFloat64;

+    VkBool32                             shaderDenormFlushToZeroFloat16;

+    VkBool32                             shaderDenormFlushToZeroFloat32;

+    VkBool32                             shaderDenormFlushToZeroFloat64;

+    VkBool32                             shaderRoundingModeRTEFloat16;

+    VkBool32                             shaderRoundingModeRTEFloat32;

+    VkBool32                             shaderRoundingModeRTEFloat64;

+    VkBool32                             shaderRoundingModeRTZFloat16;

+    VkBool32                             shaderRoundingModeRTZFloat32;

+    VkBool32                             shaderRoundingModeRTZFloat64;

+} VkPhysicalDeviceFloatControlsProperties;

+

+typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {

+    VkStructureType                    sType;

+    const void*                        pNext;

+    uint32_t                           bindingCount;

+    const VkDescriptorBindingFlags*    pBindingFlags;

+} VkDescriptorSetLayoutBindingFlagsCreateInfo;

+

+typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           shaderInputAttachmentArrayDynamicIndexing;

+    VkBool32           shaderUniformTexelBufferArrayDynamicIndexing;

+    VkBool32           shaderStorageTexelBufferArrayDynamicIndexing;

+    VkBool32           shaderUniformBufferArrayNonUniformIndexing;

+    VkBool32           shaderSampledImageArrayNonUniformIndexing;

+    VkBool32           shaderStorageBufferArrayNonUniformIndexing;

+    VkBool32           shaderStorageImageArrayNonUniformIndexing;

+    VkBool32           shaderInputAttachmentArrayNonUniformIndexing;

+    VkBool32           shaderUniformTexelBufferArrayNonUniformIndexing;

+    VkBool32           shaderStorageTexelBufferArrayNonUniformIndexing;

+    VkBool32           descriptorBindingUniformBufferUpdateAfterBind;

+    VkBool32           descriptorBindingSampledImageUpdateAfterBind;

+    VkBool32           descriptorBindingStorageImageUpdateAfterBind;

+    VkBool32           descriptorBindingStorageBufferUpdateAfterBind;

+    VkBool32           descriptorBindingUniformTexelBufferUpdateAfterBind;

+    VkBool32           descriptorBindingStorageTexelBufferUpdateAfterBind;

+    VkBool32           descriptorBindingUpdateUnusedWhilePending;

+    VkBool32           descriptorBindingPartiallyBound;

+    VkBool32           descriptorBindingVariableDescriptorCount;

+    VkBool32           runtimeDescriptorArray;

+} VkPhysicalDeviceDescriptorIndexingFeatures;

+

+typedef struct VkPhysicalDeviceDescriptorIndexingProperties {

+    VkStructureType    sType;

+    void*              pNext;

+    uint32_t           maxUpdateAfterBindDescriptorsInAllPools;

+    VkBool32           shaderUniformBufferArrayNonUniformIndexingNative;

+    VkBool32           shaderSampledImageArrayNonUniformIndexingNative;

+    VkBool32           shaderStorageBufferArrayNonUniformIndexingNative;

+    VkBool32           shaderStorageImageArrayNonUniformIndexingNative;

+    VkBool32           shaderInputAttachmentArrayNonUniformIndexingNative;

+    VkBool32           robustBufferAccessUpdateAfterBind;

+    VkBool32           quadDivergentImplicitLod;

+    uint32_t           maxPerStageDescriptorUpdateAfterBindSamplers;

+    uint32_t           maxPerStageDescriptorUpdateAfterBindUniformBuffers;

+    uint32_t           maxPerStageDescriptorUpdateAfterBindStorageBuffers;

+    uint32_t           maxPerStageDescriptorUpdateAfterBindSampledImages;

+    uint32_t           maxPerStageDescriptorUpdateAfterBindStorageImages;

+    uint32_t           maxPerStageDescriptorUpdateAfterBindInputAttachments;

+    uint32_t           maxPerStageUpdateAfterBindResources;

+    uint32_t           maxDescriptorSetUpdateAfterBindSamplers;

+    uint32_t           maxDescriptorSetUpdateAfterBindUniformBuffers;

+    uint32_t           maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;

+    uint32_t           maxDescriptorSetUpdateAfterBindStorageBuffers;

+    uint32_t           maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;

+    uint32_t           maxDescriptorSetUpdateAfterBindSampledImages;

+    uint32_t           maxDescriptorSetUpdateAfterBindStorageImages;

+    uint32_t           maxDescriptorSetUpdateAfterBindInputAttachments;

+} VkPhysicalDeviceDescriptorIndexingProperties;

+

+typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    uint32_t           descriptorSetCount;

+    const uint32_t*    pDescriptorCounts;

+} VkDescriptorSetVariableDescriptorCountAllocateInfo;

+

+typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {

+    VkStructureType    sType;

+    void*              pNext;

+    uint32_t           maxVariableDescriptorCount;

+} VkDescriptorSetVariableDescriptorCountLayoutSupport;

+

+typedef struct VkSubpassDescriptionDepthStencilResolve {

+    VkStructureType                  sType;

+    const void*                      pNext;

+    VkResolveModeFlagBits            depthResolveMode;

+    VkResolveModeFlagBits            stencilResolveMode;

+    const VkAttachmentReference2*    pDepthStencilResolveAttachment;

+} VkSubpassDescriptionDepthStencilResolve;

+

+typedef struct VkPhysicalDeviceDepthStencilResolveProperties {

+    VkStructureType       sType;

+    void*                 pNext;

+    VkResolveModeFlags    supportedDepthResolveModes;

+    VkResolveModeFlags    supportedStencilResolveModes;

+    VkBool32              independentResolveNone;

+    VkBool32              independentResolve;

+} VkPhysicalDeviceDepthStencilResolveProperties;

+

+typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           scalarBlockLayout;

+} VkPhysicalDeviceScalarBlockLayoutFeatures;

+

+typedef struct VkImageStencilUsageCreateInfo {

+    VkStructureType      sType;

+    const void*          pNext;

+    VkImageUsageFlags    stencilUsage;

+} VkImageStencilUsageCreateInfo;

+

+typedef struct VkSamplerReductionModeCreateInfo {

+    VkStructureType           sType;

+    const void*               pNext;

+    VkSamplerReductionMode    reductionMode;

+} VkSamplerReductionModeCreateInfo;

+

+typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           filterMinmaxSingleComponentFormats;

+    VkBool32           filterMinmaxImageComponentMapping;

+} VkPhysicalDeviceSamplerFilterMinmaxProperties;

+

+typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           vulkanMemoryModel;

+    VkBool32           vulkanMemoryModelDeviceScope;

+    VkBool32           vulkanMemoryModelAvailabilityVisibilityChains;

+} VkPhysicalDeviceVulkanMemoryModelFeatures;

+

+typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           imagelessFramebuffer;

+} VkPhysicalDeviceImagelessFramebufferFeatures;

+

+typedef struct VkFramebufferAttachmentImageInfo {

+    VkStructureType       sType;

+    const void*           pNext;

+    VkImageCreateFlags    flags;

+    VkImageUsageFlags     usage;

+    uint32_t              width;

+    uint32_t              height;

+    uint32_t              layerCount;

+    uint32_t              viewFormatCount;

+    const VkFormat*       pViewFormats;

+} VkFramebufferAttachmentImageInfo;

+

+typedef struct VkFramebufferAttachmentsCreateInfo {

+    VkStructureType                            sType;

+    const void*                                pNext;

+    uint32_t                                   attachmentImageInfoCount;

+    const VkFramebufferAttachmentImageInfo*    pAttachmentImageInfos;

+} VkFramebufferAttachmentsCreateInfo;

+

+typedef struct VkRenderPassAttachmentBeginInfo {

+    VkStructureType       sType;

+    const void*           pNext;

+    uint32_t              attachmentCount;

+    const VkImageView*    pAttachments;

+} VkRenderPassAttachmentBeginInfo;

+

+typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           uniformBufferStandardLayout;

+} VkPhysicalDeviceUniformBufferStandardLayoutFeatures;

+

+typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           shaderSubgroupExtendedTypes;

+} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;

+

+typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           separateDepthStencilLayouts;

+} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;

+

+typedef struct VkAttachmentReferenceStencilLayout {

+    VkStructureType    sType;

+    void*              pNext;

+    VkImageLayout      stencilLayout;

+} VkAttachmentReferenceStencilLayout;

+

+typedef struct VkAttachmentDescriptionStencilLayout {

+    VkStructureType    sType;

+    void*              pNext;

+    VkImageLayout      stencilInitialLayout;

+    VkImageLayout      stencilFinalLayout;

+} VkAttachmentDescriptionStencilLayout;

+

+typedef struct VkPhysicalDeviceHostQueryResetFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           hostQueryReset;

+} VkPhysicalDeviceHostQueryResetFeatures;

+

+typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           timelineSemaphore;

+} VkPhysicalDeviceTimelineSemaphoreFeatures;

+

+typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {

+    VkStructureType    sType;

+    void*              pNext;

+    uint64_t           maxTimelineSemaphoreValueDifference;

+} VkPhysicalDeviceTimelineSemaphoreProperties;

+

+typedef struct VkSemaphoreTypeCreateInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    VkSemaphoreType    semaphoreType;

+    uint64_t           initialValue;

+} VkSemaphoreTypeCreateInfo;

+

+typedef struct VkTimelineSemaphoreSubmitInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    uint32_t           waitSemaphoreValueCount;

+    const uint64_t*    pWaitSemaphoreValues;

+    uint32_t           signalSemaphoreValueCount;

+    const uint64_t*    pSignalSemaphoreValues;

+} VkTimelineSemaphoreSubmitInfo;

+

+typedef struct VkSemaphoreWaitInfo {

+    VkStructureType         sType;

+    const void*             pNext;

+    VkSemaphoreWaitFlags    flags;

+    uint32_t                semaphoreCount;

+    const VkSemaphore*      pSemaphores;

+    const uint64_t*         pValues;

+} VkSemaphoreWaitInfo;

+

+typedef struct VkSemaphoreSignalInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    VkSemaphore        semaphore;

+    uint64_t           value;

+} VkSemaphoreSignalInfo;

+

+typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           bufferDeviceAddress;

+    VkBool32           bufferDeviceAddressCaptureReplay;

+    VkBool32           bufferDeviceAddressMultiDevice;

+} VkPhysicalDeviceBufferDeviceAddressFeatures;

+

+typedef struct VkBufferDeviceAddressInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    VkBuffer           buffer;

+} VkBufferDeviceAddressInfo;

+

+typedef struct VkBufferOpaqueCaptureAddressCreateInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    uint64_t           opaqueCaptureAddress;

+} VkBufferOpaqueCaptureAddressCreateInfo;

+

+typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    uint64_t           opaqueCaptureAddress;

+} VkMemoryOpaqueCaptureAddressAllocateInfo;

+

+typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {

+    VkStructureType    sType;

+    const void*        pNext;

+    VkDeviceMemory     memory;

+} VkDeviceMemoryOpaqueCaptureAddressInfo;

+

+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);

+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);

+typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);

+typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo);

+typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo);

+typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo);

+typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);

+typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);

+typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);

+typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);

+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);

+typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);

+typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);

+

+#ifndef VK_NO_PROTOTYPES

+VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(

+    VkCommandBuffer                             commandBuffer,

+    VkBuffer                                    buffer,

+    VkDeviceSize                                offset,

+    VkBuffer                                    countBuffer,

+    VkDeviceSize                                countBufferOffset,

+    uint32_t                                    maxDrawCount,

+    uint32_t                                    stride);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(

+    VkCommandBuffer                             commandBuffer,

+    VkBuffer                                    buffer,

+    VkDeviceSize                                offset,

+    VkBuffer                                    countBuffer,

+    VkDeviceSize                                countBufferOffset,

+    uint32_t                                    maxDrawCount,

+    uint32_t                                    stride);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(

+    VkDevice                                    device,

+    const VkRenderPassCreateInfo2*              pCreateInfo,

+    const VkAllocationCallbacks*                pAllocator,

+    VkRenderPass*                               pRenderPass);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(

+    VkCommandBuffer                             commandBuffer,

+    const VkRenderPassBeginInfo*                pRenderPassBegin,

+    const VkSubpassBeginInfo*                   pSubpassBeginInfo);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(

+    VkCommandBuffer                             commandBuffer,

+    const VkSubpassBeginInfo*                   pSubpassBeginInfo,

+    const VkSubpassEndInfo*                     pSubpassEndInfo);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(

+    VkCommandBuffer                             commandBuffer,

+    const VkSubpassEndInfo*                     pSubpassEndInfo);

+

+VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(

+    VkDevice                                    device,

+    VkQueryPool                                 queryPool,

+    uint32_t                                    firstQuery,

+    uint32_t                                    queryCount);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(

+    VkDevice                                    device,

+    VkSemaphore                                 semaphore,

+    uint64_t*                                   pValue);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(

+    VkDevice                                    device,

+    const VkSemaphoreWaitInfo*                  pWaitInfo,

+    uint64_t                                    timeout);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(

+    VkDevice                                    device,

+    const VkSemaphoreSignalInfo*                pSignalInfo);

+

+VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(

+    VkDevice                                    device,

+    const VkBufferDeviceAddressInfo*            pInfo);

+

+VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(

+    VkDevice                                    device,

+    const VkBufferDeviceAddressInfo*            pInfo);

+

+VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(

+    VkDevice                                    device,

+    const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);

+#endif

+

+

 #define VK_KHR_surface 1

 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)

 #define VK_KHR_SURFACE_SPEC_VERSION       25

 #define VK_KHR_SURFACE_EXTENSION_NAME     "VK_KHR_surface"

 

+typedef enum VkPresentModeKHR {

+    VK_PRESENT_MODE_IMMEDIATE_KHR = 0,

+    VK_PRESENT_MODE_MAILBOX_KHR = 1,

+    VK_PRESENT_MODE_FIFO_KHR = 2,

+    VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,

+    VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,

+    VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,

+    VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkPresentModeKHR;

+

 typedef enum VkColorSpaceKHR {

     VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,

     VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,

@@ -4851,25 +5642,9 @@
     VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,

     VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,

     VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,

-    VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,

-    VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,

-    VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),

     VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkColorSpaceKHR;

 

-typedef enum VkPresentModeKHR {

-    VK_PRESENT_MODE_IMMEDIATE_KHR = 0,

-    VK_PRESENT_MODE_MAILBOX_KHR = 1,

-    VK_PRESENT_MODE_FIFO_KHR = 2,

-    VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,

-    VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,

-    VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,

-    VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,

-    VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,

-    VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),

-    VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF

-} VkPresentModeKHR;

-

 typedef enum VkSurfaceTransformFlagBitsKHR {

     VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,

     VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,

@@ -4882,7 +5657,6 @@
     VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,

     VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkSurfaceTransformFlagBitsKHR;

-typedef VkFlags VkSurfaceTransformFlagsKHR;

 

 typedef enum VkCompositeAlphaFlagBitsKHR {

     VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,

@@ -4891,6 +5665,7 @@
     VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,

     VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkCompositeAlphaFlagBitsKHR;

+typedef VkFlags VkSurfaceTransformFlagsKHR;

 typedef VkFlags VkCompositeAlphaFlagsKHR;

 typedef struct VkSurfaceCapabilitiesKHR {

     uint32_t                         minImageCount;

@@ -5614,14 +6389,9 @@
 #define VK_KHR_shader_float16_int8 1

 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1

 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"

-typedef struct VkPhysicalDeviceShaderFloat16Int8FeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           shaderFloat16;

-    VkBool32           shaderInt8;

-} VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;

+typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;

 

-typedef VkPhysicalDeviceShaderFloat16Int8FeaturesKHR VkPhysicalDeviceFloat16Int8FeaturesKHR;

+typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;

 

 

 

@@ -5695,144 +6465,58 @@
 #define VK_KHR_imageless_framebuffer 1

 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1

 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"

-typedef struct VkPhysicalDeviceImagelessFramebufferFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           imagelessFramebuffer;

-} VkPhysicalDeviceImagelessFramebufferFeaturesKHR;

+typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;

 

-typedef struct VkFramebufferAttachmentImageInfoKHR {

-    VkStructureType       sType;

-    const void*           pNext;

-    VkImageCreateFlags    flags;

-    VkImageUsageFlags     usage;

-    uint32_t              width;

-    uint32_t              height;

-    uint32_t              layerCount;

-    uint32_t              viewFormatCount;

-    const VkFormat*       pViewFormats;

-} VkFramebufferAttachmentImageInfoKHR;

+typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;

 

-typedef struct VkFramebufferAttachmentsCreateInfoKHR {

-    VkStructureType                               sType;

-    const void*                                   pNext;

-    uint32_t                                      attachmentImageInfoCount;

-    const VkFramebufferAttachmentImageInfoKHR*    pAttachmentImageInfos;

-} VkFramebufferAttachmentsCreateInfoKHR;

+typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;

 

-typedef struct VkRenderPassAttachmentBeginInfoKHR {

-    VkStructureType       sType;

-    const void*           pNext;

-    uint32_t              attachmentCount;

-    const VkImageView*    pAttachments;

-} VkRenderPassAttachmentBeginInfoKHR;

+typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;

 

 

 

 #define VK_KHR_create_renderpass2 1

 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1

 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"

-typedef struct VkAttachmentDescription2KHR {

-    VkStructureType                 sType;

-    const void*                     pNext;

-    VkAttachmentDescriptionFlags    flags;

-    VkFormat                        format;

-    VkSampleCountFlagBits           samples;

-    VkAttachmentLoadOp              loadOp;

-    VkAttachmentStoreOp             storeOp;

-    VkAttachmentLoadOp              stencilLoadOp;

-    VkAttachmentStoreOp             stencilStoreOp;

-    VkImageLayout                   initialLayout;

-    VkImageLayout                   finalLayout;

-} VkAttachmentDescription2KHR;

+typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;

 

-typedef struct VkAttachmentReference2KHR {

-    VkStructureType       sType;

-    const void*           pNext;

-    uint32_t              attachment;

-    VkImageLayout         layout;

-    VkImageAspectFlags    aspectMask;

-} VkAttachmentReference2KHR;

+typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;

 

-typedef struct VkSubpassDescription2KHR {

-    VkStructureType                     sType;

-    const void*                         pNext;

-    VkSubpassDescriptionFlags           flags;

-    VkPipelineBindPoint                 pipelineBindPoint;

-    uint32_t                            viewMask;

-    uint32_t                            inputAttachmentCount;

-    const VkAttachmentReference2KHR*    pInputAttachments;

-    uint32_t                            colorAttachmentCount;

-    const VkAttachmentReference2KHR*    pColorAttachments;

-    const VkAttachmentReference2KHR*    pResolveAttachments;

-    const VkAttachmentReference2KHR*    pDepthStencilAttachment;

-    uint32_t                            preserveAttachmentCount;

-    const uint32_t*                     pPreserveAttachments;

-} VkSubpassDescription2KHR;

+typedef VkAttachmentReference2 VkAttachmentReference2KHR;

 

-typedef struct VkSubpassDependency2KHR {

-    VkStructureType         sType;

-    const void*             pNext;

-    uint32_t                srcSubpass;

-    uint32_t                dstSubpass;

-    VkPipelineStageFlags    srcStageMask;

-    VkPipelineStageFlags    dstStageMask;

-    VkAccessFlags           srcAccessMask;

-    VkAccessFlags           dstAccessMask;

-    VkDependencyFlags       dependencyFlags;

-    int32_t                 viewOffset;

-} VkSubpassDependency2KHR;

+typedef VkSubpassDescription2 VkSubpassDescription2KHR;

 

-typedef struct VkRenderPassCreateInfo2KHR {

-    VkStructureType                       sType;

-    const void*                           pNext;

-    VkRenderPassCreateFlags               flags;

-    uint32_t                              attachmentCount;

-    const VkAttachmentDescription2KHR*    pAttachments;

-    uint32_t                              subpassCount;

-    const VkSubpassDescription2KHR*       pSubpasses;

-    uint32_t                              dependencyCount;

-    const VkSubpassDependency2KHR*        pDependencies;

-    uint32_t                              correlatedViewMaskCount;

-    const uint32_t*                       pCorrelatedViewMasks;

-} VkRenderPassCreateInfo2KHR;

+typedef VkSubpassDependency2 VkSubpassDependency2KHR;

 

-typedef struct VkSubpassBeginInfoKHR {

-    VkStructureType      sType;

-    const void*          pNext;

-    VkSubpassContents    contents;

-} VkSubpassBeginInfoKHR;

+typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;

 

-typedef struct VkSubpassEndInfoKHR {

-    VkStructureType    sType;

-    const void*        pNext;

-} VkSubpassEndInfoKHR;

+typedef VkSubpassEndInfo VkSubpassEndInfoKHR;

 

-typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);

-typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfoKHR*      pSubpassBeginInfo);

-typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR*      pSubpassBeginInfo, const VkSubpassEndInfoKHR*        pSubpassEndInfo);

-typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR*        pSubpassEndInfo);

+typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);

+typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo);

+typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo);

+typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo);

 

 #ifndef VK_NO_PROTOTYPES

 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(

     VkDevice                                    device,

-    const VkRenderPassCreateInfo2KHR*           pCreateInfo,

+    const VkRenderPassCreateInfo2*              pCreateInfo,

     const VkAllocationCallbacks*                pAllocator,

     VkRenderPass*                               pRenderPass);

 

 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(

     VkCommandBuffer                             commandBuffer,

     const VkRenderPassBeginInfo*                pRenderPassBegin,

-    const VkSubpassBeginInfoKHR*                pSubpassBeginInfo);

+    const VkSubpassBeginInfo*                   pSubpassBeginInfo);

 

 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(

     VkCommandBuffer                             commandBuffer,

-    const VkSubpassBeginInfoKHR*                pSubpassBeginInfo,

-    const VkSubpassEndInfoKHR*                  pSubpassEndInfo);

+    const VkSubpassBeginInfo*                   pSubpassBeginInfo,

+    const VkSubpassEndInfo*                     pSubpassEndInfo);

 

 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(

     VkCommandBuffer                             commandBuffer,

-    const VkSubpassEndInfoKHR*                  pSubpassEndInfo);

+    const VkSubpassEndInfo*                     pSubpassEndInfo);

 #endif

 

 

@@ -5940,19 +6624,16 @@
     VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,

     VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,

     VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,

-    VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,

-    VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR,

-    VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR + 1),

     VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkPerformanceCounterUnitKHR;

 

 typedef enum VkPerformanceCounterScopeKHR {

-    VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = 0,

-    VK_QUERY_SCOPE_RENDER_PASS_KHR = 1,

-    VK_QUERY_SCOPE_COMMAND_KHR = 2,

-    VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,

-    VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_KHR,

-    VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR = (VK_QUERY_SCOPE_COMMAND_KHR - VK_QUERY_SCOPE_COMMAND_BUFFER_KHR + 1),

+    VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,

+    VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,

+    VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,

+    VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,

+    VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,

+    VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,

     VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkPerformanceCounterScopeKHR;

 

@@ -5963,9 +6644,6 @@
     VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,

     VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,

     VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,

-    VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,

-    VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR,

-    VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR + 1),

     VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkPerformanceCounterStorageKHR;

 

@@ -6253,12 +6931,7 @@
 #define VK_KHR_image_format_list 1

 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1

 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"

-typedef struct VkImageFormatListCreateInfoKHR {

-    VkStructureType    sType;

-    const void*        pNext;

-    uint32_t           viewFormatCount;

-    const VkFormat*    pViewFormats;

-} VkImageFormatListCreateInfoKHR;

+typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;

 

 

 

@@ -6372,36 +7045,21 @@
 #define VK_KHR_shader_subgroup_extended_types 1

 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1

 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"

-typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           shaderSubgroupExtendedTypes;

-} VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;

+typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;

 

 

 

 #define VK_KHR_8bit_storage 1

 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION  1

 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"

-typedef struct VkPhysicalDevice8BitStorageFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           storageBuffer8BitAccess;

-    VkBool32           uniformAndStorageBuffer8BitAccess;

-    VkBool32           storagePushConstant8;

-} VkPhysicalDevice8BitStorageFeaturesKHR;

+typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;

 

 

 

 #define VK_KHR_shader_atomic_int64 1

 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1

 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"

-typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           shaderBufferInt64Atomics;

-    VkBool32           shaderSharedInt64Atomics;

-} VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;

+typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;

 

 

 

@@ -6418,113 +7076,37 @@
 

 

 #define VK_KHR_driver_properties 1

-#define VK_MAX_DRIVER_NAME_SIZE_KHR       256

-#define VK_MAX_DRIVER_INFO_SIZE_KHR       256

 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1

 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"

+#define VK_MAX_DRIVER_NAME_SIZE_KHR       VK_MAX_DRIVER_NAME_SIZE

+#define VK_MAX_DRIVER_INFO_SIZE_KHR       VK_MAX_DRIVER_INFO_SIZE

+typedef VkDriverId VkDriverIdKHR;

 

-typedef enum VkDriverIdKHR {

-    VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1,

-    VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2,

-    VK_DRIVER_ID_MESA_RADV_KHR = 3,

-    VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = 4,

-    VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = 5,

-    VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = 6,

-    VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = 7,

-    VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = 8,

-    VK_DRIVER_ID_ARM_PROPRIETARY_KHR = 9,

-    VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = 10,

-    VK_DRIVER_ID_GGP_PROPRIETARY_KHR = 11,

-    VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = 12,

-    VK_DRIVER_ID_BEGIN_RANGE_KHR = VK_DRIVER_ID_AMD_PROPRIETARY_KHR,

-    VK_DRIVER_ID_END_RANGE_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR,

-    VK_DRIVER_ID_RANGE_SIZE_KHR = (VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR - VK_DRIVER_ID_AMD_PROPRIETARY_KHR + 1),

-    VK_DRIVER_ID_MAX_ENUM_KHR = 0x7FFFFFFF

-} VkDriverIdKHR;

-typedef struct VkConformanceVersionKHR {

-    uint8_t    major;

-    uint8_t    minor;

-    uint8_t    subminor;

-    uint8_t    patch;

-} VkConformanceVersionKHR;

+typedef VkConformanceVersion VkConformanceVersionKHR;

 

-typedef struct VkPhysicalDeviceDriverPropertiesKHR {

-    VkStructureType            sType;

-    void*                      pNext;

-    VkDriverIdKHR              driverID;

-    char                       driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];

-    char                       driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];

-    VkConformanceVersionKHR    conformanceVersion;

-} VkPhysicalDeviceDriverPropertiesKHR;

+typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;

 

 

 

 #define VK_KHR_shader_float_controls 1

 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4

 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"

+typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;

 

-typedef enum VkShaderFloatControlsIndependenceKHR {

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = 0,

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = 1,

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = 2,

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_BEGIN_RANGE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR,

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_END_RANGE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR,

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_RANGE_SIZE_KHR = (VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR - VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR + 1),

-    VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM_KHR = 0x7FFFFFFF

-} VkShaderFloatControlsIndependenceKHR;

-typedef struct VkPhysicalDeviceFloatControlsPropertiesKHR {

-    VkStructureType                         sType;

-    void*                                   pNext;

-    VkShaderFloatControlsIndependenceKHR    denormBehaviorIndependence;

-    VkShaderFloatControlsIndependenceKHR    roundingModeIndependence;

-    VkBool32                                shaderSignedZeroInfNanPreserveFloat16;

-    VkBool32                                shaderSignedZeroInfNanPreserveFloat32;

-    VkBool32                                shaderSignedZeroInfNanPreserveFloat64;

-    VkBool32                                shaderDenormPreserveFloat16;

-    VkBool32                                shaderDenormPreserveFloat32;

-    VkBool32                                shaderDenormPreserveFloat64;

-    VkBool32                                shaderDenormFlushToZeroFloat16;

-    VkBool32                                shaderDenormFlushToZeroFloat32;

-    VkBool32                                shaderDenormFlushToZeroFloat64;

-    VkBool32                                shaderRoundingModeRTEFloat16;

-    VkBool32                                shaderRoundingModeRTEFloat32;

-    VkBool32                                shaderRoundingModeRTEFloat64;

-    VkBool32                                shaderRoundingModeRTZFloat16;

-    VkBool32                                shaderRoundingModeRTZFloat32;

-    VkBool32                                shaderRoundingModeRTZFloat64;

-} VkPhysicalDeviceFloatControlsPropertiesKHR;

+typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;

 

 

 

 #define VK_KHR_depth_stencil_resolve 1

 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1

 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"

+typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;

 

-typedef enum VkResolveModeFlagBitsKHR {

-    VK_RESOLVE_MODE_NONE_KHR = 0,

-    VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = 0x00000001,

-    VK_RESOLVE_MODE_AVERAGE_BIT_KHR = 0x00000002,

-    VK_RESOLVE_MODE_MIN_BIT_KHR = 0x00000004,

-    VK_RESOLVE_MODE_MAX_BIT_KHR = 0x00000008,

-    VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

-} VkResolveModeFlagBitsKHR;

-typedef VkFlags VkResolveModeFlagsKHR;

-typedef struct VkSubpassDescriptionDepthStencilResolveKHR {

-    VkStructureType                     sType;

-    const void*                         pNext;

-    VkResolveModeFlagBitsKHR            depthResolveMode;

-    VkResolveModeFlagBitsKHR            stencilResolveMode;

-    const VkAttachmentReference2KHR*    pDepthStencilResolveAttachment;

-} VkSubpassDescriptionDepthStencilResolveKHR;

+typedef VkResolveModeFlags VkResolveModeFlagsKHR;

 

-typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {

-    VkStructureType          sType;

-    void*                    pNext;

-    VkResolveModeFlagsKHR    supportedDepthResolveModes;

-    VkResolveModeFlagsKHR    supportedStencilResolveModes;

-    VkBool32                 independentResolveNone;

-    VkBool32                 independentResolve;

-} VkPhysicalDeviceDepthStencilResolvePropertiesKHR;

+typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;

+

+typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;

 

 

 

@@ -6536,68 +7118,27 @@
 #define VK_KHR_timeline_semaphore 1

 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2

 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"

+typedef VkSemaphoreType VkSemaphoreTypeKHR;

 

-typedef enum VkSemaphoreTypeKHR {

-    VK_SEMAPHORE_TYPE_BINARY_KHR = 0,

-    VK_SEMAPHORE_TYPE_TIMELINE_KHR = 1,

-    VK_SEMAPHORE_TYPE_BEGIN_RANGE_KHR = VK_SEMAPHORE_TYPE_BINARY_KHR,

-    VK_SEMAPHORE_TYPE_END_RANGE_KHR = VK_SEMAPHORE_TYPE_TIMELINE_KHR,

-    VK_SEMAPHORE_TYPE_RANGE_SIZE_KHR = (VK_SEMAPHORE_TYPE_TIMELINE_KHR - VK_SEMAPHORE_TYPE_BINARY_KHR + 1),

-    VK_SEMAPHORE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF

-} VkSemaphoreTypeKHR;

+typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;

 

-typedef enum VkSemaphoreWaitFlagBitsKHR {

-    VK_SEMAPHORE_WAIT_ANY_BIT_KHR = 0x00000001,

-    VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

-} VkSemaphoreWaitFlagBitsKHR;

-typedef VkFlags VkSemaphoreWaitFlagsKHR;

-typedef struct VkPhysicalDeviceTimelineSemaphoreFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           timelineSemaphore;

-} VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;

+typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;

 

-typedef struct VkPhysicalDeviceTimelineSemaphorePropertiesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    uint64_t           maxTimelineSemaphoreValueDifference;

-} VkPhysicalDeviceTimelineSemaphorePropertiesKHR;

+typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;

 

-typedef struct VkSemaphoreTypeCreateInfoKHR {

-    VkStructureType       sType;

-    const void*           pNext;

-    VkSemaphoreTypeKHR    semaphoreType;

-    uint64_t              initialValue;

-} VkSemaphoreTypeCreateInfoKHR;

+typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;

 

-typedef struct VkTimelineSemaphoreSubmitInfoKHR {

-    VkStructureType    sType;

-    const void*        pNext;

-    uint32_t           waitSemaphoreValueCount;

-    const uint64_t*    pWaitSemaphoreValues;

-    uint32_t           signalSemaphoreValueCount;

-    const uint64_t*    pSignalSemaphoreValues;

-} VkTimelineSemaphoreSubmitInfoKHR;

+typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;

 

-typedef struct VkSemaphoreWaitInfoKHR {

-    VkStructureType            sType;

-    const void*                pNext;

-    VkSemaphoreWaitFlagsKHR    flags;

-    uint32_t                   semaphoreCount;

-    const VkSemaphore*         pSemaphores;

-    const uint64_t*            pValues;

-} VkSemaphoreWaitInfoKHR;

+typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;

 

-typedef struct VkSemaphoreSignalInfoKHR {

-    VkStructureType    sType;

-    const void*        pNext;

-    VkSemaphore        semaphore;

-    uint64_t           value;

-} VkSemaphoreSignalInfoKHR;

+typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;

+

+typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;

 

 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);

-typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfoKHR* pWaitInfo, uint64_t timeout);

-typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfoKHR* pSignalInfo);

+typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);

+typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);

 

 #ifndef VK_NO_PROTOTYPES

 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(

@@ -6607,25 +7148,19 @@
 

 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(

     VkDevice                                    device,

-    const VkSemaphoreWaitInfoKHR*               pWaitInfo,

+    const VkSemaphoreWaitInfo*                  pWaitInfo,

     uint64_t                                    timeout);

 

 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(

     VkDevice                                    device,

-    const VkSemaphoreSignalInfoKHR*             pSignalInfo);

+    const VkSemaphoreSignalInfo*                pSignalInfo);

 #endif

 

 

 #define VK_KHR_vulkan_memory_model 1

 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3

 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"

-typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           vulkanMemoryModel;

-    VkBool32           vulkanMemoryModelDeviceScope;

-    VkBool32           vulkanMemoryModelAvailabilityVisibilityChains;

-} VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;

+typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;

 

 

 

@@ -6648,38 +7183,53 @@
 #define VK_KHR_separate_depth_stencil_layouts 1

 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1

 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"

-typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           separateDepthStencilLayouts;

-} VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;

+typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;

 

-typedef struct VkAttachmentReferenceStencilLayoutKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkImageLayout      stencilLayout;

-} VkAttachmentReferenceStencilLayoutKHR;

+typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;

 

-typedef struct VkAttachmentDescriptionStencilLayoutKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkImageLayout      stencilInitialLayout;

-    VkImageLayout      stencilFinalLayout;

-} VkAttachmentDescriptionStencilLayoutKHR;

+typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;

 

 

 

 #define VK_KHR_uniform_buffer_standard_layout 1

 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1

 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"

-typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           uniformBufferStandardLayout;

-} VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;

+typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;

 

 

 

+#define VK_KHR_buffer_device_address 1

+#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1

+#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"

+typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;

+

+typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;

+

+typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;

+

+typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;

+

+typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;

+

+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);

+typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);

+typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);

+

+#ifndef VK_NO_PROTOTYPES

+VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(

+    VkDevice                                    device,

+    const VkBufferDeviceAddressInfo*            pInfo);

+

+VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(

+    VkDevice                                    device,

+    const VkBufferDeviceAddressInfo*            pInfo);

+

+VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(

+    VkDevice                                    device,

+    const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);

+#endif

+

+

 #define VK_KHR_pipeline_executable_properties 1

 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1

 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"

@@ -6689,9 +7239,6 @@
     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,

     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,

     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,

-    VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BEGIN_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR,

-    VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_END_RANGE_KHR = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR,

-    VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_RANGE_SIZE_KHR = (VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR - VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR + 1),

     VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF

 } VkPipelineExecutableStatisticFormatKHR;

 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {

@@ -6773,6 +7320,11 @@
 #endif

 

 

+#define VK_KHR_shader_non_semantic_info 1

+#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1

+#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"

+

+

 #define VK_EXT_debug_report 1

 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)

 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION  9

@@ -6810,19 +7362,15 @@
     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,

     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,

     VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,

-    VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,

-    VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,

     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_NV_EXT = 1000165000,

+    VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_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,

     VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,

-    VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,

-    VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,

-    VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),

+    VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,

     VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDebugReportObjectTypeEXT;

 

@@ -6903,9 +7451,6 @@
 typedef enum VkRasterizationOrderAMD {

     VK_RASTERIZATION_ORDER_STRICT_AMD = 0,

     VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,

-    VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,

-    VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,

-    VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),

     VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF

 } VkRasterizationOrderAMD;

 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {

@@ -7099,7 +7644,7 @@
 

 

 #define VK_NVX_image_view_handle 1

-#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 1

+#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2

 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"

 typedef struct VkImageViewHandleInfoNVX {

     VkStructureType     sType;

@@ -7109,12 +7654,25 @@
     VkSampler           sampler;

 } VkImageViewHandleInfoNVX;

 

+typedef struct VkImageViewAddressPropertiesNVX {

+    VkStructureType    sType;

+    void*              pNext;

+    VkDeviceAddress    deviceAddress;

+    VkDeviceSize       size;

+} VkImageViewAddressPropertiesNVX;

+

 typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);

+typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);

 

 #ifndef VK_NO_PROTOTYPES

 VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(

     VkDevice                                    device,

     const VkImageViewHandleInfoNVX*             pInfo);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(

+    VkDevice                                    device,

+    VkImageView                                 imageView,

+    VkImageViewAddressPropertiesNVX*            pProperties);

 #endif

 

 

@@ -7179,9 +7737,6 @@
     VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,

     VK_SHADER_INFO_TYPE_BINARY_AMD = 1,

     VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,

-    VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,

-    VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,

-    VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),

     VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF

 } VkShaderInfoTypeAMD;

 typedef struct VkShaderResourceUsageAMD {

@@ -7302,9 +7857,6 @@
 typedef enum VkValidationCheckEXT {

     VK_VALIDATION_CHECK_ALL_EXT = 0,

     VK_VALIDATION_CHECK_SHADERS_EXT = 1,

-    VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,

-    VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,

-    VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),

     VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkValidationCheckEXT;

 typedef struct VkValidationFlagsEXT {

@@ -7397,229 +7949,6 @@
 #endif

 

 

-#define VK_NVX_device_generated_commands 1

-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)

-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)

-#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3

-#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"

-

-typedef enum VkIndirectCommandsTokenTypeNVX {

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),

-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF

-} VkIndirectCommandsTokenTypeNVX;

-

-typedef enum VkObjectEntryTypeNVX {

-    VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,

-    VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,

-    VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,

-    VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,

-    VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,

-    VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,

-    VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,

-    VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),

-    VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF

-} VkObjectEntryTypeNVX;

-

-typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {

-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,

-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,

-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,

-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,

-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF

-} VkIndirectCommandsLayoutUsageFlagBitsNVX;

-typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;

-

-typedef enum VkObjectEntryUsageFlagBitsNVX {

-    VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,

-    VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,

-    VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF

-} VkObjectEntryUsageFlagBitsNVX;

-typedef VkFlags VkObjectEntryUsageFlagsNVX;

-typedef struct VkDeviceGeneratedCommandsFeaturesNVX {

-    VkStructureType    sType;

-    const void*        pNext;

-    VkBool32           computeBindingPointSupport;

-} VkDeviceGeneratedCommandsFeaturesNVX;

-

-typedef struct VkDeviceGeneratedCommandsLimitsNVX {

-    VkStructureType    sType;

-    const void*        pNext;

-    uint32_t           maxIndirectCommandsLayoutTokenCount;

-    uint32_t           maxObjectEntryCounts;

-    uint32_t           minSequenceCountBufferOffsetAlignment;

-    uint32_t           minSequenceIndexBufferOffsetAlignment;

-    uint32_t           minCommandsTokenBufferOffsetAlignment;

-} VkDeviceGeneratedCommandsLimitsNVX;

-

-typedef struct VkIndirectCommandsTokenNVX {

-    VkIndirectCommandsTokenTypeNVX    tokenType;

-    VkBuffer                          buffer;

-    VkDeviceSize                      offset;

-} VkIndirectCommandsTokenNVX;

-

-typedef struct VkIndirectCommandsLayoutTokenNVX {

-    VkIndirectCommandsTokenTypeNVX    tokenType;

-    uint32_t                          bindingUnit;

-    uint32_t                          dynamicCount;

-    uint32_t                          divisor;

-} VkIndirectCommandsLayoutTokenNVX;

-

-typedef struct VkIndirectCommandsLayoutCreateInfoNVX {

-    VkStructureType                            sType;

-    const void*                                pNext;

-    VkPipelineBindPoint                        pipelineBindPoint;

-    VkIndirectCommandsLayoutUsageFlagsNVX      flags;

-    uint32_t                                   tokenCount;

-    const VkIndirectCommandsLayoutTokenNVX*    pTokens;

-} VkIndirectCommandsLayoutCreateInfoNVX;

-

-typedef struct VkCmdProcessCommandsInfoNVX {

-    VkStructureType                      sType;

-    const void*                          pNext;

-    VkObjectTableNVX                     objectTable;

-    VkIndirectCommandsLayoutNVX          indirectCommandsLayout;

-    uint32_t                             indirectCommandsTokenCount;

-    const VkIndirectCommandsTokenNVX*    pIndirectCommandsTokens;

-    uint32_t                             maxSequencesCount;

-    VkCommandBuffer                      targetCommandBuffer;

-    VkBuffer                             sequencesCountBuffer;

-    VkDeviceSize                         sequencesCountOffset;

-    VkBuffer                             sequencesIndexBuffer;

-    VkDeviceSize                         sequencesIndexOffset;

-} VkCmdProcessCommandsInfoNVX;

-

-typedef struct VkCmdReserveSpaceForCommandsInfoNVX {

-    VkStructureType                sType;

-    const void*                    pNext;

-    VkObjectTableNVX               objectTable;

-    VkIndirectCommandsLayoutNVX    indirectCommandsLayout;

-    uint32_t                       maxSequencesCount;

-} VkCmdReserveSpaceForCommandsInfoNVX;

-

-typedef struct VkObjectTableCreateInfoNVX {

-    VkStructureType                      sType;

-    const void*                          pNext;

-    uint32_t                             objectCount;

-    const VkObjectEntryTypeNVX*          pObjectEntryTypes;

-    const uint32_t*                      pObjectEntryCounts;

-    const VkObjectEntryUsageFlagsNVX*    pObjectEntryUsageFlags;

-    uint32_t                             maxUniformBuffersPerDescriptor;

-    uint32_t                             maxStorageBuffersPerDescriptor;

-    uint32_t                             maxStorageImagesPerDescriptor;

-    uint32_t                             maxSampledImagesPerDescriptor;

-    uint32_t                             maxPipelineLayouts;

-} VkObjectTableCreateInfoNVX;

-

-typedef struct VkObjectTableEntryNVX {

-    VkObjectEntryTypeNVX          type;

-    VkObjectEntryUsageFlagsNVX    flags;

-} VkObjectTableEntryNVX;

-

-typedef struct VkObjectTablePipelineEntryNVX {

-    VkObjectEntryTypeNVX          type;

-    VkObjectEntryUsageFlagsNVX    flags;

-    VkPipeline                    pipeline;

-} VkObjectTablePipelineEntryNVX;

-

-typedef struct VkObjectTableDescriptorSetEntryNVX {

-    VkObjectEntryTypeNVX          type;

-    VkObjectEntryUsageFlagsNVX    flags;

-    VkPipelineLayout              pipelineLayout;

-    VkDescriptorSet               descriptorSet;

-} VkObjectTableDescriptorSetEntryNVX;

-

-typedef struct VkObjectTableVertexBufferEntryNVX {

-    VkObjectEntryTypeNVX          type;

-    VkObjectEntryUsageFlagsNVX    flags;

-    VkBuffer                      buffer;

-} VkObjectTableVertexBufferEntryNVX;

-

-typedef struct VkObjectTableIndexBufferEntryNVX {

-    VkObjectEntryTypeNVX          type;

-    VkObjectEntryUsageFlagsNVX    flags;

-    VkBuffer                      buffer;

-    VkIndexType                   indexType;

-} VkObjectTableIndexBufferEntryNVX;

-

-typedef struct VkObjectTablePushConstantEntryNVX {

-    VkObjectEntryTypeNVX          type;

-    VkObjectEntryUsageFlagsNVX    flags;

-    VkPipelineLayout              pipelineLayout;

-    VkShaderStageFlags            stageFlags;

-} VkObjectTablePushConstantEntryNVX;

-

-typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);

-typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);

-typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);

-typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);

-typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);

-typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);

-typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const*    ppObjectTableEntries, const uint32_t* pObjectIndices);

-typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);

-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);

-

-#ifndef VK_NO_PROTOTYPES

-VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(

-    VkCommandBuffer                             commandBuffer,

-    const VkCmdProcessCommandsInfoNVX*          pProcessCommandsInfo);

-

-VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(

-    VkCommandBuffer                             commandBuffer,

-    const VkCmdReserveSpaceForCommandsInfoNVX*  pReserveSpaceInfo);

-

-VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(

-    VkDevice                                    device,

-    const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,

-    const VkAllocationCallbacks*                pAllocator,

-    VkIndirectCommandsLayoutNVX*                pIndirectCommandsLayout);

-

-VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(

-    VkDevice                                    device,

-    VkIndirectCommandsLayoutNVX                 indirectCommandsLayout,

-    const VkAllocationCallbacks*                pAllocator);

-

-VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(

-    VkDevice                                    device,

-    const VkObjectTableCreateInfoNVX*           pCreateInfo,

-    const VkAllocationCallbacks*                pAllocator,

-    VkObjectTableNVX*                           pObjectTable);

-

-VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(

-    VkDevice                                    device,

-    VkObjectTableNVX                            objectTable,

-    const VkAllocationCallbacks*                pAllocator);

-

-VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(

-    VkDevice                                    device,

-    VkObjectTableNVX                            objectTable,

-    uint32_t                                    objectCount,

-    const VkObjectTableEntryNVX* const*         ppObjectTableEntries,

-    const uint32_t*                             pObjectIndices);

-

-VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(

-    VkDevice                                    device,

-    VkObjectTableNVX                            objectTable,

-    uint32_t                                    objectCount,

-    const VkObjectEntryTypeNVX*                 pObjectEntryTypes,

-    const uint32_t*                             pObjectIndices);

-

-VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(

-    VkPhysicalDevice                            physicalDevice,

-    VkDeviceGeneratedCommandsFeaturesNVX*       pFeatures,

-    VkDeviceGeneratedCommandsLimitsNVX*         pLimits);

-#endif

-

-

 #define VK_NV_clip_space_w_scaling 1

 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1

 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"

@@ -7702,25 +8031,16 @@
     VK_DISPLAY_POWER_STATE_OFF_EXT = 0,

     VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,

     VK_DISPLAY_POWER_STATE_ON_EXT = 2,

-    VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,

-    VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,

-    VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),

     VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDisplayPowerStateEXT;

 

 typedef enum VkDeviceEventTypeEXT {

     VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,

-    VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,

-    VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,

-    VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),

     VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDeviceEventTypeEXT;

 

 typedef enum VkDisplayEventTypeEXT {

     VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,

-    VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,

-    VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,

-    VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),

     VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDisplayEventTypeEXT;

 typedef struct VkDisplayPowerInfoEXT {

@@ -7862,9 +8182,6 @@
     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,

     VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,

     VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,

-    VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,

-    VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,

-    VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),

     VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF

 } VkViewportCoordinateSwizzleNV;

 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;

@@ -7892,9 +8209,6 @@
 typedef enum VkDiscardRectangleModeEXT {

     VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,

     VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,

-    VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,

-    VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,

-    VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),

     VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDiscardRectangleModeEXT;

 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;

@@ -7932,9 +8246,6 @@
     VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,

     VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,

     VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,

-    VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,

-    VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,

-    VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),

     VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkConservativeRasterizationModeEXT;

 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;

@@ -8031,10 +8342,9 @@
 

 #define VK_EXT_debug_utils 1

 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)

-#define VK_EXT_DEBUG_UTILS_SPEC_VERSION   1

+#define VK_EXT_DEBUG_UTILS_SPEC_VERSION   2

 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"

 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;

-typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;

 

 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {

     VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,

@@ -8043,7 +8353,6 @@
     VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,

     VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDebugUtilsMessageSeverityFlagBitsEXT;

-typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;

 

 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {

     VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,

@@ -8052,6 +8361,15 @@
     VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkDebugUtilsMessageTypeFlagBitsEXT;

 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;

+typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;

+typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;

+typedef struct VkDebugUtilsLabelEXT {

+    VkStructureType    sType;

+    const void*        pNext;

+    const char*        pLabelName;

+    float              color[4];

+} VkDebugUtilsLabelEXT;

+

 typedef struct VkDebugUtilsObjectNameInfoEXT {

     VkStructureType    sType;

     const void*        pNext;

@@ -8060,23 +8378,6 @@
     const char*        pObjectName;

 } VkDebugUtilsObjectNameInfoEXT;

 

-typedef struct VkDebugUtilsObjectTagInfoEXT {

-    VkStructureType    sType;

-    const void*        pNext;

-    VkObjectType       objectType;

-    uint64_t           objectHandle;

-    uint64_t           tagName;

-    size_t             tagSize;

-    const void*        pTag;

-} VkDebugUtilsObjectTagInfoEXT;

-

-typedef struct VkDebugUtilsLabelEXT {

-    VkStructureType    sType;

-    const void*        pNext;

-    const char*        pLabelName;

-    float              color[4];

-} VkDebugUtilsLabelEXT;

-

 typedef struct VkDebugUtilsMessengerCallbackDataEXT {

     VkStructureType                              sType;

     const void*                                  pNext;

@@ -8098,6 +8399,16 @@
     const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,

     void*                                            pUserData);

 

+typedef struct VkDebugUtilsObjectTagInfoEXT {

+    VkStructureType    sType;

+    const void*        pNext;

+    VkObjectType       objectType;

+    uint64_t           objectHandle;

+    uint64_t           tagName;

+    size_t             tagSize;

+    const void*        pTag;

+} VkDebugUtilsObjectTagInfoEXT;

+

 typedef struct VkDebugUtilsMessengerCreateInfoEXT {

     VkStructureType                         sType;

     const void*                             pNext;

@@ -8173,28 +8484,11 @@
 #define VK_EXT_sampler_filter_minmax 1

 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2

 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"

+typedef VkSamplerReductionMode VkSamplerReductionModeEXT;

 

-typedef enum VkSamplerReductionModeEXT {

-    VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,

-    VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,

-    VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,

-    VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,

-    VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,

-    VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = (VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1),

-    VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF

-} VkSamplerReductionModeEXT;

-typedef struct VkSamplerReductionModeCreateInfoEXT {

-    VkStructureType              sType;

-    const void*                  pNext;

-    VkSamplerReductionModeEXT    reductionMode;

-} VkSamplerReductionModeCreateInfoEXT;

+typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;

 

-typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           filterMinmaxSingleComponentFormats;

-    VkBool32           filterMinmaxImageComponentMapping;

-} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;

+typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;

 

 

 

@@ -8335,9 +8629,6 @@
     VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,

     VK_BLEND_OVERLAP_DISJOINT_EXT = 1,

     VK_BLEND_OVERLAP_CONJOINT_EXT = 2,

-    VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,

-    VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,

-    VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),

     VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkBlendOverlapEXT;

 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {

@@ -8390,9 +8681,6 @@
     VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,

     VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,

     VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,

-    VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,

-    VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,

-    VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),

     VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF

 } VkCoverageModulationModeNV;

 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;

@@ -8499,9 +8787,6 @@
 

 typedef enum VkValidationCacheHeaderVersionEXT {

     VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,

-    VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,

-    VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,

-    VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),

     VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkValidationCacheHeaderVersionEXT;

 typedef VkFlags VkValidationCacheCreateFlagsEXT;

@@ -8553,87 +8838,19 @@
 #define VK_EXT_descriptor_indexing 1

 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2

 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"

+typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;

 

-typedef enum VkDescriptorBindingFlagBitsEXT {

-    VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = 0x00000001,

-    VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = 0x00000002,

-    VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = 0x00000004,

-    VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = 0x00000008,

-    VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF

-} VkDescriptorBindingFlagBitsEXT;

-typedef VkFlags VkDescriptorBindingFlagsEXT;

-typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {

-    VkStructureType                       sType;

-    const void*                           pNext;

-    uint32_t                              bindingCount;

-    const VkDescriptorBindingFlagsEXT*    pBindingFlags;

-} VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;

+typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;

 

-typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           shaderInputAttachmentArrayDynamicIndexing;

-    VkBool32           shaderUniformTexelBufferArrayDynamicIndexing;

-    VkBool32           shaderStorageTexelBufferArrayDynamicIndexing;

-    VkBool32           shaderUniformBufferArrayNonUniformIndexing;

-    VkBool32           shaderSampledImageArrayNonUniformIndexing;

-    VkBool32           shaderStorageBufferArrayNonUniformIndexing;

-    VkBool32           shaderStorageImageArrayNonUniformIndexing;

-    VkBool32           shaderInputAttachmentArrayNonUniformIndexing;

-    VkBool32           shaderUniformTexelBufferArrayNonUniformIndexing;

-    VkBool32           shaderStorageTexelBufferArrayNonUniformIndexing;

-    VkBool32           descriptorBindingUniformBufferUpdateAfterBind;

-    VkBool32           descriptorBindingSampledImageUpdateAfterBind;

-    VkBool32           descriptorBindingStorageImageUpdateAfterBind;

-    VkBool32           descriptorBindingStorageBufferUpdateAfterBind;

-    VkBool32           descriptorBindingUniformTexelBufferUpdateAfterBind;

-    VkBool32           descriptorBindingStorageTexelBufferUpdateAfterBind;

-    VkBool32           descriptorBindingUpdateUnusedWhilePending;

-    VkBool32           descriptorBindingPartiallyBound;

-    VkBool32           descriptorBindingVariableDescriptorCount;

-    VkBool32           runtimeDescriptorArray;

-} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;

+typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;

 

-typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {

-    VkStructureType    sType;

-    void*              pNext;

-    uint32_t           maxUpdateAfterBindDescriptorsInAllPools;

-    VkBool32           shaderUniformBufferArrayNonUniformIndexingNative;

-    VkBool32           shaderSampledImageArrayNonUniformIndexingNative;

-    VkBool32           shaderStorageBufferArrayNonUniformIndexingNative;

-    VkBool32           shaderStorageImageArrayNonUniformIndexingNative;

-    VkBool32           shaderInputAttachmentArrayNonUniformIndexingNative;

-    VkBool32           robustBufferAccessUpdateAfterBind;

-    VkBool32           quadDivergentImplicitLod;

-    uint32_t           maxPerStageDescriptorUpdateAfterBindSamplers;

-    uint32_t           maxPerStageDescriptorUpdateAfterBindUniformBuffers;

-    uint32_t           maxPerStageDescriptorUpdateAfterBindStorageBuffers;

-    uint32_t           maxPerStageDescriptorUpdateAfterBindSampledImages;

-    uint32_t           maxPerStageDescriptorUpdateAfterBindStorageImages;

-    uint32_t           maxPerStageDescriptorUpdateAfterBindInputAttachments;

-    uint32_t           maxPerStageUpdateAfterBindResources;

-    uint32_t           maxDescriptorSetUpdateAfterBindSamplers;

-    uint32_t           maxDescriptorSetUpdateAfterBindUniformBuffers;

-    uint32_t           maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;

-    uint32_t           maxDescriptorSetUpdateAfterBindStorageBuffers;

-    uint32_t           maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;

-    uint32_t           maxDescriptorSetUpdateAfterBindSampledImages;

-    uint32_t           maxDescriptorSetUpdateAfterBindStorageImages;

-    uint32_t           maxDescriptorSetUpdateAfterBindInputAttachments;

-} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;

+typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;

 

-typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {

-    VkStructureType    sType;

-    const void*        pNext;

-    uint32_t           descriptorSetCount;

-    const uint32_t*    pDescriptorCounts;

-} VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;

+typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;

 

-typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {

-    VkStructureType    sType;

-    void*              pNext;

-    uint32_t           maxVariableDescriptorCount;

-} VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;

+typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;

+

+typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;

 

 

 

@@ -8659,9 +8876,6 @@
     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,

     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,

     VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,

-    VK_SHADING_RATE_PALETTE_ENTRY_BEGIN_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV,

-    VK_SHADING_RATE_PALETTE_ENTRY_END_RANGE_NV = VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV,

-    VK_SHADING_RATE_PALETTE_ENTRY_RANGE_SIZE_NV = (VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV - VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV + 1),

     VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF

 } VkShadingRatePaletteEntryNV;

 

@@ -8670,9 +8884,6 @@
     VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,

     VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,

     VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,

-    VK_COARSE_SAMPLE_ORDER_TYPE_BEGIN_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV,

-    VK_COARSE_SAMPLE_ORDER_TYPE_END_RANGE_NV = VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV,

-    VK_COARSE_SAMPLE_ORDER_TYPE_RANGE_SIZE_NV = (VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV - VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV + 1),

     VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF

 } VkCoarseSampleOrderTypeNV;

 typedef struct VkShadingRatePaletteNV {

@@ -8749,91 +8960,127 @@
 

 

 #define VK_NV_ray_tracing 1

-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)

+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)

+typedef VkAccelerationStructureKHR VkAccelerationStructureNV;

+

 #define VK_NV_RAY_TRACING_SPEC_VERSION    3

 #define VK_NV_RAY_TRACING_EXTENSION_NAME  "VK_NV_ray_tracing"

-#define VK_SHADER_UNUSED_NV               (~0U)

+#define VK_SHADER_UNUSED_KHR              (~0U)

+#define VK_SHADER_UNUSED_NV               VK_SHADER_UNUSED_KHR

 

-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 VkRayTracingShaderGroupTypeKHR {

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,

+    VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkRayTracingShaderGroupTypeKHR;

+typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;

 

-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 VkGeometryTypeKHR {

+    VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,

+    VK_GEOMETRY_TYPE_AABBS_KHR = 1,

+    VK_GEOMETRY_TYPE_INSTANCES_KHR = 1000150000,

+    VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,

+    VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,

+    VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkGeometryTypeKHR;

+typedef VkGeometryTypeKHR VkGeometryTypeNV;

 

-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 VkAccelerationStructureTypeKHR {

+    VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,

+    VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,

+    VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,

+    VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,

+    VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkAccelerationStructureTypeKHR;

+typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;

 

-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 VkCopyAccelerationStructureModeKHR {

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,

+    VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkCopyAccelerationStructureModeKHR;

+typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;

 

-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 enum VkAccelerationStructureMemoryRequirementsTypeKHR {

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0,

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1,

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2,

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR,

+    VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkAccelerationStructureMemoryRequirementsTypeKHR;

+typedef VkAccelerationStructureMemoryRequirementsTypeKHR VkAccelerationStructureMemoryRequirementsTypeNV;

+

+

+typedef enum VkGeometryFlagBitsKHR {

+    VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,

+    VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,

+    VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,

+    VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,

+    VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkGeometryFlagBitsKHR;

+typedef VkFlags VkGeometryFlagsKHR;

+typedef VkGeometryFlagsKHR VkGeometryFlagsNV;

+

+typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;

+

+

+typedef enum VkGeometryInstanceFlagBitsKHR {

+    VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,

+    VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,

+    VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,

+    VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,

+    VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,

+    VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,

+    VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,

+    VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,

+    VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkGeometryInstanceFlagBitsKHR;

+typedef VkFlags VkGeometryInstanceFlagsKHR;

+typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;

+

+typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;

+

+

+typedef enum VkBuildAccelerationStructureFlagBitsKHR {

+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,

+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,

+    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,

+    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,

+    VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,

+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,

+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,

+    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,

+    VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,

+    VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,

+    VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF

+} VkBuildAccelerationStructureFlagBitsKHR;

+typedef VkFlags VkBuildAccelerationStructureFlagsKHR;

+typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;

+

+typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;

+

 typedef struct VkRayTracingShaderGroupCreateInfoNV {

-    VkStructureType                  sType;

-    const void*                      pNext;

-    VkRayTracingShaderGroupTypeNV    type;

-    uint32_t                         generalShader;

-    uint32_t                         closestHitShader;

-    uint32_t                         anyHitShader;

-    uint32_t                         intersectionShader;

+    VkStructureType                   sType;

+    const void*                       pNext;

+    VkRayTracingShaderGroupTypeKHR    type;

+    uint32_t                          generalShader;

+    uint32_t                          closestHitShader;

+    uint32_t                          anyHitShader;

+    uint32_t                          intersectionShader;

 } VkRayTracingShaderGroupCreateInfoNV;

 

 typedef struct VkRayTracingPipelineCreateInfoNV {

@@ -8881,11 +9128,11 @@
 } VkGeometryDataNV;

 

 typedef struct VkGeometryNV {

-    VkStructureType      sType;

-    const void*          pNext;

-    VkGeometryTypeNV     geometryType;

-    VkGeometryDataNV     geometry;

-    VkGeometryFlagsNV    flags;

+    VkStructureType       sType;

+    const void*           pNext;

+    VkGeometryTypeKHR     geometryType;

+    VkGeometryDataNV      geometry;

+    VkGeometryFlagsKHR    flags;

 } VkGeometryNV;

 

 typedef struct VkAccelerationStructureInfoNV {

@@ -8905,22 +9152,26 @@
     VkAccelerationStructureInfoNV    info;

 } VkAccelerationStructureCreateInfoNV;

 

-typedef struct VkBindAccelerationStructureMemoryInfoNV {

-    VkStructureType              sType;

-    const void*                  pNext;

-    VkAccelerationStructureNV    accelerationStructure;

-    VkDeviceMemory               memory;

-    VkDeviceSize                 memoryOffset;

-    uint32_t                     deviceIndexCount;

-    const uint32_t*              pDeviceIndices;

-} VkBindAccelerationStructureMemoryInfoNV;

+typedef struct VkBindAccelerationStructureMemoryInfoKHR {

+    VkStructureType               sType;

+    const void*                   pNext;

+    VkAccelerationStructureKHR    accelerationStructure;

+    VkDeviceMemory                memory;

+    VkDeviceSize                  memoryOffset;

+    uint32_t                      deviceIndexCount;

+    const uint32_t*               pDeviceIndices;

+} VkBindAccelerationStructureMemoryInfoKHR;

 

-typedef struct VkWriteDescriptorSetAccelerationStructureNV {

-    VkStructureType                     sType;

-    const void*                         pNext;

-    uint32_t                            accelerationStructureCount;

-    const VkAccelerationStructureNV*    pAccelerationStructures;

-} VkWriteDescriptorSetAccelerationStructureNV;

+typedef VkBindAccelerationStructureMemoryInfoKHR VkBindAccelerationStructureMemoryInfoNV;

+

+typedef struct VkWriteDescriptorSetAccelerationStructureKHR {

+    VkStructureType                      sType;

+    const void*                          pNext;

+    uint32_t                             accelerationStructureCount;

+    const VkAccelerationStructureKHR*    pAccelerationStructures;

+} VkWriteDescriptorSetAccelerationStructureKHR;

+

+typedef VkWriteDescriptorSetAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV;

 

 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {

     VkStructureType                                    sType;

@@ -8942,17 +9193,49 @@
     uint32_t           maxDescriptorSetAccelerationStructures;

 } VkPhysicalDeviceRayTracingPropertiesNV;

 

+typedef struct VkTransformMatrixKHR {

+    float    matrix[3][4];

+} VkTransformMatrixKHR;

+

+typedef VkTransformMatrixKHR VkTransformMatrixNV;

+

+typedef struct VkAabbPositionsKHR {

+    float    minX;

+    float    minY;

+    float    minZ;

+    float    maxX;

+    float    maxY;

+    float    maxZ;

+} VkAabbPositionsKHR;

+

+typedef VkAabbPositionsKHR VkAabbPositionsNV;

+

+typedef struct VkAccelerationStructureInstanceKHR {

+    VkTransformMatrixKHR          transform;

+    uint32_t                      instanceCustomIndex:24;

+    uint32_t                      mask:8;

+    uint32_t                      instanceShaderBindingTableRecordOffset:24;

+    VkGeometryInstanceFlagsKHR    flags:8;

+    uint64_t                      accelerationStructureReference;

+} VkAccelerationStructureInstanceKHR;

+

+typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;

+

 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_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);

+typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureKHR 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 VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryKHR)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);

+typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);

+typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkBuffer scratch, VkDeviceSize scratchOffset);

+typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureKHR dst, VkAccelerationStructureKHR src, VkCopyAccelerationStructureModeKHR 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_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);

 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_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, size_t dataSize, void* pData);

+typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);

+typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* 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

@@ -8962,9 +9245,14 @@
     const VkAllocationCallbacks*                pAllocator,

     VkAccelerationStructureNV*                  pAccelerationStructure);

 

+VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(

+    VkDevice                                    device,

+    VkAccelerationStructureKHR                  accelerationStructure,

+    const VkAllocationCallbacks*                pAllocator);

+

 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(

     VkDevice                                    device,

-    VkAccelerationStructureNV                   accelerationStructure,

+    VkAccelerationStructureKHR                  accelerationStructure,

     const VkAllocationCallbacks*                pAllocator);

 

 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(

@@ -8972,10 +9260,15 @@
     const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,

     VkMemoryRequirements2KHR*                   pMemoryRequirements);

 

+VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryKHR(

+    VkDevice                                    device,

+    uint32_t                                    bindInfoCount,

+    const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);

+

 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(

     VkDevice                                    device,

     uint32_t                                    bindInfoCount,

-    const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);

+    const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos);

 

 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(

     VkCommandBuffer                             commandBuffer,

@@ -8983,16 +9276,16 @@
     VkBuffer                                    instanceData,

     VkDeviceSize                                instanceOffset,

     VkBool32                                    update,

-    VkAccelerationStructureNV                   dst,

-    VkAccelerationStructureNV                   src,

+    VkAccelerationStructureKHR                  dst,

+    VkAccelerationStructureKHR                  src,

     VkBuffer                                    scratch,

     VkDeviceSize                                scratchOffset);

 

 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(

     VkCommandBuffer                             commandBuffer,

-    VkAccelerationStructureNV                   dst,

-    VkAccelerationStructureNV                   src,

-    VkCopyAccelerationStructureModeNV           mode);

+    VkAccelerationStructureKHR                  dst,

+    VkAccelerationStructureKHR                  src,

+    VkCopyAccelerationStructureModeKHR          mode);

 

 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(

     VkCommandBuffer                             commandBuffer,

@@ -9019,6 +9312,14 @@
     const VkAllocationCallbacks*                pAllocator,

     VkPipeline*                                 pPipelines);

 

+VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(

+    VkDevice                                    device,

+    VkPipeline                                  pipeline,

+    uint32_t                                    firstGroup,

+    uint32_t                                    groupCount,

+    size_t                                      dataSize,

+    void*                                       pData);

+

 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(

     VkDevice                                    device,

     VkPipeline                                  pipeline,

@@ -9029,14 +9330,22 @@
 

 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(

     VkDevice                                    device,

-    VkAccelerationStructureNV                   accelerationStructure,

+    VkAccelerationStructureKHR                  accelerationStructure,

     size_t                                      dataSize,

     void*                                       pData);

 

+VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(

+    VkCommandBuffer                             commandBuffer,

+    uint32_t                                    accelerationStructureCount,

+    const VkAccelerationStructureKHR*           pAccelerationStructures,

+    VkQueryType                                 queryType,

+    VkQueryPool                                 queryPool,

+    uint32_t                                    firstQuery);

+

 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(

     VkCommandBuffer                             commandBuffer,

     uint32_t                                    accelerationStructureCount,

-    const VkAccelerationStructureNV*            pAccelerationStructures,

+    const VkAccelerationStructureKHR*           pAccelerationStructures,

     VkQueryType                                 queryType,

     VkQueryPool                                 queryPool,

     uint32_t                                    firstQuery);

@@ -9066,7 +9375,7 @@
 

 

 #define VK_EXT_filter_cubic 1

-#define VK_EXT_FILTER_CUBIC_SPEC_VERSION  2

+#define VK_EXT_FILTER_CUBIC_SPEC_VERSION  3

 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"

 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {

     VkStructureType    sType;

@@ -9078,11 +9387,16 @@
     VkStructureType    sType;

     void*              pNext;

     VkBool32           filterCubic;

-    VkBool32           filterCubicMinmax ;

+    VkBool32           filterCubicMinmax;

 } VkFilterCubicImageViewImageFormatPropertiesEXT;

 

 

 

+#define VK_QCOM_render_pass_shader_resolve 1

+#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4

+#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"

+

+

 #define VK_EXT_global_priority 1

 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2

 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"

@@ -9092,9 +9406,6 @@
     VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,

     VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,

     VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,

-    VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,

-    VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,

-    VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),

     VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkQueueGlobalPriorityEXT;

 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {

@@ -9178,9 +9489,6 @@
     VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,

     VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,

     VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,

-    VK_TIME_DOMAIN_BEGIN_RANGE_EXT = VK_TIME_DOMAIN_DEVICE_EXT,

-    VK_TIME_DOMAIN_END_RANGE_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT,

-    VK_TIME_DOMAIN_RANGE_SIZE_EXT = (VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT - VK_TIME_DOMAIN_DEVICE_EXT + 1),

     VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkTimeDomainEXT;

 typedef struct VkCalibratedTimestampInfoEXT {

@@ -9239,9 +9547,6 @@
     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 {

@@ -9479,40 +9784,28 @@
 

 #define VK_INTEL_performance_query 1

 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)

-#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 1

+#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2

 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"

 

 typedef enum VkPerformanceConfigurationTypeINTEL {

     VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,

-    VK_PERFORMANCE_CONFIGURATION_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,

-    VK_PERFORMANCE_CONFIGURATION_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL,

-    VK_PERFORMANCE_CONFIGURATION_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL - VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL + 1),

     VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF

 } VkPerformanceConfigurationTypeINTEL;

 

 typedef enum VkQueryPoolSamplingModeINTEL {

     VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,

-    VK_QUERY_POOL_SAMPLING_MODE_BEGIN_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,

-    VK_QUERY_POOL_SAMPLING_MODE_END_RANGE_INTEL = VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL,

-    VK_QUERY_POOL_SAMPLING_MODE_RANGE_SIZE_INTEL = (VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL - VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL + 1),

     VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF

 } VkQueryPoolSamplingModeINTEL;

 

 typedef enum VkPerformanceOverrideTypeINTEL {

     VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,

     VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,

-    VK_PERFORMANCE_OVERRIDE_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL,

-    VK_PERFORMANCE_OVERRIDE_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL,

-    VK_PERFORMANCE_OVERRIDE_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL - VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL + 1),

     VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF

 } VkPerformanceOverrideTypeINTEL;

 

 typedef enum VkPerformanceParameterTypeINTEL {

     VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,

     VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,

-    VK_PERFORMANCE_PARAMETER_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL,

-    VK_PERFORMANCE_PARAMETER_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL,

-    VK_PERFORMANCE_PARAMETER_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL - VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL + 1),

     VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF

 } VkPerformanceParameterTypeINTEL;

 

@@ -9522,9 +9815,6 @@
     VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,

     VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,

     VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,

-    VK_PERFORMANCE_VALUE_TYPE_BEGIN_RANGE_INTEL = VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL,

-    VK_PERFORMANCE_VALUE_TYPE_END_RANGE_INTEL = VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL,

-    VK_PERFORMANCE_VALUE_TYPE_RANGE_SIZE_INTEL = (VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL - VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL + 1),

     VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF

 } VkPerformanceValueTypeINTEL;

 typedef union VkPerformanceValueDataINTEL {

@@ -9546,11 +9836,13 @@
     void*              pUserData;

 } VkInitializePerformanceApiInfoINTEL;

 

-typedef struct VkQueryPoolCreateInfoINTEL {

+typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {

     VkStructureType                 sType;

     const void*                     pNext;

     VkQueryPoolSamplingModeINTEL    performanceCountersSampling;

-} VkQueryPoolCreateInfoINTEL;

+} VkQueryPoolPerformanceQueryCreateInfoINTEL;

+

+typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;

 

 typedef struct VkPerformanceMarkerInfoINTEL {

     VkStructureType    sType;

@@ -9697,11 +9989,7 @@
 #define VK_EXT_scalar_block_layout 1

 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1

 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"

-typedef struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           scalarBlockLayout;

-} VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;

+typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;

 

 

 

@@ -9811,7 +10099,6 @@
 

 

 #define VK_EXT_buffer_device_address 1

-typedef uint64_t VkDeviceAddress;

 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2

 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"

 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {

@@ -9824,11 +10111,7 @@
 

 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;

 

-typedef struct VkBufferDeviceAddressInfoEXT {

-    VkStructureType    sType;

-    const void*        pNext;

-    VkBuffer           buffer;

-} VkBufferDeviceAddressInfoEXT;

+typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;

 

 typedef struct VkBufferDeviceAddressCreateInfoEXT {

     VkStructureType    sType;

@@ -9836,37 +10119,66 @@
     VkDeviceAddress    deviceAddress;

 } VkBufferDeviceAddressCreateInfoEXT;

 

-typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo);

+typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);

 

 #ifndef VK_NO_PROTOTYPES

 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(

     VkDevice                                    device,

-    const VkBufferDeviceAddressInfoEXT*         pInfo);

+    const VkBufferDeviceAddressInfo*            pInfo);

+#endif

+

+

+#define VK_EXT_tooling_info 1

+#define VK_EXT_TOOLING_INFO_SPEC_VERSION  1

+#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"

+

+typedef enum VkToolPurposeFlagBitsEXT {

+    VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,

+    VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,

+    VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,

+    VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,

+    VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,

+    VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,

+    VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,

+    VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF

+} VkToolPurposeFlagBitsEXT;

+typedef VkFlags VkToolPurposeFlagsEXT;

+typedef struct VkPhysicalDeviceToolPropertiesEXT {

+    VkStructureType          sType;

+    void*                    pNext;

+    char                     name[VK_MAX_EXTENSION_NAME_SIZE];

+    char                     version[VK_MAX_EXTENSION_NAME_SIZE];

+    VkToolPurposeFlagsEXT    purposes;

+    char                     description[VK_MAX_DESCRIPTION_SIZE];

+    char                     layer[VK_MAX_EXTENSION_NAME_SIZE];

+} VkPhysicalDeviceToolPropertiesEXT;

+

+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);

+

+#ifndef VK_NO_PROTOTYPES

+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(

+    VkPhysicalDevice                            physicalDevice,

+    uint32_t*                                   pToolCount,

+    VkPhysicalDeviceToolPropertiesEXT*          pToolProperties);

 #endif

 

 

 #define VK_EXT_separate_stencil_usage 1

 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1

 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"

-typedef struct VkImageStencilUsageCreateInfoEXT {

-    VkStructureType      sType;

-    const void*          pNext;

-    VkImageUsageFlags    stencilUsage;

-} VkImageStencilUsageCreateInfoEXT;

+typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;

 

 

 

 #define VK_EXT_validation_features 1

-#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 2

+#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 3

 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"

 

 typedef enum VkValidationFeatureEnableEXT {

     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,

     VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,

     VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,

-    VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,

-    VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,

-    VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1),

+    VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,

     VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkValidationFeatureEnableEXT;

 

@@ -9878,9 +10190,6 @@
     VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,

     VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,

     VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,

-    VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,

-    VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT = VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,

-    VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT = (VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1),

     VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkValidationFeatureDisableEXT;

 typedef struct VkValidationFeaturesEXT {

@@ -9910,9 +10219,6 @@
     VK_COMPONENT_TYPE_UINT16_NV = 8,

     VK_COMPONENT_TYPE_UINT32_NV = 9,

     VK_COMPONENT_TYPE_UINT64_NV = 10,

-    VK_COMPONENT_TYPE_BEGIN_RANGE_NV = VK_COMPONENT_TYPE_FLOAT16_NV,

-    VK_COMPONENT_TYPE_END_RANGE_NV = VK_COMPONENT_TYPE_UINT64_NV,

-    VK_COMPONENT_TYPE_RANGE_SIZE_NV = (VK_COMPONENT_TYPE_UINT64_NV - VK_COMPONENT_TYPE_FLOAT16_NV + 1),

     VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF

 } VkComponentTypeNV;

 

@@ -9921,9 +10227,6 @@
     VK_SCOPE_WORKGROUP_NV = 2,

     VK_SCOPE_SUBGROUP_NV = 3,

     VK_SCOPE_QUEUE_FAMILY_NV = 5,

-    VK_SCOPE_BEGIN_RANGE_NV = VK_SCOPE_DEVICE_NV,

-    VK_SCOPE_END_RANGE_NV = VK_SCOPE_QUEUE_FAMILY_NV,

-    VK_SCOPE_RANGE_SIZE_NV = (VK_SCOPE_QUEUE_FAMILY_NV - VK_SCOPE_DEVICE_NV + 1),

     VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF

 } VkScopeNV;

 typedef struct VkCooperativeMatrixPropertiesNV {

@@ -9969,9 +10272,6 @@
 typedef enum VkCoverageReductionModeNV {

     VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,

     VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,

-    VK_COVERAGE_REDUCTION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_MERGE_NV,

-    VK_COVERAGE_REDUCTION_MODE_END_RANGE_NV = VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV,

-    VK_COVERAGE_REDUCTION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV - VK_COVERAGE_REDUCTION_MODE_MERGE_NV + 1),

     VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF

 } VkCoverageReductionModeNV;

 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;

@@ -10061,9 +10361,6 @@
     VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,

     VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,

     VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,

-    VK_LINE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT,

-    VK_LINE_RASTERIZATION_MODE_END_RANGE_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT,

-    VK_LINE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT - VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT + 1),

     VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkLineRasterizationModeEXT;

 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {

@@ -10105,11 +10402,7 @@
 #define VK_EXT_host_query_reset 1

 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1

 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"

-typedef struct VkPhysicalDeviceHostQueryResetFeaturesEXT {

-    VkStructureType    sType;

-    void*              pNext;

-    VkBool32           hostQueryReset;

-} VkPhysicalDeviceHostQueryResetFeaturesEXT;

+typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;

 

 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);

 

@@ -10144,6 +10437,196 @@
 

 

 

+#define VK_NV_device_generated_commands 1

+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)

+#define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3

+#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"

+

+typedef enum VkIndirectCommandsTokenTypeNV {

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,

+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF

+} VkIndirectCommandsTokenTypeNV;

+

+typedef enum VkIndirectStateFlagBitsNV {

+    VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,

+    VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF

+} VkIndirectStateFlagBitsNV;

+typedef VkFlags VkIndirectStateFlagsNV;

+

+typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {

+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,

+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,

+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,

+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF

+} VkIndirectCommandsLayoutUsageFlagBitsNV;

+typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;

+typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {

+    VkStructureType    sType;

+    void*              pNext;

+    uint32_t           maxGraphicsShaderGroupCount;

+    uint32_t           maxIndirectSequenceCount;

+    uint32_t           maxIndirectCommandsTokenCount;

+    uint32_t           maxIndirectCommandsStreamCount;

+    uint32_t           maxIndirectCommandsTokenOffset;

+    uint32_t           maxIndirectCommandsStreamStride;

+    uint32_t           minSequencesCountBufferOffsetAlignment;

+    uint32_t           minSequencesIndexBufferOffsetAlignment;

+    uint32_t           minIndirectCommandsBufferOffsetAlignment;

+} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;

+

+typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           deviceGeneratedCommands;

+} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;

+

+typedef struct VkGraphicsShaderGroupCreateInfoNV {

+    VkStructureType                                 sType;

+    const void*                                     pNext;

+    uint32_t                                        stageCount;

+    const VkPipelineShaderStageCreateInfo*          pStages;

+    const VkPipelineVertexInputStateCreateInfo*     pVertexInputState;

+    const VkPipelineTessellationStateCreateInfo*    pTessellationState;

+} VkGraphicsShaderGroupCreateInfoNV;

+

+typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {

+    VkStructureType                             sType;

+    const void*                                 pNext;

+    uint32_t                                    groupCount;

+    const VkGraphicsShaderGroupCreateInfoNV*    pGroups;

+    uint32_t                                    pipelineCount;

+    const VkPipeline*                           pPipelines;

+} VkGraphicsPipelineShaderGroupsCreateInfoNV;

+

+typedef struct VkBindShaderGroupIndirectCommandNV {

+    uint32_t    groupIndex;

+} VkBindShaderGroupIndirectCommandNV;

+

+typedef struct VkBindIndexBufferIndirectCommandNV {

+    VkDeviceAddress    bufferAddress;

+    uint32_t           size;

+    VkIndexType        indexType;

+} VkBindIndexBufferIndirectCommandNV;

+

+typedef struct VkBindVertexBufferIndirectCommandNV {

+    VkDeviceAddress    bufferAddress;

+    uint32_t           size;

+    uint32_t           stride;

+} VkBindVertexBufferIndirectCommandNV;

+

+typedef struct VkSetStateFlagsIndirectCommandNV {

+    uint32_t    data;

+} VkSetStateFlagsIndirectCommandNV;

+

+typedef struct VkIndirectCommandsStreamNV {

+    VkBuffer        buffer;

+    VkDeviceSize    offset;

+} VkIndirectCommandsStreamNV;

+

+typedef struct VkIndirectCommandsLayoutTokenNV {

+    VkStructureType                  sType;

+    const void*                      pNext;

+    VkIndirectCommandsTokenTypeNV    tokenType;

+    uint32_t                         stream;

+    uint32_t                         offset;

+    uint32_t                         vertexBindingUnit;

+    VkBool32                         vertexDynamicStride;

+    VkPipelineLayout                 pushconstantPipelineLayout;

+    VkShaderStageFlags               pushconstantShaderStageFlags;

+    uint32_t                         pushconstantOffset;

+    uint32_t                         pushconstantSize;

+    VkIndirectStateFlagsNV           indirectStateFlags;

+    uint32_t                         indexTypeCount;

+    const VkIndexType*               pIndexTypes;

+    const uint32_t*                  pIndexTypeValues;

+} VkIndirectCommandsLayoutTokenNV;

+

+typedef struct VkIndirectCommandsLayoutCreateInfoNV {

+    VkStructureType                           sType;

+    const void*                               pNext;

+    VkIndirectCommandsLayoutUsageFlagsNV      flags;

+    VkPipelineBindPoint                       pipelineBindPoint;

+    uint32_t                                  tokenCount;

+    const VkIndirectCommandsLayoutTokenNV*    pTokens;

+    uint32_t                                  streamCount;

+    const uint32_t*                           pStreamStrides;

+} VkIndirectCommandsLayoutCreateInfoNV;

+

+typedef struct VkGeneratedCommandsInfoNV {

+    VkStructureType                      sType;

+    const void*                          pNext;

+    VkPipelineBindPoint                  pipelineBindPoint;

+    VkPipeline                           pipeline;

+    VkIndirectCommandsLayoutNV           indirectCommandsLayout;

+    uint32_t                             streamCount;

+    const VkIndirectCommandsStreamNV*    pStreams;

+    uint32_t                             sequencesCount;

+    VkBuffer                             preprocessBuffer;

+    VkDeviceSize                         preprocessOffset;

+    VkDeviceSize                         preprocessSize;

+    VkBuffer                             sequencesCountBuffer;

+    VkDeviceSize                         sequencesCountOffset;

+    VkBuffer                             sequencesIndexBuffer;

+    VkDeviceSize                         sequencesIndexOffset;

+} VkGeneratedCommandsInfoNV;

+

+typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {

+    VkStructureType               sType;

+    const void*                   pNext;

+    VkPipelineBindPoint           pipelineBindPoint;

+    VkPipeline                    pipeline;

+    VkIndirectCommandsLayoutNV    indirectCommandsLayout;

+    uint32_t                      maxSequencesCount;

+} VkGeneratedCommandsMemoryRequirementsInfoNV;

+

+typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);

+typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);

+typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);

+typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);

+typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);

+typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);

+

+#ifndef VK_NO_PROTOTYPES

+VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(

+    VkDevice                                    device,

+    const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,

+    VkMemoryRequirements2*                      pMemoryRequirements);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(

+    VkCommandBuffer                             commandBuffer,

+    const VkGeneratedCommandsInfoNV*            pGeneratedCommandsInfo);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(

+    VkCommandBuffer                             commandBuffer,

+    VkBool32                                    isPreprocessed,

+    const VkGeneratedCommandsInfoNV*            pGeneratedCommandsInfo);

+

+VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(

+    VkCommandBuffer                             commandBuffer,

+    VkPipelineBindPoint                         pipelineBindPoint,

+    VkPipeline                                  pipeline,

+    uint32_t                                    groupIndex);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(

+    VkDevice                                    device,

+    const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,

+    const VkAllocationCallbacks*                pAllocator,

+    VkIndirectCommandsLayoutNV*                 pIndirectCommandsLayout);

+

+VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(

+    VkDevice                                    device,

+    VkIndirectCommandsLayoutNV                  indirectCommandsLayout,

+    const VkAllocationCallbacks*                pAllocator);

+#endif

+

+

 #define VK_EXT_texel_buffer_alignment 1

 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1

 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"

@@ -10164,10 +10647,174 @@
 

 

 

+#define VK_QCOM_render_pass_transform 1

+#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1

+#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"

+typedef struct VkRenderPassTransformBeginInfoQCOM {

+    VkStructureType                  sType;

+    void*                            pNext;

+    VkSurfaceTransformFlagBitsKHR    transform;

+} VkRenderPassTransformBeginInfoQCOM;

+

+typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {

+    VkStructureType                  sType;

+    void*                            pNext;

+    VkSurfaceTransformFlagBitsKHR    transform;

+    VkRect2D                         renderArea;

+} VkCommandBufferInheritanceRenderPassTransformInfoQCOM;

+

+

+

+#define VK_EXT_robustness2 1

+#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION  1

+#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"

+typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           robustBufferAccess2;

+    VkBool32           robustImageAccess2;

+    VkBool32           nullDescriptor;

+} VkPhysicalDeviceRobustness2FeaturesEXT;

+

+typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {

+    VkStructureType    sType;

+    void*              pNext;

+    VkDeviceSize       robustStorageBufferAccessSizeAlignment;

+    VkDeviceSize       robustUniformBufferAccessSizeAlignment;

+} VkPhysicalDeviceRobustness2PropertiesEXT;

+

+

+

+#define VK_EXT_custom_border_color 1

+#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12

+#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"

+typedef struct VkSamplerCustomBorderColorCreateInfoEXT {

+    VkStructureType      sType;

+    const void*          pNext;

+    VkClearColorValue    customBorderColor;

+    VkFormat             format;

+} VkSamplerCustomBorderColorCreateInfoEXT;

+

+typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {

+    VkStructureType    sType;

+    void*              pNext;

+    uint32_t           maxCustomBorderColorSamplers;

+} VkPhysicalDeviceCustomBorderColorPropertiesEXT;

+

+typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           customBorderColors;

+    VkBool32           customBorderColorWithoutFormat;

+} VkPhysicalDeviceCustomBorderColorFeaturesEXT;

+

+

+

 #define VK_GOOGLE_user_type 1

 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION  1

 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"

 

+

+#define VK_EXT_private_data 1

+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)

+#define VK_EXT_PRIVATE_DATA_SPEC_VERSION  1

+#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"

+

+typedef enum VkPrivateDataSlotCreateFlagBitsEXT {

+    VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF

+} VkPrivateDataSlotCreateFlagBitsEXT;

+typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;

+typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           privateData;

+} VkPhysicalDevicePrivateDataFeaturesEXT;

+

+typedef struct VkDevicePrivateDataCreateInfoEXT {

+    VkStructureType    sType;

+    const void*        pNext;

+    uint32_t           privateDataSlotRequestCount;

+} VkDevicePrivateDataCreateInfoEXT;

+

+typedef struct VkPrivateDataSlotCreateInfoEXT {

+    VkStructureType                    sType;

+    const void*                        pNext;

+    VkPrivateDataSlotCreateFlagsEXT    flags;

+} VkPrivateDataSlotCreateInfoEXT;

+

+typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);

+typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);

+typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);

+typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData);

+

+#ifndef VK_NO_PROTOTYPES

+VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(

+    VkDevice                                    device,

+    const VkPrivateDataSlotCreateInfoEXT*       pCreateInfo,

+    const VkAllocationCallbacks*                pAllocator,

+    VkPrivateDataSlotEXT*                       pPrivateDataSlot);

+

+VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(

+    VkDevice                                    device,

+    VkPrivateDataSlotEXT                        privateDataSlot,

+    const VkAllocationCallbacks*                pAllocator);

+

+VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(

+    VkDevice                                    device,

+    VkObjectType                                objectType,

+    uint64_t                                    objectHandle,

+    VkPrivateDataSlotEXT                        privateDataSlot,

+    uint64_t                                    data);

+

+VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(

+    VkDevice                                    device,

+    VkObjectType                                objectType,

+    uint64_t                                    objectHandle,

+    VkPrivateDataSlotEXT                        privateDataSlot,

+    uint64_t*                                   pData);

+#endif

+

+

+#define VK_EXT_pipeline_creation_cache_control 1

+#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3

+#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"

+typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           pipelineCreationCacheControl;

+} VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;

+

+

+

+#define VK_NV_device_diagnostics_config 1

+#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1

+#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"

+

+typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {

+    VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,

+    VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,

+    VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,

+    VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF

+} VkDeviceDiagnosticsConfigFlagBitsNV;

+typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;

+typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {

+    VkStructureType    sType;

+    void*              pNext;

+    VkBool32           diagnosticsConfig;

+} VkPhysicalDeviceDiagnosticsConfigFeaturesNV;

+

+typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {

+    VkStructureType                     sType;

+    const void*                         pNext;

+    VkDeviceDiagnosticsConfigFlagsNV    flags;

+} VkDeviceDiagnosticsConfigCreateInfoNV;

+

+

+

+#define VK_QCOM_render_pass_store_ops 1

+#define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2

+#define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"

+

 #ifdef __cplusplus

 }

 #endif

diff --git a/include/vulkan/vulkan_fuchsia.h b/include/vulkan/vulkan_fuchsia.h
index bc8aaa8..0456530 100644
--- a/include/vulkan/vulkan_fuchsia.h
+++ b/include/vulkan/vulkan_fuchsia.h
@@ -2,7 +2,7 @@
 #define VULKAN_FUCHSIA_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_fuchsia_extras.h b/include/vulkan/vulkan_fuchsia_extras.h
index f1dc660..46bdc59 100644
--- a/include/vulkan/vulkan_fuchsia_extras.h
+++ b/include/vulkan/vulkan_fuchsia_extras.h
@@ -34,10 +34,10 @@
 ///
 
 #define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA            ((VkStructureType)1001004000)
-#define VK_STRUCTURE_TYPE_FUCHSIA_IMAGE_FORMAT_FUCHSIA                     ((VkStructureType)1001004001)

+#define VK_STRUCTURE_TYPE_FUCHSIA_IMAGE_FORMAT_FUCHSIA                     ((VkStructureType)1001004001)
 #define VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA          ((VkStructureType)1001004004)
 #define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA      ((VkStructureType)1001004005)
-#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA             ((VkStructureType)1001004006)

+#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA             ((VkStructureType)1001004006)
 #define VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA                  ((VkStructureType)1001004007)
 #define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA     ((VkStructureType)1001004008)
 #define VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA    ((VkStructureType)1001005000)
@@ -48,7 +48,7 @@
 
 #define VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA ((VkObjectType)1001004002)
 
-#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA ((VkExternalMemoryHandleTypeFlagBits)0x00100000)

+#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA ((VkExternalMemoryHandleTypeFlagBits)0x00100000)
 #define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA ((VkExternalSemaphoreHandleTypeFlagBits) 0x00100000)
 
 #define VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT ((VkDebugReportObjectTypeEXT) 1001004003)
diff --git a/include/vulkan/vulkan_ggp.h b/include/vulkan/vulkan_ggp.h
index 32f9c2a..c0b5eeb 100644
--- a/include/vulkan/vulkan_ggp.h
+++ b/include/vulkan/vulkan_ggp.h
@@ -2,7 +2,7 @@
 #define VULKAN_GGP_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_ios.h b/include/vulkan/vulkan_ios.h
index bc2c361..e114c24 100644
--- a/include/vulkan/vulkan_ios.h
+++ b/include/vulkan/vulkan_ios.h
@@ -2,7 +2,7 @@
 #define VULKAN_IOS_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_macos.h b/include/vulkan/vulkan_macos.h
index 9c38230..24afca7 100644
--- a/include/vulkan/vulkan_macos.h
+++ b/include/vulkan/vulkan_macos.h
@@ -2,7 +2,7 @@
 #define VULKAN_MACOS_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_metal.h b/include/vulkan/vulkan_metal.h
index 454c46c..36469eb 100644
--- a/include/vulkan/vulkan_metal.h
+++ b/include/vulkan/vulkan_metal.h
@@ -2,7 +2,7 @@
 #define VULKAN_METAL_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_vi.h b/include/vulkan/vulkan_vi.h
index a13ca36..5c706ba 100644
--- a/include/vulkan/vulkan_vi.h
+++ b/include/vulkan/vulkan_vi.h
@@ -2,7 +2,7 @@
 #define VULKAN_VI_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_wayland.h b/include/vulkan/vulkan_wayland.h
index e1c784c..aff4836 100644
--- a/include/vulkan/vulkan_wayland.h
+++ b/include/vulkan/vulkan_wayland.h
@@ -2,7 +2,7 @@
 #define VULKAN_WAYLAND_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_win32.h b/include/vulkan/vulkan_win32.h
index d87db5f..8927f5f 100644
--- a/include/vulkan/vulkan_win32.h
+++ b/include/vulkan/vulkan_win32.h
@@ -2,7 +2,7 @@
 #define VULKAN_WIN32_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

@@ -272,9 +272,6 @@
     VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,

     VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,

     VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,

-    VK_FULL_SCREEN_EXCLUSIVE_BEGIN_RANGE_EXT = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,

-    VK_FULL_SCREEN_EXCLUSIVE_END_RANGE_EXT = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT,

-    VK_FULL_SCREEN_EXCLUSIVE_RANGE_SIZE_EXT = (VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT - VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT + 1),

     VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF

 } VkFullScreenExclusiveEXT;

 typedef struct VkSurfaceFullScreenExclusiveInfoEXT {

diff --git a/include/vulkan/vulkan_xcb.h b/include/vulkan/vulkan_xcb.h
index 1470e25..2f8e04a 100644
--- a/include/vulkan/vulkan_xcb.h
+++ b/include/vulkan/vulkan_xcb.h
@@ -2,7 +2,7 @@
 #define VULKAN_XCB_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_xlib.h b/include/vulkan/vulkan_xlib.h
index 46f35f2..d0f32e9 100644
--- a/include/vulkan/vulkan_xlib.h
+++ b/include/vulkan/vulkan_xlib.h
@@ -2,7 +2,7 @@
 #define VULKAN_XLIB_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/include/vulkan/vulkan_xlib_xrandr.h b/include/vulkan/vulkan_xlib_xrandr.h
index dcc4722..cc8851c 100644
--- a/include/vulkan/vulkan_xlib_xrandr.h
+++ b/include/vulkan/vulkan_xlib_xrandr.h
@@ -2,7 +2,7 @@
 #define VULKAN_XLIB_XRANDR_H_ 1

 

 /*

-** Copyright (c) 2015-2019 The Khronos Group Inc.

+** Copyright (c) 2015-2020 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.

diff --git a/src/Vulkan/VkStringify.cpp b/src/Vulkan/VkStringify.cpp
index 6551b76..eedd1bb 100644
--- a/src/Vulkan/VkStringify.cpp
+++ b/src/Vulkan/VkStringify.cpp
@@ -212,12 +212,14 @@
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR),
-		INSERT_ELEMENT(VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX),
-		INSERT_ELEMENT(VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX),
-		INSERT_ELEMENT(VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX),
-		INSERT_ELEMENT(VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX),
-		INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX),
-		INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT),
@@ -455,6 +457,9 @@
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT),
+		INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT),
 		INSERT_ELEMENT(VK_STRUCTURE_TYPE_MAX_ENUM)
 #	undef INSERT_ELEMENT
 	};
diff --git a/src/Vulkan/VulkanPlatform.hpp b/src/Vulkan/VulkanPlatform.hpp
index 317cf14..c1ac233 100644
--- a/src/Vulkan/VulkanPlatform.hpp
+++ b/src/Vulkan/VulkanPlatform.hpp
@@ -64,7 +64,7 @@
 
 // When updating the Vulkan Headers we use, go through each constant below and make sure they are valid.
 // Once that's done, update SwiftShaderVulkanHeaderVersion.
-constexpr int SwiftShaderVulkanHeaderVersion = 128;
+constexpr int SwiftShaderVulkanHeaderVersion = 141;
 static_assert(SwiftShaderVulkanHeaderVersion == VK_HEADER_VERSION, "Please validate/update constants below upon upgrading Vulkan headers");
 
 constexpr auto VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1);