Update for Vulkan-Docs 1.2.188
authorJon Leech <oddhack@sonic.net>
Tue, 10 Aug 2021 12:33:27 +0000 (05:33 -0700)
committerJon Leech <devrel@oddhack.org>
Tue, 10 Aug 2021 12:34:46 +0000 (05:34 -0700)
include/vulkan/vulkan.hpp
include/vulkan/vulkan_core.h
include/vulkan/vulkan_enums.hpp
include/vulkan/vulkan_handles.hpp
registry/validusage.json
registry/vk.xml

index f18dce9..da51acc 100644 (file)
@@ -39,7 +39,6 @@
 #include <tuple>
 #include <type_traits>
 #include <vulkan/vulkan.h>
-
 #if 17 <= VULKAN_HPP_CPP_VERSION
 #  include <string_view>
 #endif
@@ -111,6 +110,11 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
 #  include <compare>
 #endif
 
+#if ( 201803 <= __cpp_lib_span )
+#  define VULKAN_HPP_SUPPORT_SPAN
+#  include <span>
+#endif
+
 static_assert( VK_HEADER_VERSION == 187, "Wrong VK_HEADER_VERSION!" );
 
 // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
@@ -352,6 +356,36 @@ namespace VULKAN_HPP_NAMESPACE
       , m_ptr( data.data() )
     {}
 
+#  if defined( VULKAN_HPP_SUPPORT_SPAN )
+    template <size_t N = std::dynamic_extent>
+    ArrayProxy( std::span<T, N> const & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+
+    template <size_t N                                                    = std::dynamic_extent,
+              typename B                                                  = T,
+              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+    ArrayProxy( std::span<typename std::remove_const<T>::type, N> const & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+
+    template <size_t N = std::dynamic_extent>
+    ArrayProxy( std::span<T, N> & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+
+    template <size_t N                                                    = std::dynamic_extent,
+              typename B                                                  = T,
+              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+    ArrayProxy( std::span<typename std::remove_const<T>::type, N> & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+#  endif
+
     const T * begin() const VULKAN_HPP_NOEXCEPT
     {
       return m_ptr;
@@ -549,6 +583,36 @@ namespace VULKAN_HPP_NAMESPACE
               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
     ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> && data ) = delete;
 
+#  if defined( VULKAN_HPP_SUPPORT_SPAN )
+    template <size_t N = std::dynamic_extent>
+    ArrayProxyNoTemporaries( std::span<T, N> const & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+
+    template <size_t N                                                    = std::dynamic_extent,
+              typename B                                                  = T,
+              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+    ArrayProxyNoTemporaries( std::span<typename std::remove_const<T>::type, N> const & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+
+    template <size_t N = std::dynamic_extent>
+    ArrayProxyNoTemporaries( std::span<T, N> & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+
+    template <size_t N                                                    = std::dynamic_extent,
+              typename B                                                  = T,
+              typename std::enable_if<std::is_const<B>::value, int>::type = 0>
+    ArrayProxyNoTemporaries( std::span<typename std::remove_const<T>::type, N> & data ) VULKAN_HPP_NOEXCEPT
+      : m_count( static_cast<uint32_t>( data.size() ) )
+      , m_ptr( data.data() )
+    {}
+#  endif
+
     const T * begin() const VULKAN_HPP_NOEXCEPT
     {
       return m_ptr;
index cda3c46..50e52bd 100644 (file)
@@ -1706,13 +1706,15 @@ typedef enum VkAttachmentLoadOp {
     VK_ATTACHMENT_LOAD_OP_LOAD = 0,
     VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
     VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
+    VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
     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_NONE_QCOM = 1000301000,
+    VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000,
+    VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT,
     VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
 } VkAttachmentStoreOp;
 
@@ -5282,6 +5284,7 @@ typedef enum VkDriverId {
     VK_DRIVER_ID_MOLTENVK = 14,
     VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
     VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
+    VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
     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,
@@ -10133,9 +10136,10 @@ 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_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
     VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
     VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
+    VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
     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,
@@ -12666,9 +12670,14 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
 #endif
 
 
+#define VK_EXT_load_store_op_none 1
+#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
+#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
+
+
 #define VK_KHR_acceleration_structure 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
-#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
+#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 12
 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
 
 typedef enum VkBuildAccelerationStructureModeKHR {
index 5b2cf41..db98d12 100644 (file)
@@ -4422,7 +4422,8 @@ namespace VULKAN_HPP_NAMESPACE
   {
     eLoad     = VK_ATTACHMENT_LOAD_OP_LOAD,
     eClear    = VK_ATTACHMENT_LOAD_OP_CLEAR,
-    eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE
+    eDontCare = VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+    eNoneEXT  = VK_ATTACHMENT_LOAD_OP_NONE_EXT
   };
 
   VULKAN_HPP_INLINE std::string to_string( AttachmentLoadOp value )
@@ -4432,6 +4433,7 @@ namespace VULKAN_HPP_NAMESPACE
       case AttachmentLoadOp::eLoad: return "Load";
       case AttachmentLoadOp::eClear: return "Clear";
       case AttachmentLoadOp::eDontCare: return "DontCare";
+      case AttachmentLoadOp::eNoneEXT: return "NoneEXT";
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
   }
@@ -4440,6 +4442,7 @@ namespace VULKAN_HPP_NAMESPACE
   {
     eStore    = VK_ATTACHMENT_STORE_OP_STORE,
     eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE,
+    eNoneEXT  = VK_ATTACHMENT_STORE_OP_NONE_EXT,
     eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM
   };
 
@@ -4449,7 +4452,7 @@ namespace VULKAN_HPP_NAMESPACE
     {
       case AttachmentStoreOp::eStore: return "Store";
       case AttachmentStoreOp::eDontCare: return "DontCare";
-      case AttachmentStoreOp::eNoneQCOM: return "NoneQCOM";
+      case AttachmentStoreOp::eNoneEXT: return "NoneEXT";
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
   }
@@ -5092,7 +5095,8 @@ namespace VULKAN_HPP_NAMESPACE
     eMesaLlvmpipe            = VK_DRIVER_ID_MESA_LLVMPIPE,
     eMoltenvk                = VK_DRIVER_ID_MOLTENVK,
     eCoreaviProprietary      = VK_DRIVER_ID_COREAVI_PROPRIETARY,
-    eJuiceProprietary        = VK_DRIVER_ID_JUICE_PROPRIETARY
+    eJuiceProprietary        = VK_DRIVER_ID_JUICE_PROPRIETARY,
+    eVerisiliconProprietary  = VK_DRIVER_ID_VERISILICON_PROPRIETARY
   };
   using DriverIdKHR = DriverId;
 
@@ -5116,6 +5120,7 @@ namespace VULKAN_HPP_NAMESPACE
       case DriverId::eMoltenvk: return "Moltenvk";
       case DriverId::eCoreaviProprietary: return "CoreaviProprietary";
       case DriverId::eJuiceProprietary: return "JuiceProprietary";
+      case DriverId::eVerisiliconProprietary: return "VerisiliconProprietary";
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
   }
@@ -6531,11 +6536,13 @@ namespace VULKAN_HPP_NAMESPACE
 
   enum class GeometryInstanceFlagBitsKHR : VkGeometryInstanceFlagsKHR
   {
-    eTriangleFacingCullDisable     = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
-    eTriangleFrontCounterclockwise = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
-    eForceOpaque                   = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
-    eForceNoOpaque                 = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
-    eTriangleCullDisable           = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV
+    eTriangleFacingCullDisable        = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
+    eTriangleFlipFacing               = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
+    eForceOpaque                      = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
+    eForceNoOpaque                    = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
+    eTriangleCullDisable              = VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV,
+    eTriangleFrontCounterclockwiseKHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
+    eTriangleFrontCounterclockwise    = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV
   };
   using GeometryInstanceFlagBitsNV = GeometryInstanceFlagBitsKHR;
 
@@ -6544,7 +6551,7 @@ namespace VULKAN_HPP_NAMESPACE
     switch ( value )
     {
       case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable: return "TriangleFacingCullDisable";
-      case GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise: return "TriangleFrontCounterclockwise";
+      case GeometryInstanceFlagBitsKHR::eTriangleFlipFacing: return "TriangleFlipFacing";
       case GeometryInstanceFlagBitsKHR::eForceOpaque: return "ForceOpaque";
       case GeometryInstanceFlagBitsKHR::eForceNoOpaque: return "ForceNoOpaque";
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
@@ -8038,6 +8045,7 @@ namespace VULKAN_HPP_NAMESPACE
     if ( value & FormatFeatureFlagBits::eVideoEncodeDpbKHR )
       result += "VideoEncodeDpbKHR | ";
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8120,6 +8128,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "SampleLocationsCompatibleDepthEXT | ";
     if ( value & ImageCreateFlagBits::eSubsampledEXT )
       result += "SubsampledEXT | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8216,6 +8225,7 @@ namespace VULKAN_HPP_NAMESPACE
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
     if ( value & ImageUsageFlagBits::eInvocationMaskHUAWEI )
       result += "InvocationMaskHUAWEI | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8270,6 +8280,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "DeviceLocal | ";
     if ( value & MemoryHeapFlagBits::eMultiInstance )
       result += "MultiInstance | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8337,6 +8348,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "DeviceUncachedAMD | ";
     if ( value & MemoryPropertyFlagBits::eRdmaCapableNV )
       result += "RdmaCapableNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8400,6 +8412,7 @@ namespace VULKAN_HPP_NAMESPACE
     if ( value & QueueFlagBits::eVideoEncodeKHR )
       result += "VideoEncodeKHR | ";
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8460,6 +8473,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "32 | ";
     if ( value & SampleCountFlagBits::e64 )
       result += "64 | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8513,6 +8527,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & DeviceQueueCreateFlagBits::eProtected )
       result += "Protected | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8624,6 +8639,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "FragmentShadingRateAttachmentKHR | ";
     if ( value & PipelineStageFlagBits::eCommandPreprocessNV )
       result += "CommandPreprocessNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8701,6 +8717,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "MemoryPlane2EXT | ";
     if ( value & ImageAspectFlagBits::eMemoryPlane3EXT )
       result += "MemoryPlane3EXT | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8753,6 +8770,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "AlignedMipSize | ";
     if ( value & SparseImageFormatFlagBits::eNonstandardBlockSize )
       result += "NonstandardBlockSize | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8799,6 +8817,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & SparseMemoryBindFlagBits::eMetadata )
       result += "Metadata | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8844,6 +8863,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & FenceCreateFlagBits::eSignaled )
       result += "Signaled | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8896,6 +8916,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & EventCreateFlagBits::eDeviceOnlyKHR )
       result += "DeviceOnlyKHR | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -8972,6 +8993,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "TessellationEvaluationShaderInvocations | ";
     if ( value & QueryPipelineStatisticFlagBits::eComputeShaderInvocations )
       result += "ComputeShaderInvocations | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9038,6 +9060,7 @@ namespace VULKAN_HPP_NAMESPACE
     if ( value & QueryResultFlagBits::eWithStatusKHR )
       result += "WithStatusKHR | ";
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9093,6 +9116,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Protected | ";
     if ( value & BufferCreateFlagBits::eDeviceAddressCaptureReplay )
       result += "DeviceAddressCaptureReplay | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9197,6 +9221,7 @@ namespace VULKAN_HPP_NAMESPACE
     if ( value & BufferUsageFlagBits::eVideoEncodeSrcKHR )
       result += "VideoEncodeSrcKHR | ";
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9253,6 +9278,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "FragmentDensityMapDynamicEXT | ";
     if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT )
       result += "FragmentDensityMapDeferredEXT | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9306,6 +9332,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & PipelineCacheCreateFlagBits::eExternallySynchronizedEXT )
       result += "ExternallySynchronizedEXT | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9359,6 +9386,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "B | ";
     if ( value & ColorComponentFlagBits::eA )
       result += "A | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9407,6 +9435,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Front | ";
     if ( value & CullModeFlagBits::eBack )
       result += "Back | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9514,6 +9543,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "EarlyReturnOnFailureEXT | ";
     if ( value & PipelineCreateFlagBits::eRayTracingAllowMotionNV )
       result += "RayTracingAllowMotionNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9605,6 +9635,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "AllowVaryingSubgroupSizeEXT | ";
     if ( value & PipelineShaderStageCreateFlagBits::eRequireFullSubgroupsEXT )
       result += "RequireFullSubgroupsEXT | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9707,6 +9738,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "MeshNV | ";
     if ( value & ShaderStageFlagBits::eSubpassShadingHUAWEI )
       result += "SubpassShadingHUAWEI | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9755,6 +9787,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "SubsampledEXT | ";
     if ( value & SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT )
       result += "SubsampledCoarseReconstructionEXT | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9807,6 +9840,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "UpdateAfterBind | ";
     if ( value & DescriptorPoolCreateFlagBits::eHostOnlyVALVE )
       result += "HostOnlyVALVE | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9866,6 +9900,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "PushDescriptorKHR | ";
     if ( value & DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolVALVE )
       result += "HostOnlyPoolVALVE | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -9984,6 +10019,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "CommandPreprocessReadNV | ";
     if ( value & AccessFlagBits::eCommandPreprocessWriteNV )
       result += "CommandPreprocessWriteNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10030,6 +10066,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & AttachmentDescriptionFlagBits::eMayAlias )
       result += "MayAlias | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10080,6 +10117,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "DeviceGroup | ";
     if ( value & DependencyFlagBits::eViewLocal )
       result += "ViewLocal | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10126,6 +10164,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & FramebufferCreateFlagBits::eImageless )
       result += "Imageless | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10172,6 +10211,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & RenderPassCreateFlagBits::eTransformQCOM )
       result += "TransformQCOM | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10227,6 +10267,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "FragmentRegionQCOM | ";
     if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM )
       result += "ShaderResolveQCOM | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10279,6 +10320,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "ResetCommandBuffer | ";
     if ( value & CommandPoolCreateFlagBits::eProtected )
       result += "Protected | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10325,6 +10367,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & CommandPoolResetFlagBits::eReleaseResources )
       result += "ReleaseResources | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10371,6 +10414,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & CommandBufferResetFlagBits::eReleaseResources )
       result += "ReleaseResources | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10423,6 +10467,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "RenderPassContinue | ";
     if ( value & CommandBufferUsageFlagBits::eSimultaneousUse )
       result += "SimultaneousUse | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10468,6 +10513,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & QueryControlFlagBits::ePrecise )
       result += "Precise | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10516,6 +10562,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Front | ";
     if ( value & StencilFaceFlagBits::eBack )
       result += "Back | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10584,6 +10631,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Quad | ";
     if ( value & SubgroupFeatureFlagBits::ePartitionedNV )
       result += "PartitionedNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10639,6 +10687,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "GenericSrc | ";
     if ( value & PeerMemoryFeatureFlagBits::eGenericDst )
       result += "GenericDst | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10692,6 +10741,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "DeviceAddress | ";
     if ( value & MemoryAllocateFlagBits::eDeviceAddressCaptureReplay )
       result += "DeviceAddressCaptureReplay | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10802,6 +10852,7 @@ namespace VULKAN_HPP_NAMESPACE
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
     if ( value & ExternalMemoryHandleTypeFlagBits::eRdmaAddressNV )
       result += "RdmaAddressNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10856,6 +10907,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Exportable | ";
     if ( value & ExternalMemoryFeatureFlagBits::eImportable )
       result += "Importable | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10913,6 +10965,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "OpaqueWin32Kmt | ";
     if ( value & ExternalFenceHandleTypeFlagBits::eSyncFd )
       result += "SyncFd | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -10964,6 +11017,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Exportable | ";
     if ( value & ExternalFenceFeatureFlagBits::eImportable )
       result += "Importable | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11011,6 +11065,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & FenceImportFlagBits::eTemporary )
       result += "Temporary | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11059,6 +11114,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & SemaphoreImportFlagBits::eTemporary )
       result += "Temporary | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11126,6 +11182,7 @@ namespace VULKAN_HPP_NAMESPACE
     if ( value & ExternalSemaphoreHandleTypeFlagBits::eZirconEventFUCHSIA )
       result += "ZirconEventFUCHSIA | ";
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11177,6 +11234,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Exportable | ";
     if ( value & ExternalSemaphoreFeatureFlagBits::eImportable )
       result += "Importable | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11236,6 +11294,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "PartiallyBound | ";
     if ( value & DescriptorBindingFlagBits::eVariableDescriptorCount )
       result += "VariableDescriptorCount | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11291,6 +11350,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Min | ";
     if ( value & ResolveModeFlagBits::eMax )
       result += "Max | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11338,6 +11398,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & SemaphoreWaitFlagBits::eAny )
       result += "Any | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11393,6 +11454,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "PostMultiplied | ";
     if ( value & CompositeAlphaFlagBitsKHR::eInherit )
       result += "Inherit | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11447,6 +11509,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Protected | ";
     if ( value & SwapchainCreateFlagBitsKHR::eMutableFormat )
       result += "MutableFormat | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11502,6 +11565,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Sum | ";
     if ( value & DeviceGroupPresentModeFlagBitsKHR::eLocalMultiDevice )
       result += "LocalMultiDevice | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11565,6 +11629,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "PerPixel | ";
     if ( value & DisplayPlaneAlphaFlagBitsKHR::ePerPixelPremultiplied )
       result += "PerPixelPremultiplied | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11641,6 +11706,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "HorizontalMirrorRotate270 | ";
     if ( value & SurfaceTransformFlagBitsKHR::eInherit )
       result += "Inherit | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11754,6 +11820,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Error | ";
     if ( value & DebugReportFlagBitsEXT::eDebug )
       result += "Debug | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11814,6 +11881,7 @@ namespace VULKAN_HPP_NAMESPACE
     if ( value & VideoCodecOperationFlagBitsKHR::eDecodeH265EXT )
       result += "DecodeH265EXT | ";
 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11869,6 +11937,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "422 | ";
     if ( value & VideoChromaSubsamplingFlagBitsKHR::e444 )
       result += "444 | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11921,6 +11990,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "10 | ";
     if ( value & VideoComponentBitDepthFlagBitsKHR::e12 )
       result += "12 | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -11970,6 +12040,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "ProtectedContent | ";
     if ( value & VideoCapabilityFlagBitsKHR::eSeparateReferenceImages )
       result += "SeparateReferenceImages | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12017,6 +12088,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & VideoSessionCreateFlagBitsKHR::eProtectedContent )
       result += "ProtectedContent | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12077,6 +12149,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & VideoCodingControlFlagBitsKHR::eReset )
       result += "Reset | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12130,6 +12203,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Power | ";
     if ( value & VideoCodingQualityPresetFlagBitsKHR::eQuality )
       result += "Quality | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
@@ -12180,6 +12254,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & VideoDecodeFlagBitsKHR::eReserved0 )
       result += "Reserved0 | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
@@ -12269,6 +12344,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "MultipleSlicePerFrame | ";
     if ( value & VideoEncodeH264CapabilityFlagBitsEXT::eEvenlyDistributedSliceSize )
       result += "EvenlyDistributedSliceSize | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12321,6 +12397,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Slice | ";
     if ( value & VideoEncodeH264InputModeFlagBitsEXT::eNonVcl )
       result += "NonVcl | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12373,6 +12450,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Slice | ";
     if ( value & VideoEncodeH264OutputModeFlagBitsEXT::eNonVcl )
       result += "NonVcl | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12420,6 +12498,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & VideoEncodeH264CreateFlagBitsEXT::eReserved0 )
       result += "Reserved0 | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
@@ -12474,6 +12553,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "InterlacedInterleavedLines | ";
     if ( value & VideoDecodeH264PictureLayoutFlagBitsEXT::eInterlacedSeparatePlanes )
       result += "InterlacedSeparatePlanes | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12550,6 +12630,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "D3D11Image | ";
     if ( value & ExternalMemoryHandleTypeFlagBitsNV::eD3D11ImageKmt )
       result += "D3D11ImageKmt | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12602,6 +12683,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Exportable | ";
     if ( value & ExternalMemoryFeatureFlagBitsNV::eImportable )
       result += "Importable | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12661,6 +12743,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & ConditionalRenderingFlagBitsEXT::eInverted )
       result += "Inverted | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12709,6 +12792,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & SurfaceCounterFlagBitsEXT::eVblank )
       result += "Vblank | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12797,6 +12881,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "PerformanceImpacting | ";
     if ( value & PerformanceCounterDescriptionFlagBitsKHR::eConcurrentlyImpacted )
       result += "ConcurrentlyImpacted | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12883,6 +12968,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Warning | ";
     if ( value & DebugUtilsMessageSeverityFlagBitsEXT::eError )
       result += "Error | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -12935,6 +13021,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Validation | ";
     if ( value & DebugUtilsMessageTypeFlagBitsEXT::ePerformance )
       result += "Performance | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13009,6 +13096,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "Opaque | ";
     if ( value & GeometryFlagBitsKHR::eNoDuplicateAnyHitInvocation )
       result += "NoDuplicateAnyHitInvocation | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13020,7 +13108,7 @@ namespace VULKAN_HPP_NAMESPACE
     enum : VkFlags
     {
       allFlags = VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable ) |
-                 VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise ) |
+                 VkFlags( GeometryInstanceFlagBitsKHR::eTriangleFlipFacing ) |
                  VkFlags( GeometryInstanceFlagBitsKHR::eForceOpaque ) |
                  VkFlags( GeometryInstanceFlagBitsKHR::eForceNoOpaque )
     };
@@ -13060,12 +13148,13 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable )
       result += "TriangleFacingCullDisable | ";
-    if ( value & GeometryInstanceFlagBitsKHR::eTriangleFrontCounterclockwise )
-      result += "TriangleFrontCounterclockwise | ";
+    if ( value & GeometryInstanceFlagBitsKHR::eTriangleFlipFacing )
+      result += "TriangleFlipFacing | ";
     if ( value & GeometryInstanceFlagBitsKHR::eForceOpaque )
       result += "ForceOpaque | ";
     if ( value & GeometryInstanceFlagBitsKHR::eForceNoOpaque )
       result += "ForceNoOpaque | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13129,6 +13218,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "LowMemory | ";
     if ( value & BuildAccelerationStructureFlagBitsKHR::eMotionNV )
       result += "MotionNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13178,6 +13268,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "DeviceAddressCaptureReplay | ";
     if ( value & AccelerationStructureCreateFlagBitsKHR::eMotionNV )
       result += "MotionNV | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13270,6 +13361,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "ApplicationPipelineCacheHit | ";
     if ( value & PipelineCreationFeedbackFlagBitsEXT::eBasePipelineAcceleration )
       result += "BasePipelineAcceleration | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13364,6 +13456,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "DebugReporting | ";
     if ( value & ToolPurposeFlagBitsEXT::eDebugMarkers )
       result += "DebugMarkers | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13430,6 +13523,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & IndirectStateFlagBitsNV::eFlagFrontface )
       result += "FlagFrontface | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13482,6 +13576,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "IndexedSequences | ";
     if ( value & IndirectCommandsLayoutUsageFlagBitsNV::eUnorderedSequences )
       result += "UnorderedSequences | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13549,6 +13644,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & VideoEncodeFlagBitsKHR::eReserved0 )
       result += "Reserved0 | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13596,6 +13692,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & VideoEncodeRateControlFlagBitsKHR::eReset )
       result += "Reset | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13642,6 +13739,7 @@ namespace VULKAN_HPP_NAMESPACE
       return "{}";
 
     std::string result;
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
@@ -13697,6 +13795,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "EnableResourceTracking | ";
     if ( value & DeviceDiagnosticsConfigFlagBitsNV::eEnableAutomaticCheckpoints )
       result += "EnableAutomaticCheckpoints | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13850,6 +13949,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "SubpassShadingHUAWEI | ";
     if ( value & PipelineStageFlagBits2KHR::eInvocationMaskHUAWEI )
       result += "InvocationMaskHUAWEI | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -13994,6 +14094,7 @@ namespace VULKAN_HPP_NAMESPACE
       result += "ColorAttachmentReadNoncoherentEXT | ";
     if ( value & AccessFlagBits2KHR::eInvocationMaskReadHUAWEI )
       result += "InvocationMaskReadHUAWEI | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
@@ -14039,6 +14140,7 @@ namespace VULKAN_HPP_NAMESPACE
     std::string result;
     if ( value & SubmitFlagBitsKHR::eProtected )
       result += "Protected | ";
+
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
 
index fbc5741..e5e8c75 100644 (file)
 
 namespace VULKAN_HPP_NAMESPACE
 {
-  struct AabbPositionsKHR;
-  using AabbPositionsNV = AabbPositionsKHR;
-  struct AccelerationStructureBuildGeometryInfoKHR;
-  struct AccelerationStructureBuildRangeInfoKHR;
-  struct AccelerationStructureBuildSizesInfoKHR;
-  struct AccelerationStructureCreateInfoKHR;
-  struct AccelerationStructureCreateInfoNV;
-  struct AccelerationStructureDeviceAddressInfoKHR;
-  struct AccelerationStructureGeometryAabbsDataKHR;
-  union AccelerationStructureGeometryDataKHR;
-  struct AccelerationStructureGeometryInstancesDataKHR;
-  struct AccelerationStructureGeometryKHR;
-  struct AccelerationStructureGeometryMotionTrianglesDataNV;
-  struct AccelerationStructureGeometryTrianglesDataKHR;
-  struct AccelerationStructureInfoNV;
-  struct AccelerationStructureInstanceKHR;
-  using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
-  struct AccelerationStructureMatrixMotionInstanceNV;
-  struct AccelerationStructureMemoryRequirementsInfoNV;
-  struct AccelerationStructureMotionInfoNV;
-  union AccelerationStructureMotionInstanceDataNV;
-  struct AccelerationStructureMotionInstanceNV;
-  struct AccelerationStructureSRTMotionInstanceNV;
-  struct AccelerationStructureVersionInfoKHR;
-  struct AcquireNextImageInfoKHR;
-  struct AcquireProfilingLockInfoKHR;
-  struct AllocationCallbacks;
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct AndroidHardwareBufferFormatPropertiesANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct AndroidHardwareBufferPropertiesANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct AndroidHardwareBufferUsageANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct AndroidSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct ApplicationInfo;
-  struct AttachmentDescription;
-  struct AttachmentDescription2;
-  using AttachmentDescription2KHR = AttachmentDescription2;
-  struct AttachmentDescriptionStencilLayout;
-  using AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
-  struct AttachmentReference;
-  struct AttachmentReference2;
-  using AttachmentReference2KHR = AttachmentReference2;
-  struct AttachmentReferenceStencilLayout;
-  using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
-  struct AttachmentSampleLocationsEXT;
+  //===================================
+  //=== STRUCT forward declarations ===
+  //===================================
+
+  //=== VK_VERSION_1_0 ===
+  struct Extent2D;
+  struct Extent3D;
+  struct Offset2D;
+  struct Offset3D;
+  struct Rect2D;
   struct BaseInStructure;
   struct BaseOutStructure;
-  struct BindAccelerationStructureMemoryInfoNV;
-  struct BindBufferMemoryDeviceGroupInfo;
-  using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
-  struct BindBufferMemoryInfo;
-  using BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
-  struct BindImageMemoryDeviceGroupInfo;
-  using BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
-  struct BindImageMemoryInfo;
-  using BindImageMemoryInfoKHR = BindImageMemoryInfo;
-  struct BindImageMemorySwapchainInfoKHR;
-  struct BindImagePlaneMemoryInfo;
-  using BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
-  struct BindIndexBufferIndirectCommandNV;
-  struct BindShaderGroupIndirectCommandNV;
+  struct BufferMemoryBarrier;
+  struct DispatchIndirectCommand;
+  struct DrawIndexedIndirectCommand;
+  struct DrawIndirectCommand;
+  struct ImageMemoryBarrier;
+  struct MemoryBarrier;
+  struct PipelineCacheHeaderVersionOne;
+  struct AllocationCallbacks;
+  struct ApplicationInfo;
+  struct FormatProperties;
+  struct ImageFormatProperties;
+  struct InstanceCreateInfo;
+  struct MemoryHeap;
+  struct MemoryType;
+  struct PhysicalDeviceFeatures;
+  struct PhysicalDeviceLimits;
+  struct PhysicalDeviceMemoryProperties;
+  struct PhysicalDeviceProperties;
+  struct PhysicalDeviceSparseProperties;
+  struct QueueFamilyProperties;
+  struct DeviceCreateInfo;
+  struct DeviceQueueCreateInfo;
+  struct ExtensionProperties;
+  struct LayerProperties;
+  struct SubmitInfo;
+  struct MappedMemoryRange;
+  struct MemoryAllocateInfo;
+  struct MemoryRequirements;
   struct BindSparseInfo;
-  struct BindVertexBufferIndirectCommandNV;
-  struct BlitImageInfo2KHR;
-  struct BufferCopy;
-  struct BufferCopy2KHR;
+  struct ImageSubresource;
+  struct SparseBufferMemoryBindInfo;
+  struct SparseImageFormatProperties;
+  struct SparseImageMemoryBind;
+  struct SparseImageMemoryBindInfo;
+  struct SparseImageMemoryRequirements;
+  struct SparseImageOpaqueMemoryBindInfo;
+  struct SparseMemoryBind;
+  struct FenceCreateInfo;
+  struct SemaphoreCreateInfo;
+  struct EventCreateInfo;
+  struct QueryPoolCreateInfo;
   struct BufferCreateInfo;
-  struct BufferDeviceAddressCreateInfoEXT;
-  struct BufferDeviceAddressInfo;
-  using BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
-  using BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
-  struct BufferImageCopy;
-  struct BufferImageCopy2KHR;
-  struct BufferMemoryBarrier;
-  struct BufferMemoryBarrier2KHR;
-  struct BufferMemoryRequirementsInfo2;
-  using BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
-  struct BufferOpaqueCaptureAddressCreateInfo;
-  using BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
   struct BufferViewCreateInfo;
-  struct CalibratedTimestampInfoEXT;
-  struct CheckpointData2NV;
-  struct CheckpointDataNV;
-  struct ClearAttachment;
-  union ClearColorValue;
-  struct ClearDepthStencilValue;
-  struct ClearRect;
-  union ClearValue;
-  struct CoarseSampleLocationNV;
-  struct CoarseSampleOrderCustomNV;
-  struct CommandBufferAllocateInfo;
-  struct CommandBufferBeginInfo;
-  struct CommandBufferInheritanceConditionalRenderingInfoEXT;
-  struct CommandBufferInheritanceInfo;
-  struct CommandBufferInheritanceRenderPassTransformInfoQCOM;
-  struct CommandBufferInheritanceViewportScissorInfoNV;
-  struct CommandBufferSubmitInfoKHR;
-  struct CommandPoolCreateInfo;
+  struct ImageCreateInfo;
+  struct SubresourceLayout;
   struct ComponentMapping;
+  struct ImageSubresourceRange;
+  struct ImageViewCreateInfo;
+  struct ShaderModuleCreateInfo;
+  struct PipelineCacheCreateInfo;
   struct ComputePipelineCreateInfo;
-  struct ConditionalRenderingBeginInfoEXT;
-  struct ConformanceVersion;
-  using ConformanceVersionKHR = ConformanceVersion;
-  struct CooperativeMatrixPropertiesNV;
-  struct CopyAccelerationStructureInfoKHR;
-  struct CopyAccelerationStructureToMemoryInfoKHR;
-  struct CopyBufferInfo2KHR;
-  struct CopyBufferToImageInfo2KHR;
-  struct CopyCommandTransformInfoQCOM;
+  struct GraphicsPipelineCreateInfo;
+  struct PipelineColorBlendAttachmentState;
+  struct PipelineColorBlendStateCreateInfo;
+  struct PipelineDepthStencilStateCreateInfo;
+  struct PipelineDynamicStateCreateInfo;
+  struct PipelineInputAssemblyStateCreateInfo;
+  struct PipelineMultisampleStateCreateInfo;
+  struct PipelineRasterizationStateCreateInfo;
+  struct PipelineShaderStageCreateInfo;
+  struct PipelineTessellationStateCreateInfo;
+  struct PipelineVertexInputStateCreateInfo;
+  struct PipelineViewportStateCreateInfo;
+  struct SpecializationInfo;
+  struct SpecializationMapEntry;
+  struct StencilOpState;
+  struct VertexInputAttributeDescription;
+  struct VertexInputBindingDescription;
+  struct Viewport;
+  struct PipelineLayoutCreateInfo;
+  struct PushConstantRange;
+  struct SamplerCreateInfo;
   struct CopyDescriptorSet;
-  struct CopyImageInfo2KHR;
-  struct CopyImageToBufferInfo2KHR;
-  struct CopyMemoryToAccelerationStructureInfoKHR;
-  struct CuFunctionCreateInfoNVX;
-  struct CuLaunchInfoNVX;
-  struct CuModuleCreateInfoNVX;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct D3D12FenceSubmitInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct DebugMarkerMarkerInfoEXT;
-  struct DebugMarkerObjectNameInfoEXT;
-  struct DebugMarkerObjectTagInfoEXT;
-  struct DebugReportCallbackCreateInfoEXT;
-  struct DebugUtilsLabelEXT;
-  struct DebugUtilsMessengerCallbackDataEXT;
-  struct DebugUtilsMessengerCreateInfoEXT;
-  struct DebugUtilsObjectNameInfoEXT;
-  struct DebugUtilsObjectTagInfoEXT;
-  struct DedicatedAllocationBufferCreateInfoNV;
-  struct DedicatedAllocationImageCreateInfoNV;
-  struct DedicatedAllocationMemoryAllocateInfoNV;
-  struct DependencyInfoKHR;
   struct DescriptorBufferInfo;
   struct DescriptorImageInfo;
   struct DescriptorPoolCreateInfo;
-  struct DescriptorPoolInlineUniformBlockCreateInfoEXT;
   struct DescriptorPoolSize;
   struct DescriptorSetAllocateInfo;
   struct DescriptorSetLayoutBinding;
-  struct DescriptorSetLayoutBindingFlagsCreateInfo;
-  using DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
   struct DescriptorSetLayoutCreateInfo;
-  struct DescriptorSetLayoutSupport;
-  using DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
-  struct DescriptorSetVariableDescriptorCountAllocateInfo;
-  using DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo;
-  struct DescriptorSetVariableDescriptorCountLayoutSupport;
-  using DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport;
-  struct DescriptorUpdateTemplateCreateInfo;
-  using DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
-  struct DescriptorUpdateTemplateEntry;
-  using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
-  struct DeviceCreateInfo;
-  struct DeviceDeviceMemoryReportCreateInfoEXT;
-  struct DeviceDiagnosticsConfigCreateInfoNV;
-  struct DeviceEventInfoEXT;
-  struct DeviceGroupBindSparseInfo;
-  using DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
-  struct DeviceGroupCommandBufferBeginInfo;
-  using DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
-  struct DeviceGroupDeviceCreateInfo;
-  using DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
-  struct DeviceGroupPresentCapabilitiesKHR;
-  struct DeviceGroupPresentInfoKHR;
-  struct DeviceGroupRenderPassBeginInfo;
-  using DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
-  struct DeviceGroupSubmitInfo;
-  using DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
-  struct DeviceGroupSwapchainCreateInfoKHR;
-  struct DeviceMemoryOpaqueCaptureAddressInfo;
-  using DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
-  struct DeviceMemoryOverallocationCreateInfoAMD;
-  struct DeviceMemoryReportCallbackDataEXT;
-  union DeviceOrHostAddressConstKHR;
-  union DeviceOrHostAddressKHR;
-  struct DevicePrivateDataCreateInfoEXT;
-  struct DeviceQueueCreateInfo;
-  struct DeviceQueueGlobalPriorityCreateInfoEXT;
-  struct DeviceQueueInfo2;
-#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
-  struct DirectFBSurfaceCreateInfoEXT;
-#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
-  struct DispatchIndirectCommand;
-  struct DisplayEventInfoEXT;
-  struct DisplayModeCreateInfoKHR;
-  struct DisplayModeParametersKHR;
-  struct DisplayModeProperties2KHR;
-  struct DisplayModePropertiesKHR;
-  struct DisplayNativeHdrSurfaceCapabilitiesAMD;
-  struct DisplayPlaneCapabilities2KHR;
-  struct DisplayPlaneCapabilitiesKHR;
-  struct DisplayPlaneInfo2KHR;
-  struct DisplayPlaneProperties2KHR;
-  struct DisplayPlanePropertiesKHR;
-  struct DisplayPowerInfoEXT;
-  struct DisplayPresentInfoKHR;
-  struct DisplayProperties2KHR;
-  struct DisplayPropertiesKHR;
-  struct DisplaySurfaceCreateInfoKHR;
-  struct DrawIndexedIndirectCommand;
-  struct DrawIndirectCommand;
-  struct DrawMeshTasksIndirectCommandNV;
-  struct DrmFormatModifierPropertiesEXT;
-  struct DrmFormatModifierPropertiesListEXT;
-  struct EventCreateInfo;
-  struct ExportFenceCreateInfo;
-  using ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ExportFenceWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ExportMemoryAllocateInfo;
-  using ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
-  struct ExportMemoryAllocateInfoNV;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ExportMemoryWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ExportMemoryWin32HandleInfoNV;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ExportSemaphoreCreateInfo;
-  using ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ExportSemaphoreWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ExtensionProperties;
-  struct Extent2D;
-  struct Extent3D;
-  struct ExternalBufferProperties;
-  using ExternalBufferPropertiesKHR = ExternalBufferProperties;
-  struct ExternalFenceProperties;
-  using ExternalFencePropertiesKHR = ExternalFenceProperties;
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct ExternalFormatANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct ExternalImageFormatProperties;
-  using ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
-  struct ExternalImageFormatPropertiesNV;
-  struct ExternalMemoryBufferCreateInfo;
-  using ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
-  struct ExternalMemoryImageCreateInfo;
-  using ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
-  struct ExternalMemoryImageCreateInfoNV;
-  struct ExternalMemoryProperties;
-  using ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
-  struct ExternalSemaphoreProperties;
-  using ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
-  struct FenceCreateInfo;
-  struct FenceGetFdInfoKHR;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct FenceGetWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct FilterCubicImageViewImageFormatPropertiesEXT;
-  struct FormatProperties;
-  struct FormatProperties2;
-  using FormatProperties2KHR = FormatProperties2;
-  struct FragmentShadingRateAttachmentInfoKHR;
-  struct FramebufferAttachmentImageInfo;
-  using FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
-  struct FramebufferAttachmentsCreateInfo;
-  using FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
+  struct WriteDescriptorSet;
+  struct AttachmentDescription;
+  struct AttachmentReference;
   struct FramebufferCreateInfo;
-  struct FramebufferMixedSamplesCombinationNV;
-  struct GeneratedCommandsInfoNV;
-  struct GeneratedCommandsMemoryRequirementsInfoNV;
-  struct GeometryAABBNV;
-  struct GeometryDataNV;
-  struct GeometryNV;
-  struct GeometryTrianglesNV;
-  struct GraphicsPipelineCreateInfo;
-  struct GraphicsPipelineShaderGroupsCreateInfoNV;
-  struct GraphicsShaderGroupCreateInfoNV;
-  struct HdrMetadataEXT;
-  struct HeadlessSurfaceCreateInfoEXT;
-#if defined( VK_USE_PLATFORM_IOS_MVK )
-  struct IOSSurfaceCreateInfoMVK;
-#endif /*VK_USE_PLATFORM_IOS_MVK*/
+  struct RenderPassCreateInfo;
+  struct SubpassDependency;
+  struct SubpassDescription;
+  struct CommandPoolCreateInfo;
+  struct CommandBufferAllocateInfo;
+  struct CommandBufferBeginInfo;
+  struct CommandBufferInheritanceInfo;
+  struct BufferCopy;
+  struct BufferImageCopy;
+  struct ClearAttachment;
+  union ClearColorValue;
+  struct ClearDepthStencilValue;
+  struct ClearRect;
+  union ClearValue;
   struct ImageBlit;
-  struct ImageBlit2KHR;
   struct ImageCopy;
-  struct ImageCopy2KHR;
-  struct ImageCreateInfo;
-  struct ImageDrmFormatModifierExplicitCreateInfoEXT;
-  struct ImageDrmFormatModifierListCreateInfoEXT;
-  struct ImageDrmFormatModifierPropertiesEXT;
-  struct ImageFormatListCreateInfo;
-  using ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
-  struct ImageFormatProperties;
-  struct ImageFormatProperties2;
-  using ImageFormatProperties2KHR = ImageFormatProperties2;
-  struct ImageMemoryBarrier;
-  struct ImageMemoryBarrier2KHR;
-  struct ImageMemoryRequirementsInfo2;
-  using ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
-#if defined( VK_USE_PLATFORM_FUCHSIA )
-  struct ImagePipeSurfaceCreateInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImagePlaneMemoryRequirementsInfo;
-  using ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
   struct ImageResolve;
-  struct ImageResolve2KHR;
-  struct ImageSparseMemoryRequirementsInfo2;
-  using ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
-  struct ImageStencilUsageCreateInfo;
-  using ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
-  struct ImageSubresource;
   struct ImageSubresourceLayers;
-  struct ImageSubresourceRange;
-  struct ImageSwapchainCreateInfoKHR;
-  struct ImageViewASTCDecodeModeEXT;
-  struct ImageViewAddressPropertiesNVX;
-  struct ImageViewCreateInfo;
-  struct ImageViewHandleInfoNVX;
-  struct ImageViewUsageCreateInfo;
-  using ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct ImportAndroidHardwareBufferInfoANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct ImportFenceFdInfoKHR;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ImportFenceWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct ImportMemoryFdInfoKHR;
-  struct ImportMemoryHostPointerInfoEXT;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ImportMemoryWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ImportMemoryWin32HandleInfoNV;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_FUCHSIA )
-  struct ImportMemoryZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct ImportSemaphoreFdInfoKHR;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct ImportSemaphoreWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_FUCHSIA )
-  struct ImportSemaphoreZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct IndirectCommandsLayoutCreateInfoNV;
-  struct IndirectCommandsLayoutTokenNV;
-  struct IndirectCommandsStreamNV;
-  struct InitializePerformanceApiInfoINTEL;
-  struct InputAttachmentAspectReference;
-  using InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
-  struct InstanceCreateInfo;
-  struct LayerProperties;
-#if defined( VK_USE_PLATFORM_MACOS_MVK )
-  struct MacOSSurfaceCreateInfoMVK;
-#endif /*VK_USE_PLATFORM_MACOS_MVK*/
-  struct MappedMemoryRange;
-  struct MemoryAllocateFlagsInfo;
-  using MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
-  struct MemoryAllocateInfo;
-  struct MemoryBarrier;
-  struct MemoryBarrier2KHR;
-  struct MemoryDedicatedAllocateInfo;
-  using MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
+  struct RenderPassBeginInfo;
+
+  //=== VK_VERSION_1_1 ===
+  struct PhysicalDeviceSubgroupProperties;
+  struct BindBufferMemoryInfo;
+  using BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
+  struct BindImageMemoryInfo;
+  using BindImageMemoryInfoKHR = BindImageMemoryInfo;
+  struct PhysicalDevice16BitStorageFeatures;
+  using PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
   struct MemoryDedicatedRequirements;
   using MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
-  struct MemoryFdPropertiesKHR;
-#if defined( VK_USE_PLATFORM_ANDROID_KHR )
-  struct MemoryGetAndroidHardwareBufferInfoANDROID;
-#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
-  struct MemoryGetFdInfoKHR;
-  struct MemoryGetRemoteAddressInfoNV;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct MemoryGetWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_FUCHSIA )
-  struct MemoryGetZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct MemoryHeap;
-  struct MemoryHostPointerPropertiesEXT;
-  struct MemoryOpaqueCaptureAddressAllocateInfo;
-  using MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
-  struct MemoryPriorityAllocateInfoEXT;
-  struct MemoryRequirements;
+  struct MemoryDedicatedAllocateInfo;
+  using MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
+  struct MemoryAllocateFlagsInfo;
+  using MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
+  struct DeviceGroupRenderPassBeginInfo;
+  using DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
+  struct DeviceGroupCommandBufferBeginInfo;
+  using DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
+  struct DeviceGroupSubmitInfo;
+  using DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
+  struct DeviceGroupBindSparseInfo;
+  using DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
+  struct BindBufferMemoryDeviceGroupInfo;
+  using BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
+  struct BindImageMemoryDeviceGroupInfo;
+  using BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
+  struct PhysicalDeviceGroupProperties;
+  using PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
+  struct DeviceGroupDeviceCreateInfo;
+  using DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
+  struct BufferMemoryRequirementsInfo2;
+  using BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
+  struct ImageMemoryRequirementsInfo2;
+  using ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
+  struct ImageSparseMemoryRequirementsInfo2;
+  using ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
   struct MemoryRequirements2;
   using MemoryRequirements2KHR = MemoryRequirements2;
-  struct MemoryType;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct MemoryWin32HandlePropertiesKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_FUCHSIA )
-  struct MemoryZirconHandlePropertiesFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-#if defined( VK_USE_PLATFORM_METAL_EXT )
-  struct MetalSurfaceCreateInfoEXT;
-#endif /*VK_USE_PLATFORM_METAL_EXT*/
-  struct MultiDrawIndexedInfoEXT;
-  struct MultiDrawInfoEXT;
-  struct MultisamplePropertiesEXT;
-  struct MutableDescriptorTypeCreateInfoVALVE;
-  struct MutableDescriptorTypeListVALVE;
-  struct Offset2D;
-  struct Offset3D;
-  struct PastPresentationTimingGOOGLE;
-  struct PerformanceConfigurationAcquireInfoINTEL;
-  struct PerformanceCounterDescriptionKHR;
-  struct PerformanceCounterKHR;
-  union PerformanceCounterResultKHR;
-  struct PerformanceMarkerInfoINTEL;
-  struct PerformanceOverrideInfoINTEL;
-  struct PerformanceQuerySubmitInfoKHR;
-  struct PerformanceStreamMarkerInfoINTEL;
-  union PerformanceValueDataINTEL;
-  struct PerformanceValueINTEL;
-  struct PhysicalDevice16BitStorageFeatures;
-  using PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
-  struct PhysicalDevice4444FormatsFeaturesEXT;
-  struct PhysicalDevice8BitStorageFeatures;
-  using PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
-  struct PhysicalDeviceASTCDecodeFeaturesEXT;
-  struct PhysicalDeviceAccelerationStructureFeaturesKHR;
-  struct PhysicalDeviceAccelerationStructurePropertiesKHR;
-  struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT;
-  struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
-  struct PhysicalDeviceBufferDeviceAddressFeatures;
-  using PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
-  struct PhysicalDeviceBufferDeviceAddressFeaturesEXT;
-  using PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
-  struct PhysicalDeviceCoherentMemoryFeaturesAMD;
-  struct PhysicalDeviceColorWriteEnableFeaturesEXT;
-  struct PhysicalDeviceComputeShaderDerivativesFeaturesNV;
-  struct PhysicalDeviceConditionalRenderingFeaturesEXT;
-  struct PhysicalDeviceConservativeRasterizationPropertiesEXT;
-  struct PhysicalDeviceCooperativeMatrixFeaturesNV;
-  struct PhysicalDeviceCooperativeMatrixPropertiesNV;
-  struct PhysicalDeviceCornerSampledImageFeaturesNV;
-  struct PhysicalDeviceCoverageReductionModeFeaturesNV;
-  struct PhysicalDeviceCustomBorderColorFeaturesEXT;
-  struct PhysicalDeviceCustomBorderColorPropertiesEXT;
-  struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
-  struct PhysicalDeviceDepthClipEnableFeaturesEXT;
-  struct PhysicalDeviceDepthStencilResolveProperties;
-  using PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
-  struct PhysicalDeviceDescriptorIndexingFeatures;
-  using PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
-  struct PhysicalDeviceDescriptorIndexingProperties;
-  using PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
-  struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
-  struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
-  struct PhysicalDeviceDeviceMemoryReportFeaturesEXT;
-  struct PhysicalDeviceDiagnosticsConfigFeaturesNV;
-  struct PhysicalDeviceDiscardRectanglePropertiesEXT;
-  struct PhysicalDeviceDriverProperties;
-  using PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
-  struct PhysicalDeviceDrmPropertiesEXT;
-  struct PhysicalDeviceExclusiveScissorFeaturesNV;
-  struct PhysicalDeviceExtendedDynamicState2FeaturesEXT;
-  struct PhysicalDeviceExtendedDynamicStateFeaturesEXT;
-  struct PhysicalDeviceExternalBufferInfo;
-  using PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
-  struct PhysicalDeviceExternalFenceInfo;
-  using PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
-  struct PhysicalDeviceExternalImageFormatInfo;
-  using PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
-  struct PhysicalDeviceExternalMemoryHostPropertiesEXT;
-  struct PhysicalDeviceExternalMemoryRDMAFeaturesNV;
-  struct PhysicalDeviceExternalSemaphoreInfo;
-  using PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
-  struct PhysicalDeviceFeatures;
+  struct SparseImageMemoryRequirements2;
+  using SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
   struct PhysicalDeviceFeatures2;
   using PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
-  struct PhysicalDeviceFloatControlsProperties;
-  using PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
-  struct PhysicalDeviceFragmentDensityMap2FeaturesEXT;
-  struct PhysicalDeviceFragmentDensityMap2PropertiesEXT;
-  struct PhysicalDeviceFragmentDensityMapFeaturesEXT;
-  struct PhysicalDeviceFragmentDensityMapPropertiesEXT;
-  struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV;
-  struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT;
-  struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
-  struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
-  struct PhysicalDeviceFragmentShadingRateFeaturesKHR;
-  struct PhysicalDeviceFragmentShadingRateKHR;
-  struct PhysicalDeviceFragmentShadingRatePropertiesKHR;
-  struct PhysicalDeviceGlobalPriorityQueryFeaturesEXT;
-  struct PhysicalDeviceGroupProperties;
-  using PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
-  struct PhysicalDeviceHostQueryResetFeatures;
-  using PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
-  struct PhysicalDeviceIDProperties;
-  using PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
-  struct PhysicalDeviceImageDrmFormatModifierInfoEXT;
+  struct PhysicalDeviceProperties2;
+  using PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
+  struct FormatProperties2;
+  using FormatProperties2KHR = FormatProperties2;
+  struct ImageFormatProperties2;
+  using ImageFormatProperties2KHR = ImageFormatProperties2;
   struct PhysicalDeviceImageFormatInfo2;
   using PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
-  struct PhysicalDeviceImageRobustnessFeaturesEXT;
-  struct PhysicalDeviceImageViewImageFormatInfoEXT;
-  struct PhysicalDeviceImagelessFramebufferFeatures;
-  using PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
-  struct PhysicalDeviceIndexTypeUint8FeaturesEXT;
-  struct PhysicalDeviceInheritedViewportScissorFeaturesNV;
-  struct PhysicalDeviceInlineUniformBlockFeaturesEXT;
-  struct PhysicalDeviceInlineUniformBlockPropertiesEXT;
-  struct PhysicalDeviceInvocationMaskFeaturesHUAWEI;
-  struct PhysicalDeviceLimits;
-  struct PhysicalDeviceLineRasterizationFeaturesEXT;
-  struct PhysicalDeviceLineRasterizationPropertiesEXT;
-  struct PhysicalDeviceMaintenance3Properties;
-  using PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
-  struct PhysicalDeviceMemoryBudgetPropertiesEXT;
-  struct PhysicalDeviceMemoryPriorityFeaturesEXT;
-  struct PhysicalDeviceMemoryProperties;
+  struct QueueFamilyProperties2;
+  using QueueFamilyProperties2KHR = QueueFamilyProperties2;
   struct PhysicalDeviceMemoryProperties2;
   using PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
-  struct PhysicalDeviceMeshShaderFeaturesNV;
-  struct PhysicalDeviceMeshShaderPropertiesNV;
-  struct PhysicalDeviceMultiDrawFeaturesEXT;
-  struct PhysicalDeviceMultiDrawPropertiesEXT;
+  struct SparseImageFormatProperties2;
+  using SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
+  struct PhysicalDeviceSparseImageFormatInfo2;
+  using PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
+  struct PhysicalDevicePointClippingProperties;
+  using PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
+  struct RenderPassInputAttachmentAspectCreateInfo;
+  using RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
+  struct InputAttachmentAspectReference;
+  using InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
+  struct ImageViewUsageCreateInfo;
+  using ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
+  struct PipelineTessellationDomainOriginStateCreateInfo;
+  using PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo;
+  struct RenderPassMultiviewCreateInfo;
+  using RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
   struct PhysicalDeviceMultiviewFeatures;
   using PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
-  struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
   struct PhysicalDeviceMultiviewProperties;
   using PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
-  struct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
-  struct PhysicalDevicePCIBusInfoPropertiesEXT;
-  struct PhysicalDevicePerformanceQueryFeaturesKHR;
-  struct PhysicalDevicePerformanceQueryPropertiesKHR;
-  struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT;
-  struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
-  struct PhysicalDevicePointClippingProperties;
-  using PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct PhysicalDevicePortabilitySubsetFeaturesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct PhysicalDevicePortabilitySubsetPropertiesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct PhysicalDevicePresentIdFeaturesKHR;
-  struct PhysicalDevicePresentWaitFeaturesKHR;
-  struct PhysicalDevicePrivateDataFeaturesEXT;
-  struct PhysicalDeviceProperties;
-  struct PhysicalDeviceProperties2;
-  using PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
+  struct PhysicalDeviceVariablePointersFeatures;
+  using PhysicalDeviceVariablePointerFeatures     = PhysicalDeviceVariablePointersFeatures;
+  using PhysicalDeviceVariablePointerFeaturesKHR  = PhysicalDeviceVariablePointersFeatures;
+  using PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
   struct PhysicalDeviceProtectedMemoryFeatures;
   struct PhysicalDeviceProtectedMemoryProperties;
-  struct PhysicalDeviceProvokingVertexFeaturesEXT;
-  struct PhysicalDeviceProvokingVertexPropertiesEXT;
-  struct PhysicalDevicePushDescriptorPropertiesKHR;
-  struct PhysicalDeviceRayQueryFeaturesKHR;
-  struct PhysicalDeviceRayTracingMotionBlurFeaturesNV;
-  struct PhysicalDeviceRayTracingPipelineFeaturesKHR;
-  struct PhysicalDeviceRayTracingPipelinePropertiesKHR;
-  struct PhysicalDeviceRayTracingPropertiesNV;
-  struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV;
-  struct PhysicalDeviceRobustness2FeaturesEXT;
-  struct PhysicalDeviceRobustness2PropertiesEXT;
-  struct PhysicalDeviceSampleLocationsPropertiesEXT;
-  struct PhysicalDeviceSamplerFilterMinmaxProperties;
-  using PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties;
+  struct DeviceQueueInfo2;
+  struct ProtectedSubmitInfo;
+  struct SamplerYcbcrConversionCreateInfo;
+  using SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
+  struct SamplerYcbcrConversionInfo;
+  using SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
+  struct BindImagePlaneMemoryInfo;
+  using BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
+  struct ImagePlaneMemoryRequirementsInfo;
+  using ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
   struct PhysicalDeviceSamplerYcbcrConversionFeatures;
   using PhysicalDeviceSamplerYcbcrConversionFeaturesKHR = PhysicalDeviceSamplerYcbcrConversionFeatures;
-  struct PhysicalDeviceScalarBlockLayoutFeatures;
-  using PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
-  struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
-  using PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
-  struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT;
-  struct PhysicalDeviceShaderAtomicFloatFeaturesEXT;
-  struct PhysicalDeviceShaderAtomicInt64Features;
-  using PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
-  struct PhysicalDeviceShaderClockFeaturesKHR;
-  struct PhysicalDeviceShaderCoreProperties2AMD;
-  struct PhysicalDeviceShaderCorePropertiesAMD;
-  struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
+  struct SamplerYcbcrConversionImageFormatProperties;
+  using SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties;
+  struct DescriptorUpdateTemplateEntry;
+  using DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
+  struct DescriptorUpdateTemplateCreateInfo;
+  using DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
+  struct ExternalMemoryProperties;
+  using ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
+  struct PhysicalDeviceExternalImageFormatInfo;
+  using PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
+  struct ExternalImageFormatProperties;
+  using ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
+  struct PhysicalDeviceExternalBufferInfo;
+  using PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
+  struct ExternalBufferProperties;
+  using ExternalBufferPropertiesKHR = ExternalBufferProperties;
+  struct PhysicalDeviceIDProperties;
+  using PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
+  struct ExternalMemoryImageCreateInfo;
+  using ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
+  struct ExternalMemoryBufferCreateInfo;
+  using ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
+  struct ExportMemoryAllocateInfo;
+  using ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
+  struct PhysicalDeviceExternalFenceInfo;
+  using PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
+  struct ExternalFenceProperties;
+  using ExternalFencePropertiesKHR = ExternalFenceProperties;
+  struct ExportFenceCreateInfo;
+  using ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
+  struct ExportSemaphoreCreateInfo;
+  using ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
+  struct PhysicalDeviceExternalSemaphoreInfo;
+  using PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
+  struct ExternalSemaphoreProperties;
+  using ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
+  struct PhysicalDeviceMaintenance3Properties;
+  using PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
+  struct DescriptorSetLayoutSupport;
+  using DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
   struct PhysicalDeviceShaderDrawParametersFeatures;
   using PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
-  struct PhysicalDeviceShaderFloat16Int8Features;
-  using PhysicalDeviceFloat16Int8FeaturesKHR       = PhysicalDeviceShaderFloat16Int8Features;
-  using PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
-  struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
-  struct PhysicalDeviceShaderImageFootprintFeaturesNV;
-  struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
-  struct PhysicalDeviceShaderSMBuiltinsFeaturesNV;
-  struct PhysicalDeviceShaderSMBuiltinsPropertiesNV;
-  struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
-  using PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
-  struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
-  struct PhysicalDeviceShaderTerminateInvocationFeaturesKHR;
-  struct PhysicalDeviceShadingRateImageFeaturesNV;
-  struct PhysicalDeviceShadingRateImagePropertiesNV;
-  struct PhysicalDeviceSparseImageFormatInfo2;
-  using PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
-  struct PhysicalDeviceSparseProperties;
-  struct PhysicalDeviceSubgroupProperties;
-  struct PhysicalDeviceSubgroupSizeControlFeaturesEXT;
-  struct PhysicalDeviceSubgroupSizeControlPropertiesEXT;
-  struct PhysicalDeviceSubpassShadingFeaturesHUAWEI;
-  struct PhysicalDeviceSubpassShadingPropertiesHUAWEI;
-  struct PhysicalDeviceSurfaceInfo2KHR;
-  struct PhysicalDeviceSynchronization2FeaturesKHR;
-  struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT;
-  struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT;
-  struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
-  struct PhysicalDeviceTimelineSemaphoreFeatures;
-  using PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
-  struct PhysicalDeviceTimelineSemaphoreProperties;
-  using PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
-  struct PhysicalDeviceToolPropertiesEXT;
-  struct PhysicalDeviceTransformFeedbackFeaturesEXT;
-  struct PhysicalDeviceTransformFeedbackPropertiesEXT;
-  struct PhysicalDeviceUniformBufferStandardLayoutFeatures;
-  using PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures;
-  struct PhysicalDeviceVariablePointersFeatures;
-  using PhysicalDeviceVariablePointerFeatures     = PhysicalDeviceVariablePointersFeatures;
-  using PhysicalDeviceVariablePointerFeaturesKHR  = PhysicalDeviceVariablePointersFeatures;
-  using PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
-  struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT;
-  struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT;
-  struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT;
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct PhysicalDeviceVideoFormatInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+  //=== VK_VERSION_1_2 ===
   struct PhysicalDeviceVulkan11Features;
   struct PhysicalDeviceVulkan11Properties;
   struct PhysicalDeviceVulkan12Features;
   struct PhysicalDeviceVulkan12Properties;
-  struct PhysicalDeviceVulkanMemoryModelFeatures;
-  using PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
-  struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
-  struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
-  struct PhysicalDeviceYcbcrImageArraysFeaturesEXT;
-  struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
-  struct PipelineCacheCreateInfo;
-  struct PipelineCacheHeaderVersionOne;
-  struct PipelineColorBlendAdvancedStateCreateInfoEXT;
-  struct PipelineColorBlendAttachmentState;
-  struct PipelineColorBlendStateCreateInfo;
-  struct PipelineColorWriteCreateInfoEXT;
-  struct PipelineCompilerControlCreateInfoAMD;
-  struct PipelineCoverageModulationStateCreateInfoNV;
-  struct PipelineCoverageReductionStateCreateInfoNV;
-  struct PipelineCoverageToColorStateCreateInfoNV;
-  struct PipelineCreationFeedbackCreateInfoEXT;
-  struct PipelineCreationFeedbackEXT;
-  struct PipelineDepthStencilStateCreateInfo;
-  struct PipelineDiscardRectangleStateCreateInfoEXT;
-  struct PipelineDynamicStateCreateInfo;
-  struct PipelineExecutableInfoKHR;
-  struct PipelineExecutableInternalRepresentationKHR;
-  struct PipelineExecutablePropertiesKHR;
-  struct PipelineExecutableStatisticKHR;
-  union PipelineExecutableStatisticValueKHR;
-  struct PipelineFragmentShadingRateEnumStateCreateInfoNV;
-  struct PipelineFragmentShadingRateStateCreateInfoKHR;
-  struct PipelineInfoKHR;
-  struct PipelineInputAssemblyStateCreateInfo;
-  struct PipelineLayoutCreateInfo;
-  struct PipelineLibraryCreateInfoKHR;
-  struct PipelineMultisampleStateCreateInfo;
-  struct PipelineRasterizationConservativeStateCreateInfoEXT;
-  struct PipelineRasterizationDepthClipStateCreateInfoEXT;
-  struct PipelineRasterizationLineStateCreateInfoEXT;
-  struct PipelineRasterizationProvokingVertexStateCreateInfoEXT;
-  struct PipelineRasterizationStateCreateInfo;
-  struct PipelineRasterizationStateRasterizationOrderAMD;
-  struct PipelineRasterizationStateStreamCreateInfoEXT;
-  struct PipelineRepresentativeFragmentTestStateCreateInfoNV;
-  struct PipelineSampleLocationsStateCreateInfoEXT;
-  struct PipelineShaderStageCreateInfo;
-  struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
-  struct PipelineTessellationDomainOriginStateCreateInfo;
-  using PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo;
-  struct PipelineTessellationStateCreateInfo;
-  struct PipelineVertexInputDivisorStateCreateInfoEXT;
-  struct PipelineVertexInputStateCreateInfo;
-  struct PipelineViewportCoarseSampleOrderStateCreateInfoNV;
-  struct PipelineViewportExclusiveScissorStateCreateInfoNV;
-  struct PipelineViewportShadingRateImageStateCreateInfoNV;
-  struct PipelineViewportStateCreateInfo;
-  struct PipelineViewportSwizzleStateCreateInfoNV;
-  struct PipelineViewportWScalingStateCreateInfoNV;
-#if defined( VK_USE_PLATFORM_GGP )
-  struct PresentFrameTokenGGP;
-#endif /*VK_USE_PLATFORM_GGP*/
-  struct PresentIdKHR;
-  struct PresentInfoKHR;
-  struct PresentRegionKHR;
-  struct PresentRegionsKHR;
-  struct PresentTimeGOOGLE;
-  struct PresentTimesInfoGOOGLE;
-  struct PrivateDataSlotCreateInfoEXT;
-  struct ProtectedSubmitInfo;
-  struct PushConstantRange;
-  struct QueryPoolCreateInfo;
-  struct QueryPoolPerformanceCreateInfoKHR;
-  struct QueryPoolPerformanceQueryCreateInfoINTEL;
-  using QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
-  struct QueueFamilyCheckpointProperties2NV;
-  struct QueueFamilyCheckpointPropertiesNV;
-  struct QueueFamilyGlobalPriorityPropertiesEXT;
-  struct QueueFamilyProperties;
-  struct QueueFamilyProperties2;
-  using QueueFamilyProperties2KHR = QueueFamilyProperties2;
-  struct RayTracingPipelineCreateInfoKHR;
-  struct RayTracingPipelineCreateInfoNV;
-  struct RayTracingPipelineInterfaceCreateInfoKHR;
-  struct RayTracingShaderGroupCreateInfoKHR;
-  struct RayTracingShaderGroupCreateInfoNV;
-  struct Rect2D;
-  struct RectLayerKHR;
-  struct RefreshCycleDurationGOOGLE;
-  struct RenderPassAttachmentBeginInfo;
-  using RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
-  struct RenderPassBeginInfo;
-  struct RenderPassCreateInfo;
+  struct ImageFormatListCreateInfo;
+  using ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
   struct RenderPassCreateInfo2;
   using RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
-  struct RenderPassFragmentDensityMapCreateInfoEXT;
-  struct RenderPassInputAttachmentAspectCreateInfo;
-  using RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
-  struct RenderPassMultiviewCreateInfo;
-  using RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
-  struct RenderPassSampleLocationsBeginInfoEXT;
-  struct RenderPassTransformBeginInfoQCOM;
-  struct ResolveImageInfo2KHR;
-  struct SRTDataNV;
-  struct SampleLocationEXT;
-  struct SampleLocationsInfoEXT;
-  struct SamplerCreateInfo;
-  struct SamplerCustomBorderColorCreateInfoEXT;
+  struct AttachmentDescription2;
+  using AttachmentDescription2KHR = AttachmentDescription2;
+  struct AttachmentReference2;
+  using AttachmentReference2KHR = AttachmentReference2;
+  struct SubpassDescription2;
+  using SubpassDescription2KHR = SubpassDescription2;
+  struct SubpassDependency2;
+  using SubpassDependency2KHR = SubpassDependency2;
+  struct SubpassBeginInfo;
+  using SubpassBeginInfoKHR = SubpassBeginInfo;
+  struct SubpassEndInfo;
+  using SubpassEndInfoKHR = SubpassEndInfo;
+  struct PhysicalDevice8BitStorageFeatures;
+  using PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
+  struct ConformanceVersion;
+  using ConformanceVersionKHR = ConformanceVersion;
+  struct PhysicalDeviceDriverProperties;
+  using PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
+  struct PhysicalDeviceShaderAtomicInt64Features;
+  using PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
+  struct PhysicalDeviceShaderFloat16Int8Features;
+  using PhysicalDeviceFloat16Int8FeaturesKHR       = PhysicalDeviceShaderFloat16Int8Features;
+  using PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
+  struct PhysicalDeviceFloatControlsProperties;
+  using PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
+  struct DescriptorSetLayoutBindingFlagsCreateInfo;
+  using DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
+  struct PhysicalDeviceDescriptorIndexingFeatures;
+  using PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
+  struct PhysicalDeviceDescriptorIndexingProperties;
+  using PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
+  struct DescriptorSetVariableDescriptorCountAllocateInfo;
+  using DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo;
+  struct DescriptorSetVariableDescriptorCountLayoutSupport;
+  using DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport;
+  struct SubpassDescriptionDepthStencilResolve;
+  using SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
+  struct PhysicalDeviceDepthStencilResolveProperties;
+  using PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
+  struct PhysicalDeviceScalarBlockLayoutFeatures;
+  using PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
+  struct ImageStencilUsageCreateInfo;
+  using ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
   struct SamplerReductionModeCreateInfo;
   using SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
-  struct SamplerYcbcrConversionCreateInfo;
-  using SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
-  struct SamplerYcbcrConversionImageFormatProperties;
-  using SamplerYcbcrConversionImageFormatPropertiesKHR = SamplerYcbcrConversionImageFormatProperties;
-  struct SamplerYcbcrConversionInfo;
-  using SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
-#if defined( VK_USE_PLATFORM_SCREEN_QNX )
-  struct ScreenSurfaceCreateInfoQNX;
-#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
-  struct SemaphoreCreateInfo;
-  struct SemaphoreGetFdInfoKHR;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct SemaphoreGetWin32HandleInfoKHR;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_FUCHSIA )
-  struct SemaphoreGetZirconHandleInfoFUCHSIA;
-#endif /*VK_USE_PLATFORM_FUCHSIA*/
-  struct SemaphoreSignalInfo;
-  using SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
-  struct SemaphoreSubmitInfoKHR;
+  struct PhysicalDeviceSamplerFilterMinmaxProperties;
+  using PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties;
+  struct PhysicalDeviceVulkanMemoryModelFeatures;
+  using PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
+  struct PhysicalDeviceImagelessFramebufferFeatures;
+  using PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
+  struct FramebufferAttachmentsCreateInfo;
+  using FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
+  struct FramebufferAttachmentImageInfo;
+  using FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
+  struct RenderPassAttachmentBeginInfo;
+  using RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
+  struct PhysicalDeviceUniformBufferStandardLayoutFeatures;
+  using PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures;
+  struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
+  using PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
+  struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
+  using PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
+  struct AttachmentReferenceStencilLayout;
+  using AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
+  struct AttachmentDescriptionStencilLayout;
+  using AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
+  struct PhysicalDeviceHostQueryResetFeatures;
+  using PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
+  struct PhysicalDeviceTimelineSemaphoreFeatures;
+  using PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
+  struct PhysicalDeviceTimelineSemaphoreProperties;
+  using PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
   struct SemaphoreTypeCreateInfo;
   using SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
+  struct TimelineSemaphoreSubmitInfo;
+  using TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
   struct SemaphoreWaitInfo;
   using SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
-  struct SetStateFlagsIndirectCommandNV;
-  struct ShaderModuleCreateInfo;
-  struct ShaderModuleValidationCacheCreateInfoEXT;
-  struct ShaderResourceUsageAMD;
-  struct ShaderStatisticsInfoAMD;
-  struct ShadingRatePaletteNV;
-  struct SharedPresentSurfaceCapabilitiesKHR;
-  struct SparseBufferMemoryBindInfo;
-  struct SparseImageFormatProperties;
-  struct SparseImageFormatProperties2;
-  using SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
-  struct SparseImageMemoryBind;
-  struct SparseImageMemoryBindInfo;
-  struct SparseImageMemoryRequirements;
-  struct SparseImageMemoryRequirements2;
-  using SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
-  struct SparseImageOpaqueMemoryBindInfo;
-  struct SparseMemoryBind;
-  struct SpecializationInfo;
-  struct SpecializationMapEntry;
-  struct StencilOpState;
-#if defined( VK_USE_PLATFORM_GGP )
-  struct StreamDescriptorSurfaceCreateInfoGGP;
-#endif /*VK_USE_PLATFORM_GGP*/
-  struct StridedDeviceAddressRegionKHR;
-  struct SubmitInfo;
-  struct SubmitInfo2KHR;
-  struct SubpassBeginInfo;
-  using SubpassBeginInfoKHR = SubpassBeginInfo;
-  struct SubpassDependency;
-  struct SubpassDependency2;
-  using SubpassDependency2KHR = SubpassDependency2;
-  struct SubpassDescription;
-  struct SubpassDescription2;
-  using SubpassDescription2KHR = SubpassDescription2;
-  struct SubpassDescriptionDepthStencilResolve;
-  using SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
-  struct SubpassEndInfo;
-  using SubpassEndInfoKHR = SubpassEndInfo;
-  struct SubpassSampleLocationsEXT;
-  struct SubpassShadingPipelineCreateInfoHUAWEI;
-  struct SubresourceLayout;
-  struct SurfaceCapabilities2EXT;
-  struct SurfaceCapabilities2KHR;
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct SurfaceCapabilitiesFullScreenExclusiveEXT;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+  struct SemaphoreSignalInfo;
+  using SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
+  struct PhysicalDeviceBufferDeviceAddressFeatures;
+  using PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
+  struct BufferDeviceAddressInfo;
+  using BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
+  using BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
+  struct BufferOpaqueCaptureAddressCreateInfo;
+  using BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
+  struct MemoryOpaqueCaptureAddressAllocateInfo;
+  using MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
+  struct DeviceMemoryOpaqueCaptureAddressInfo;
+  using DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
+
+  //=== VK_KHR_surface ===
   struct SurfaceCapabilitiesKHR;
-  struct SurfaceFormat2KHR;
   struct SurfaceFormatKHR;
+
+  //=== VK_KHR_swapchain ===
+  struct SwapchainCreateInfoKHR;
+  struct PresentInfoKHR;
+  struct ImageSwapchainCreateInfoKHR;
+  struct BindImageMemorySwapchainInfoKHR;
+  struct AcquireNextImageInfoKHR;
+  struct DeviceGroupPresentCapabilitiesKHR;
+  struct DeviceGroupPresentInfoKHR;
+  struct DeviceGroupSwapchainCreateInfoKHR;
+
+  //=== VK_KHR_display ===
+  struct DisplayModeCreateInfoKHR;
+  struct DisplayModeParametersKHR;
+  struct DisplayModePropertiesKHR;
+  struct DisplayPlaneCapabilitiesKHR;
+  struct DisplayPlanePropertiesKHR;
+  struct DisplayPropertiesKHR;
+  struct DisplaySurfaceCreateInfoKHR;
+
+  //=== VK_KHR_display_swapchain ===
+  struct DisplayPresentInfoKHR;
+
+#if defined( VK_USE_PLATFORM_XLIB_KHR )
+  //=== VK_KHR_xlib_surface ===
+  struct XlibSurfaceCreateInfoKHR;
+#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+
+#if defined( VK_USE_PLATFORM_XCB_KHR )
+  //=== VK_KHR_xcb_surface ===
+  struct XcbSurfaceCreateInfoKHR;
+#endif /*VK_USE_PLATFORM_XCB_KHR*/
+
+#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
+  //=== VK_KHR_wayland_surface ===
+  struct WaylandSurfaceCreateInfoKHR;
+#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+#if defined( VK_USE_PLATFORM_ANDROID_KHR )
+  //=== VK_KHR_android_surface ===
+  struct AndroidSurfaceCreateInfoKHR;
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
 #if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct SurfaceFullScreenExclusiveInfoEXT;
-#endif /*VK_USE_PLATFORM_WIN32_KHR*/
-#if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct SurfaceFullScreenExclusiveWin32InfoEXT;
+  //=== VK_KHR_win32_surface ===
+  struct Win32SurfaceCreateInfoKHR;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct SurfaceProtectedCapabilitiesKHR;
-  struct SwapchainCounterCreateInfoEXT;
-  struct SwapchainCreateInfoKHR;
-  struct SwapchainDisplayNativeHdrCreateInfoAMD;
-  struct TextureLODGatherFormatPropertiesAMD;
-  struct TimelineSemaphoreSubmitInfo;
-  using TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
-  struct TraceRaysIndirectCommandKHR;
-  struct TransformMatrixKHR;
-  using TransformMatrixNV = TransformMatrixKHR;
-  struct ValidationCacheCreateInfoEXT;
-  struct ValidationFeaturesEXT;
-  struct ValidationFlagsEXT;
-  struct VertexInputAttributeDescription;
-  struct VertexInputAttributeDescription2EXT;
-  struct VertexInputBindingDescription;
-  struct VertexInputBindingDescription2EXT;
-  struct VertexInputBindingDivisorDescriptionEXT;
-#if defined( VK_USE_PLATFORM_VI_NN )
-  struct ViSurfaceCreateInfoNN;
-#endif /*VK_USE_PLATFORM_VI_NN*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoBeginCodingInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoBindMemoryKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+  //=== VK_EXT_debug_report ===
+  struct DebugReportCallbackCreateInfoEXT;
+
+  //=== VK_AMD_rasterization_order ===
+  struct PipelineRasterizationStateRasterizationOrderAMD;
+
+  //=== VK_EXT_debug_marker ===
+  struct DebugMarkerObjectNameInfoEXT;
+  struct DebugMarkerObjectTagInfoEXT;
+  struct DebugMarkerMarkerInfoEXT;
+
 #if defined( VK_ENABLE_BETA_EXTENSIONS )
+  //=== VK_KHR_video_queue ===
+  struct VideoQueueFamilyProperties2KHR;
+  struct VideoProfileKHR;
+  struct VideoProfilesKHR;
   struct VideoCapabilitiesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
+  struct PhysicalDeviceVideoFormatInfoKHR;
+  struct VideoFormatPropertiesKHR;
+  struct VideoPictureResourceKHR;
+  struct VideoReferenceSlotKHR;
+  struct VideoGetMemoryPropertiesKHR;
+  struct VideoBindMemoryKHR;
+  struct VideoSessionCreateInfoKHR;
+  struct VideoSessionParametersCreateInfoKHR;
+  struct VideoSessionParametersUpdateInfoKHR;
+  struct VideoBeginCodingInfoKHR;
+  struct VideoEndCodingInfoKHR;
   struct VideoCodingControlInfoKHR;
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
 #if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264CapabilitiesEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264DpbSlotInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264MvcEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264PictureInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264ProfileEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264SessionCreateInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264SessionParametersAddInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH264SessionParametersCreateInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265CapabilitiesEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265DpbSlotInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265PictureInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265ProfileEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265SessionCreateInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265SessionParametersAddInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoDecodeH265SessionParametersCreateInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
+  //=== VK_KHR_video_decode_queue ===
   struct VideoDecodeInfoKHR;
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+  //=== VK_NV_dedicated_allocation ===
+  struct DedicatedAllocationImageCreateInfoNV;
+  struct DedicatedAllocationBufferCreateInfoNV;
+  struct DedicatedAllocationMemoryAllocateInfoNV;
+
+  //=== VK_EXT_transform_feedback ===
+  struct PhysicalDeviceTransformFeedbackFeaturesEXT;
+  struct PhysicalDeviceTransformFeedbackPropertiesEXT;
+  struct PipelineRasterizationStateStreamCreateInfoEXT;
+
+  //=== VK_NVX_binary_import ===
+  struct CuModuleCreateInfoNVX;
+  struct CuFunctionCreateInfoNVX;
+  struct CuLaunchInfoNVX;
+
+  //=== VK_NVX_image_view_handle ===
+  struct ImageViewHandleInfoNVX;
+  struct ImageViewAddressPropertiesNVX;
+
 #if defined( VK_ENABLE_BETA_EXTENSIONS )
+  //=== VK_EXT_video_encode_h264 ===
   struct VideoEncodeH264CapabilitiesEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeH264DpbSlotInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeH264EmitPictureParametersEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeH264NaluSliceEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeH264ProfileEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
   struct VideoEncodeH264SessionCreateInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeH264SessionParametersAddInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
   struct VideoEncodeH264SessionParametersCreateInfoEXT;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
+  struct VideoEncodeH264SessionParametersAddInfoEXT;
   struct VideoEncodeH264VclFrameInfoEXT;
+  struct VideoEncodeH264EmitPictureParametersEXT;
+  struct VideoEncodeH264DpbSlotInfoEXT;
+  struct VideoEncodeH264NaluSliceEXT;
+  struct VideoEncodeH264ProfileEXT;
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
 #if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEncodeRateControlInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoEndCodingInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoFormatPropertiesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoGetMemoryPropertiesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoPictureResourceKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoProfileKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoProfilesKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoQueueFamilyProperties2KHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoReferenceSlotKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoSessionCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoSessionParametersCreateInfoKHR;
-#endif /*VK_ENABLE_BETA_EXTENSIONS*/
-#if defined( VK_ENABLE_BETA_EXTENSIONS )
-  struct VideoSessionParametersUpdateInfoKHR;
+  //=== VK_EXT_video_decode_h264 ===
+  struct VideoDecodeH264ProfileEXT;
+  struct VideoDecodeH264CapabilitiesEXT;
+  struct VideoDecodeH264SessionCreateInfoEXT;
+  struct VideoDecodeH264SessionParametersCreateInfoEXT;
+  struct VideoDecodeH264SessionParametersAddInfoEXT;
+  struct VideoDecodeH264PictureInfoEXT;
+  struct VideoDecodeH264MvcEXT;
+  struct VideoDecodeH264DpbSlotInfoEXT;
 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
-  struct Viewport;
-  struct ViewportSwizzleNV;
-  struct ViewportWScalingNV;
-#if defined( VK_USE_PLATFORM_WAYLAND_KHR )
-  struct WaylandSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
+
+  //=== VK_AMD_texture_gather_bias_lod ===
+  struct TextureLODGatherFormatPropertiesAMD;
+
+  //=== VK_AMD_shader_info ===
+  struct ShaderResourceUsageAMD;
+  struct ShaderStatisticsInfoAMD;
+
+#if defined( VK_USE_PLATFORM_GGP )
+  //=== VK_GGP_stream_descriptor_surface ===
+  struct StreamDescriptorSurfaceCreateInfoGGP;
+#endif /*VK_USE_PLATFORM_GGP*/
+
+  //=== VK_NV_corner_sampled_image ===
+  struct PhysicalDeviceCornerSampledImageFeaturesNV;
+
+  //=== VK_NV_external_memory_capabilities ===
+  struct ExternalImageFormatPropertiesNV;
+
+  //=== VK_NV_external_memory ===
+  struct ExternalMemoryImageCreateInfoNV;
+  struct ExportMemoryAllocateInfoNV;
+
 #if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct Win32KeyedMutexAcquireReleaseInfoKHR;
+  //=== VK_NV_external_memory_win32 ===
+  struct ImportMemoryWin32HandleInfoNV;
+  struct ExportMemoryWin32HandleInfoNV;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
 #if defined( VK_USE_PLATFORM_WIN32_KHR )
+  //=== VK_NV_win32_keyed_mutex ===
   struct Win32KeyedMutexAcquireReleaseInfoNV;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  //=== VK_EXT_validation_flags ===
+  struct ValidationFlagsEXT;
+
+#if defined( VK_USE_PLATFORM_VI_NN )
+  //=== VK_NN_vi_surface ===
+  struct ViSurfaceCreateInfoNN;
+#endif /*VK_USE_PLATFORM_VI_NN*/
+
+  //=== VK_EXT_texture_compression_astc_hdr ===
+  struct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
+
+  //=== VK_EXT_astc_decode_mode ===
+  struct ImageViewASTCDecodeModeEXT;
+  struct PhysicalDeviceASTCDecodeFeaturesEXT;
+
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+  //=== VK_KHR_external_memory_win32 ===
+  struct ImportMemoryWin32HandleInfoKHR;
+  struct ExportMemoryWin32HandleInfoKHR;
+  struct MemoryWin32HandlePropertiesKHR;
+  struct MemoryGetWin32HandleInfoKHR;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  //=== VK_KHR_external_memory_fd ===
+  struct ImportMemoryFdInfoKHR;
+  struct MemoryFdPropertiesKHR;
+  struct MemoryGetFdInfoKHR;
+
 #if defined( VK_USE_PLATFORM_WIN32_KHR )
-  struct Win32SurfaceCreateInfoKHR;
+  //=== VK_KHR_win32_keyed_mutex ===
+  struct Win32KeyedMutexAcquireReleaseInfoKHR;
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-  struct WriteDescriptorSet;
+
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+  //=== VK_KHR_external_semaphore_win32 ===
+  struct ImportSemaphoreWin32HandleInfoKHR;
+  struct ExportSemaphoreWin32HandleInfoKHR;
+  struct D3D12FenceSubmitInfoKHR;
+  struct SemaphoreGetWin32HandleInfoKHR;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  //=== VK_KHR_external_semaphore_fd ===
+  struct ImportSemaphoreFdInfoKHR;
+  struct SemaphoreGetFdInfoKHR;
+
+  //=== VK_KHR_push_descriptor ===
+  struct PhysicalDevicePushDescriptorPropertiesKHR;
+
+  //=== VK_EXT_conditional_rendering ===
+  struct ConditionalRenderingBeginInfoEXT;
+  struct PhysicalDeviceConditionalRenderingFeaturesEXT;
+  struct CommandBufferInheritanceConditionalRenderingInfoEXT;
+
+  //=== VK_KHR_incremental_present ===
+  struct PresentRegionsKHR;
+  struct PresentRegionKHR;
+  struct RectLayerKHR;
+
+  //=== VK_NV_clip_space_w_scaling ===
+  struct ViewportWScalingNV;
+  struct PipelineViewportWScalingStateCreateInfoNV;
+
+  //=== VK_EXT_display_surface_counter ===
+  struct SurfaceCapabilities2EXT;
+
+  //=== VK_EXT_display_control ===
+  struct DisplayPowerInfoEXT;
+  struct DeviceEventInfoEXT;
+  struct DisplayEventInfoEXT;
+  struct SwapchainCounterCreateInfoEXT;
+
+  //=== VK_GOOGLE_display_timing ===
+  struct RefreshCycleDurationGOOGLE;
+  struct PastPresentationTimingGOOGLE;
+  struct PresentTimesInfoGOOGLE;
+  struct PresentTimeGOOGLE;
+
+  //=== VK_NVX_multiview_per_view_attributes ===
+  struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
+
+  //=== VK_NV_viewport_swizzle ===
+  struct ViewportSwizzleNV;
+  struct PipelineViewportSwizzleStateCreateInfoNV;
+
+  //=== VK_EXT_discard_rectangles ===
+  struct PhysicalDeviceDiscardRectanglePropertiesEXT;
+  struct PipelineDiscardRectangleStateCreateInfoEXT;
+
+  //=== VK_EXT_conservative_rasterization ===
+  struct PhysicalDeviceConservativeRasterizationPropertiesEXT;
+  struct PipelineRasterizationConservativeStateCreateInfoEXT;
+
+  //=== VK_EXT_depth_clip_enable ===
+  struct PhysicalDeviceDepthClipEnableFeaturesEXT;
+  struct PipelineRasterizationDepthClipStateCreateInfoEXT;
+
+  //=== VK_EXT_hdr_metadata ===
+  struct HdrMetadataEXT;
+  struct XYColorEXT;
+
+  //=== VK_KHR_shared_presentable_image ===
+  struct SharedPresentSurfaceCapabilitiesKHR;
+
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+  //=== VK_KHR_external_fence_win32 ===
+  struct ImportFenceWin32HandleInfoKHR;
+  struct ExportFenceWin32HandleInfoKHR;
+  struct FenceGetWin32HandleInfoKHR;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  //=== VK_KHR_external_fence_fd ===
+  struct ImportFenceFdInfoKHR;
+  struct FenceGetFdInfoKHR;
+
+  //=== VK_KHR_performance_query ===
+  struct PhysicalDevicePerformanceQueryFeaturesKHR;
+  struct PhysicalDevicePerformanceQueryPropertiesKHR;
+  struct PerformanceCounterKHR;
+  struct PerformanceCounterDescriptionKHR;
+  struct QueryPoolPerformanceCreateInfoKHR;
+  union PerformanceCounterResultKHR;
+  struct AcquireProfilingLockInfoKHR;
+  struct PerformanceQuerySubmitInfoKHR;
+
+  //=== VK_KHR_get_surface_capabilities2 ===
+  struct PhysicalDeviceSurfaceInfo2KHR;
+  struct SurfaceCapabilities2KHR;
+  struct SurfaceFormat2KHR;
+
+  //=== VK_KHR_get_display_properties2 ===
+  struct DisplayProperties2KHR;
+  struct DisplayPlaneProperties2KHR;
+  struct DisplayModeProperties2KHR;
+  struct DisplayPlaneInfo2KHR;
+  struct DisplayPlaneCapabilities2KHR;
+
+#if defined( VK_USE_PLATFORM_IOS_MVK )
+  //=== VK_MVK_ios_surface ===
+  struct IOSSurfaceCreateInfoMVK;
+#endif /*VK_USE_PLATFORM_IOS_MVK*/
+
+#if defined( VK_USE_PLATFORM_MACOS_MVK )
+  //=== VK_MVK_macos_surface ===
+  struct MacOSSurfaceCreateInfoMVK;
+#endif /*VK_USE_PLATFORM_MACOS_MVK*/
+
+  //=== VK_EXT_debug_utils ===
+  struct DebugUtilsLabelEXT;
+  struct DebugUtilsMessengerCallbackDataEXT;
+  struct DebugUtilsMessengerCreateInfoEXT;
+  struct DebugUtilsObjectNameInfoEXT;
+  struct DebugUtilsObjectTagInfoEXT;
+
+#if defined( VK_USE_PLATFORM_ANDROID_KHR )
+  //=== VK_ANDROID_external_memory_android_hardware_buffer ===
+  struct AndroidHardwareBufferUsageANDROID;
+  struct AndroidHardwareBufferPropertiesANDROID;
+  struct AndroidHardwareBufferFormatPropertiesANDROID;
+  struct ImportAndroidHardwareBufferInfoANDROID;
+  struct MemoryGetAndroidHardwareBufferInfoANDROID;
+  struct ExternalFormatANDROID;
+#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
+
+  //=== VK_EXT_inline_uniform_block ===
+  struct PhysicalDeviceInlineUniformBlockFeaturesEXT;
+  struct PhysicalDeviceInlineUniformBlockPropertiesEXT;
+  struct WriteDescriptorSetInlineUniformBlockEXT;
+  struct DescriptorPoolInlineUniformBlockCreateInfoEXT;
+
+  //=== VK_EXT_sample_locations ===
+  struct SampleLocationEXT;
+  struct SampleLocationsInfoEXT;
+  struct AttachmentSampleLocationsEXT;
+  struct SubpassSampleLocationsEXT;
+  struct RenderPassSampleLocationsBeginInfoEXT;
+  struct PipelineSampleLocationsStateCreateInfoEXT;
+  struct PhysicalDeviceSampleLocationsPropertiesEXT;
+  struct MultisamplePropertiesEXT;
+
+  //=== VK_EXT_blend_operation_advanced ===
+  struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT;
+  struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+  struct PipelineColorBlendAdvancedStateCreateInfoEXT;
+
+  //=== VK_NV_fragment_coverage_to_color ===
+  struct PipelineCoverageToColorStateCreateInfoNV;
+
+  //=== VK_KHR_acceleration_structure ===
+  union DeviceOrHostAddressKHR;
+  union DeviceOrHostAddressConstKHR;
+  struct AccelerationStructureBuildRangeInfoKHR;
+  struct AabbPositionsKHR;
+  using AabbPositionsNV = AabbPositionsKHR;
+  struct AccelerationStructureGeometryTrianglesDataKHR;
+  struct TransformMatrixKHR;
+  using TransformMatrixNV = TransformMatrixKHR;
+  struct AccelerationStructureBuildGeometryInfoKHR;
+  struct AccelerationStructureGeometryAabbsDataKHR;
+  struct AccelerationStructureInstanceKHR;
+  using AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
+  struct AccelerationStructureGeometryInstancesDataKHR;
+  union AccelerationStructureGeometryDataKHR;
+  struct AccelerationStructureGeometryKHR;
+  struct AccelerationStructureCreateInfoKHR;
   struct WriteDescriptorSetAccelerationStructureKHR;
+  struct PhysicalDeviceAccelerationStructureFeaturesKHR;
+  struct PhysicalDeviceAccelerationStructurePropertiesKHR;
+  struct AccelerationStructureDeviceAddressInfoKHR;
+  struct AccelerationStructureVersionInfoKHR;
+  struct CopyAccelerationStructureToMemoryInfoKHR;
+  struct CopyMemoryToAccelerationStructureInfoKHR;
+  struct CopyAccelerationStructureInfoKHR;
+  struct AccelerationStructureBuildSizesInfoKHR;
+
+  //=== VK_NV_framebuffer_mixed_samples ===
+  struct PipelineCoverageModulationStateCreateInfoNV;
+
+  //=== VK_NV_shader_sm_builtins ===
+  struct PhysicalDeviceShaderSMBuiltinsPropertiesNV;
+  struct PhysicalDeviceShaderSMBuiltinsFeaturesNV;
+
+  //=== VK_EXT_image_drm_format_modifier ===
+  struct DrmFormatModifierPropertiesListEXT;
+  struct DrmFormatModifierPropertiesEXT;
+  struct PhysicalDeviceImageDrmFormatModifierInfoEXT;
+  struct ImageDrmFormatModifierListCreateInfoEXT;
+  struct ImageDrmFormatModifierExplicitCreateInfoEXT;
+  struct ImageDrmFormatModifierPropertiesEXT;
+
+  //=== VK_EXT_validation_cache ===
+  struct ValidationCacheCreateInfoEXT;
+  struct ShaderModuleValidationCacheCreateInfoEXT;
+
+#if defined( VK_ENABLE_BETA_EXTENSIONS )
+  //=== VK_KHR_portability_subset ===
+  struct PhysicalDevicePortabilitySubsetFeaturesKHR;
+  struct PhysicalDevicePortabilitySubsetPropertiesKHR;
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+  //=== VK_NV_shading_rate_image ===
+  struct ShadingRatePaletteNV;
+  struct PipelineViewportShadingRateImageStateCreateInfoNV;
+  struct PhysicalDeviceShadingRateImageFeaturesNV;
+  struct PhysicalDeviceShadingRateImagePropertiesNV;
+  struct CoarseSampleLocationNV;
+  struct CoarseSampleOrderCustomNV;
+  struct PipelineViewportCoarseSampleOrderStateCreateInfoNV;
+
+  //=== VK_NV_ray_tracing ===
+  struct RayTracingShaderGroupCreateInfoNV;
+  struct RayTracingPipelineCreateInfoNV;
+  struct GeometryTrianglesNV;
+  struct GeometryAABBNV;
+  struct GeometryDataNV;
+  struct GeometryNV;
+  struct AccelerationStructureInfoNV;
+  struct AccelerationStructureCreateInfoNV;
+  struct BindAccelerationStructureMemoryInfoNV;
   struct WriteDescriptorSetAccelerationStructureNV;
-  struct WriteDescriptorSetInlineUniformBlockEXT;
-  struct XYColorEXT;
-#if defined( VK_USE_PLATFORM_XCB_KHR )
-  struct XcbSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_XCB_KHR*/
-#if defined( VK_USE_PLATFORM_XLIB_KHR )
-  struct XlibSurfaceCreateInfoKHR;
-#endif /*VK_USE_PLATFORM_XLIB_KHR*/
+  struct AccelerationStructureMemoryRequirementsInfoNV;
+  struct PhysicalDeviceRayTracingPropertiesNV;
+
+  //=== VK_NV_representative_fragment_test ===
+  struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV;
+  struct PipelineRepresentativeFragmentTestStateCreateInfoNV;
+
+  //=== VK_EXT_filter_cubic ===
+  struct PhysicalDeviceImageViewImageFormatInfoEXT;
+  struct FilterCubicImageViewImageFormatPropertiesEXT;
+
+  //=== VK_EXT_global_priority ===
+  struct DeviceQueueGlobalPriorityCreateInfoEXT;
+
+  //=== VK_EXT_external_memory_host ===
+  struct ImportMemoryHostPointerInfoEXT;
+  struct MemoryHostPointerPropertiesEXT;
+  struct PhysicalDeviceExternalMemoryHostPropertiesEXT;
+
+  //=== VK_KHR_shader_clock ===
+  struct PhysicalDeviceShaderClockFeaturesKHR;
+
+  //=== VK_AMD_pipeline_compiler_control ===
+  struct PipelineCompilerControlCreateInfoAMD;
+
+  //=== VK_EXT_calibrated_timestamps ===
+  struct CalibratedTimestampInfoEXT;
+
+  //=== VK_AMD_shader_core_properties ===
+  struct PhysicalDeviceShaderCorePropertiesAMD;
+
+#if defined( VK_ENABLE_BETA_EXTENSIONS )
+  //=== VK_EXT_video_decode_h265 ===
+  struct VideoDecodeH265ProfileEXT;
+  struct VideoDecodeH265CapabilitiesEXT;
+  struct VideoDecodeH265SessionCreateInfoEXT;
+  struct VideoDecodeH265SessionParametersCreateInfoEXT;
+  struct VideoDecodeH265SessionParametersAddInfoEXT;
+  struct VideoDecodeH265PictureInfoEXT;
+  struct VideoDecodeH265DpbSlotInfoEXT;
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+  //=== VK_AMD_memory_overallocation_behavior ===
+  struct DeviceMemoryOverallocationCreateInfoAMD;
+
+  //=== VK_EXT_vertex_attribute_divisor ===
+  struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT;
+  struct VertexInputBindingDivisorDescriptionEXT;
+  struct PipelineVertexInputDivisorStateCreateInfoEXT;
+  struct PhysicalDeviceVertexAttributeDivisorFeaturesEXT;
+
+#if defined( VK_USE_PLATFORM_GGP )
+  //=== VK_GGP_frame_token ===
+  struct PresentFrameTokenGGP;
+#endif /*VK_USE_PLATFORM_GGP*/
+
+  //=== VK_EXT_pipeline_creation_feedback ===
+  struct PipelineCreationFeedbackCreateInfoEXT;
+  struct PipelineCreationFeedbackEXT;
+
+  //=== VK_NV_compute_shader_derivatives ===
+  struct PhysicalDeviceComputeShaderDerivativesFeaturesNV;
+
+  //=== VK_NV_mesh_shader ===
+  struct PhysicalDeviceMeshShaderFeaturesNV;
+  struct PhysicalDeviceMeshShaderPropertiesNV;
+  struct DrawMeshTasksIndirectCommandNV;
+
+  //=== VK_NV_fragment_shader_barycentric ===
+  struct PhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+
+  //=== VK_NV_shader_image_footprint ===
+  struct PhysicalDeviceShaderImageFootprintFeaturesNV;
+
+  //=== VK_NV_scissor_exclusive ===
+  struct PipelineViewportExclusiveScissorStateCreateInfoNV;
+  struct PhysicalDeviceExclusiveScissorFeaturesNV;
+
+  //=== VK_NV_device_diagnostic_checkpoints ===
+  struct QueueFamilyCheckpointPropertiesNV;
+  struct CheckpointDataNV;
+
+  //=== VK_INTEL_shader_integer_functions2 ===
+  struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
+
+  //=== VK_INTEL_performance_query ===
+  union PerformanceValueDataINTEL;
+  struct PerformanceValueINTEL;
+  struct InitializePerformanceApiInfoINTEL;
+  struct QueryPoolPerformanceQueryCreateInfoINTEL;
+  using QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
+  struct PerformanceMarkerInfoINTEL;
+  struct PerformanceStreamMarkerInfoINTEL;
+  struct PerformanceOverrideInfoINTEL;
+  struct PerformanceConfigurationAcquireInfoINTEL;
+
+  //=== VK_EXT_pci_bus_info ===
+  struct PhysicalDevicePCIBusInfoPropertiesEXT;
+
+  //=== VK_AMD_display_native_hdr ===
+  struct DisplayNativeHdrSurfaceCapabilitiesAMD;
+  struct SwapchainDisplayNativeHdrCreateInfoAMD;
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_imagepipe_surface ===
+  struct ImagePipeSurfaceCreateInfoFUCHSIA;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  //=== VK_KHR_shader_terminate_invocation ===
+  struct PhysicalDeviceShaderTerminateInvocationFeaturesKHR;
+
+#if defined( VK_USE_PLATFORM_METAL_EXT )
+  //=== VK_EXT_metal_surface ===
+  struct MetalSurfaceCreateInfoEXT;
+#endif /*VK_USE_PLATFORM_METAL_EXT*/
+
+  //=== VK_EXT_fragment_density_map ===
+  struct PhysicalDeviceFragmentDensityMapFeaturesEXT;
+  struct PhysicalDeviceFragmentDensityMapPropertiesEXT;
+  struct RenderPassFragmentDensityMapCreateInfoEXT;
+
+  //=== VK_EXT_subgroup_size_control ===
+  struct PhysicalDeviceSubgroupSizeControlFeaturesEXT;
+  struct PhysicalDeviceSubgroupSizeControlPropertiesEXT;
+  struct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
+
+  //=== VK_KHR_fragment_shading_rate ===
+  struct FragmentShadingRateAttachmentInfoKHR;
+  struct PipelineFragmentShadingRateStateCreateInfoKHR;
+  struct PhysicalDeviceFragmentShadingRateFeaturesKHR;
+  struct PhysicalDeviceFragmentShadingRatePropertiesKHR;
+  struct PhysicalDeviceFragmentShadingRateKHR;
+
+  //=== VK_AMD_shader_core_properties2 ===
+  struct PhysicalDeviceShaderCoreProperties2AMD;
+
+  //=== VK_AMD_device_coherent_memory ===
+  struct PhysicalDeviceCoherentMemoryFeaturesAMD;
+
+  //=== VK_EXT_shader_image_atomic_int64 ===
+  struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
+
+  //=== VK_EXT_memory_budget ===
+  struct PhysicalDeviceMemoryBudgetPropertiesEXT;
+
+  //=== VK_EXT_memory_priority ===
+  struct PhysicalDeviceMemoryPriorityFeaturesEXT;
+  struct MemoryPriorityAllocateInfoEXT;
+
+  //=== VK_KHR_surface_protected_capabilities ===
+  struct SurfaceProtectedCapabilitiesKHR;
+
+  //=== VK_NV_dedicated_allocation_image_aliasing ===
+  struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
+
+  //=== VK_EXT_buffer_device_address ===
+  struct PhysicalDeviceBufferDeviceAddressFeaturesEXT;
+  using PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
+  struct BufferDeviceAddressCreateInfoEXT;
+
+  //=== VK_EXT_tooling_info ===
+  struct PhysicalDeviceToolPropertiesEXT;
+
+  //=== VK_EXT_validation_features ===
+  struct ValidationFeaturesEXT;
+
+  //=== VK_KHR_present_wait ===
+  struct PhysicalDevicePresentWaitFeaturesKHR;
+
+  //=== VK_NV_cooperative_matrix ===
+  struct CooperativeMatrixPropertiesNV;
+  struct PhysicalDeviceCooperativeMatrixFeaturesNV;
+  struct PhysicalDeviceCooperativeMatrixPropertiesNV;
+
+  //=== VK_NV_coverage_reduction_mode ===
+  struct PhysicalDeviceCoverageReductionModeFeaturesNV;
+  struct PipelineCoverageReductionStateCreateInfoNV;
+  struct FramebufferMixedSamplesCombinationNV;
+
+  //=== VK_EXT_fragment_shader_interlock ===
+  struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT;
+
+  //=== VK_EXT_ycbcr_image_arrays ===
+  struct PhysicalDeviceYcbcrImageArraysFeaturesEXT;
+
+  //=== VK_EXT_provoking_vertex ===
+  struct PhysicalDeviceProvokingVertexFeaturesEXT;
+  struct PhysicalDeviceProvokingVertexPropertiesEXT;
+  struct PipelineRasterizationProvokingVertexStateCreateInfoEXT;
+
+#if defined( VK_USE_PLATFORM_WIN32_KHR )
+  //=== VK_EXT_full_screen_exclusive ===
+  struct SurfaceFullScreenExclusiveInfoEXT;
+  struct SurfaceCapabilitiesFullScreenExclusiveEXT;
+  struct SurfaceFullScreenExclusiveWin32InfoEXT;
+#endif /*VK_USE_PLATFORM_WIN32_KHR*/
+
+  //=== VK_EXT_headless_surface ===
+  struct HeadlessSurfaceCreateInfoEXT;
+
+  //=== VK_EXT_line_rasterization ===
+  struct PhysicalDeviceLineRasterizationFeaturesEXT;
+  struct PhysicalDeviceLineRasterizationPropertiesEXT;
+  struct PipelineRasterizationLineStateCreateInfoEXT;
+
+  //=== VK_EXT_shader_atomic_float ===
+  struct PhysicalDeviceShaderAtomicFloatFeaturesEXT;
+
+  //=== VK_EXT_index_type_uint8 ===
+  struct PhysicalDeviceIndexTypeUint8FeaturesEXT;
+
+  //=== VK_EXT_extended_dynamic_state ===
+  struct PhysicalDeviceExtendedDynamicStateFeaturesEXT;
+
+  //=== VK_KHR_pipeline_executable_properties ===
+  struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
+  struct PipelineInfoKHR;
+  struct PipelineExecutablePropertiesKHR;
+  struct PipelineExecutableInfoKHR;
+  union PipelineExecutableStatisticValueKHR;
+  struct PipelineExecutableStatisticKHR;
+  struct PipelineExecutableInternalRepresentationKHR;
+
+  //=== VK_EXT_shader_atomic_float2 ===
+  struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT;
+
+  //=== VK_EXT_shader_demote_to_helper_invocation ===
+  struct PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
+
+  //=== VK_NV_device_generated_commands ===
+  struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
+  struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
+  struct GraphicsShaderGroupCreateInfoNV;
+  struct GraphicsPipelineShaderGroupsCreateInfoNV;
+  struct BindShaderGroupIndirectCommandNV;
+  struct BindIndexBufferIndirectCommandNV;
+  struct BindVertexBufferIndirectCommandNV;
+  struct SetStateFlagsIndirectCommandNV;
+  struct IndirectCommandsStreamNV;
+  struct IndirectCommandsLayoutTokenNV;
+  struct IndirectCommandsLayoutCreateInfoNV;
+  struct GeneratedCommandsInfoNV;
+  struct GeneratedCommandsMemoryRequirementsInfoNV;
+
+  //=== VK_NV_inherited_viewport_scissor ===
+  struct PhysicalDeviceInheritedViewportScissorFeaturesNV;
+  struct CommandBufferInheritanceViewportScissorInfoNV;
+
+  //=== VK_EXT_texel_buffer_alignment ===
+  struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT;
+  struct PhysicalDeviceTexelBufferAlignmentPropertiesEXT;
+
+  //=== VK_QCOM_render_pass_transform ===
+  struct RenderPassTransformBeginInfoQCOM;
+  struct CommandBufferInheritanceRenderPassTransformInfoQCOM;
+
+  //=== VK_EXT_device_memory_report ===
+  struct PhysicalDeviceDeviceMemoryReportFeaturesEXT;
+  struct DeviceDeviceMemoryReportCreateInfoEXT;
+  struct DeviceMemoryReportCallbackDataEXT;
+
+  //=== VK_EXT_robustness2 ===
+  struct PhysicalDeviceRobustness2FeaturesEXT;
+  struct PhysicalDeviceRobustness2PropertiesEXT;
+
+  //=== VK_EXT_custom_border_color ===
+  struct SamplerCustomBorderColorCreateInfoEXT;
+  struct PhysicalDeviceCustomBorderColorPropertiesEXT;
+  struct PhysicalDeviceCustomBorderColorFeaturesEXT;
+
+  //=== VK_KHR_pipeline_library ===
+  struct PipelineLibraryCreateInfoKHR;
+
+  //=== VK_KHR_present_id ===
+  struct PresentIdKHR;
+  struct PhysicalDevicePresentIdFeaturesKHR;
+
+  //=== VK_EXT_private_data ===
+  struct PhysicalDevicePrivateDataFeaturesEXT;
+  struct DevicePrivateDataCreateInfoEXT;
+  struct PrivateDataSlotCreateInfoEXT;
+
+  //=== VK_EXT_pipeline_creation_cache_control ===
+  struct PhysicalDevicePipelineCreationCacheControlFeaturesEXT;
+
+#if defined( VK_ENABLE_BETA_EXTENSIONS )
+  //=== VK_KHR_video_encode_queue ===
+  struct VideoEncodeInfoKHR;
+  struct VideoEncodeRateControlInfoKHR;
+#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+
+  //=== VK_NV_device_diagnostics_config ===
+  struct PhysicalDeviceDiagnosticsConfigFeaturesNV;
+  struct DeviceDiagnosticsConfigCreateInfoNV;
+
+  //=== VK_KHR_synchronization2 ===
+  struct MemoryBarrier2KHR;
+  struct BufferMemoryBarrier2KHR;
+  struct ImageMemoryBarrier2KHR;
+  struct DependencyInfoKHR;
+  struct SubmitInfo2KHR;
+  struct SemaphoreSubmitInfoKHR;
+  struct CommandBufferSubmitInfoKHR;
+  struct PhysicalDeviceSynchronization2FeaturesKHR;
+  struct QueueFamilyCheckpointProperties2NV;
+  struct CheckpointData2NV;
+
+  //=== VK_KHR_shader_subgroup_uniform_control_flow ===
+  struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
+
+  //=== VK_KHR_zero_initialize_workgroup_memory ===
+  struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
+
+  //=== VK_NV_fragment_shading_rate_enums ===
+  struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
+  struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
+  struct PipelineFragmentShadingRateEnumStateCreateInfoNV;
+
+  //=== VK_NV_ray_tracing_motion_blur ===
+  struct AccelerationStructureGeometryMotionTrianglesDataNV;
+  struct AccelerationStructureMotionInfoNV;
+  struct AccelerationStructureMotionInstanceNV;
+  union AccelerationStructureMotionInstanceDataNV;
+  struct AccelerationStructureMatrixMotionInstanceNV;
+  struct AccelerationStructureSRTMotionInstanceNV;
+  struct SRTDataNV;
+  struct PhysicalDeviceRayTracingMotionBlurFeaturesNV;
+
+  //=== VK_EXT_ycbcr_2plane_444_formats ===
+  struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
+
+  //=== VK_EXT_fragment_density_map2 ===
+  struct PhysicalDeviceFragmentDensityMap2FeaturesEXT;
+  struct PhysicalDeviceFragmentDensityMap2PropertiesEXT;
+
+  //=== VK_QCOM_rotated_copy_commands ===
+  struct CopyCommandTransformInfoQCOM;
+
+  //=== VK_EXT_image_robustness ===
+  struct PhysicalDeviceImageRobustnessFeaturesEXT;
+
+  //=== VK_KHR_workgroup_memory_explicit_layout ===
+  struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
+
+  //=== VK_KHR_copy_commands2 ===
+  struct CopyBufferInfo2KHR;
+  struct CopyImageInfo2KHR;
+  struct CopyBufferToImageInfo2KHR;
+  struct CopyImageToBufferInfo2KHR;
+  struct BlitImageInfo2KHR;
+  struct ResolveImageInfo2KHR;
+  struct BufferCopy2KHR;
+  struct ImageCopy2KHR;
+  struct ImageBlit2KHR;
+  struct BufferImageCopy2KHR;
+  struct ImageResolve2KHR;
+
+  //=== VK_EXT_4444_formats ===
+  struct PhysicalDevice4444FormatsFeaturesEXT;
+
+#if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
+  //=== VK_EXT_directfb_surface ===
+  struct DirectFBSurfaceCreateInfoEXT;
+#endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
+
+  //=== VK_KHR_ray_tracing_pipeline ===
+  struct RayTracingShaderGroupCreateInfoKHR;
+  struct RayTracingPipelineCreateInfoKHR;
+  struct PhysicalDeviceRayTracingPipelineFeaturesKHR;
+  struct PhysicalDeviceRayTracingPipelinePropertiesKHR;
+  struct StridedDeviceAddressRegionKHR;
+  struct TraceRaysIndirectCommandKHR;
+  struct RayTracingPipelineInterfaceCreateInfoKHR;
+
+  //=== VK_KHR_ray_query ===
+  struct PhysicalDeviceRayQueryFeaturesKHR;
+
+  //=== VK_VALVE_mutable_descriptor_type ===
+  struct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+  struct MutableDescriptorTypeListVALVE;
+  struct MutableDescriptorTypeCreateInfoVALVE;
+
+  //=== VK_EXT_vertex_input_dynamic_state ===
+  struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT;
+  struct VertexInputBindingDescription2EXT;
+  struct VertexInputAttributeDescription2EXT;
+
+  //=== VK_EXT_physical_device_drm ===
+  struct PhysicalDeviceDrmPropertiesEXT;
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_external_memory ===
+  struct ImportMemoryZirconHandleInfoFUCHSIA;
+  struct MemoryZirconHandlePropertiesFUCHSIA;
+  struct MemoryGetZirconHandleInfoFUCHSIA;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_external_semaphore ===
+  struct ImportSemaphoreZirconHandleInfoFUCHSIA;
+  struct SemaphoreGetZirconHandleInfoFUCHSIA;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+  //=== VK_HUAWEI_subpass_shading ===
+  struct SubpassShadingPipelineCreateInfoHUAWEI;
+  struct PhysicalDeviceSubpassShadingFeaturesHUAWEI;
+  struct PhysicalDeviceSubpassShadingPropertiesHUAWEI;
+
+  //=== VK_HUAWEI_invocation_mask ===
+  struct PhysicalDeviceInvocationMaskFeaturesHUAWEI;
+
+  //=== VK_NV_external_memory_rdma ===
+  struct MemoryGetRemoteAddressInfoNV;
+  struct PhysicalDeviceExternalMemoryRDMAFeaturesNV;
+
+  //=== VK_EXT_extended_dynamic_state2 ===
+  struct PhysicalDeviceExtendedDynamicState2FeaturesEXT;
+
+#if defined( VK_USE_PLATFORM_SCREEN_QNX )
+  //=== VK_QNX_screen_surface ===
+  struct ScreenSurfaceCreateInfoQNX;
+#endif /*VK_USE_PLATFORM_SCREEN_QNX*/
+
+  //=== VK_EXT_color_write_enable ===
+  struct PhysicalDeviceColorWriteEnableFeaturesEXT;
+  struct PipelineColorWriteCreateInfoEXT;
+
+  //=== VK_EXT_global_priority_query ===
+  struct PhysicalDeviceGlobalPriorityQueryFeaturesEXT;
+  struct QueueFamilyGlobalPriorityPropertiesEXT;
+
+  //=== VK_EXT_multi_draw ===
+  struct PhysicalDeviceMultiDrawFeaturesEXT;
+  struct PhysicalDeviceMultiDrawPropertiesEXT;
+  struct MultiDrawInfoEXT;
+  struct MultiDrawIndexedInfoEXT;
+
+  //===============
+  //=== HANDLEs ===
+  //===============
 
   class SurfaceKHR
   {
index 8deb304..3346e4e 100644 (file)
@@ -1,9 +1,9 @@
 {
   "version info": {
     "schema version": 2,
-    "api version": "1.2.187",
-    "comment": "from git branch: github-main commit: cd8da6a515811c4ff9e1f10a6d6ce4ab968333fb",
-    "date": "2021-08-03 11:15:40Z"
+    "api version": "1.2.188",
+    "comment": "from git branch: github-main commit: f1eda2cb1656363ccd67e07f5654a80fc13b47af",
+    "date": "2021-08-10 11:41:18Z"
   },
   "validation": {
     "vkGetInstanceProcAddr": {
       "(VK_EXT_debug_report,VK_EXT_debug_utils)+(VK_EXT_debug_report)": [
         {
           "vuid": "VUID-VkInstanceCreateInfo-pNext-04925",
-          "text": " If the <code>pNext</code> chain of <code>VkInstanceCreateInfo</code> includes a <code>VkDebugReportCallbackCreateInfoEXT</code> structure, the list of enabled extensions in <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> contain VK_EXT_debug_report."
+          "text": " If the <code>pNext</code> chain of <code>VkInstanceCreateInfo</code> includes a <code>VkDebugReportCallbackCreateInfoEXT</code> structure, the list of enabled extensions in <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> contain VK_EXT_debug_report"
         }
       ],
       "(VK_EXT_debug_report,VK_EXT_debug_utils)+(VK_EXT_debug_utils)": [
         {
           "vuid": "VUID-VkInstanceCreateInfo-pNext-04926",
-          "text": " If the <code>pNext</code> chain of <code>VkInstanceCreateInfo</code> includes a <code>VkDebugUtilsMessengerCreateInfoEXT</code> structure, the list of enabled extensions in <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> contain VK_EXT_debug_utils."
+          "text": " If the <code>pNext</code> chain of <code>VkInstanceCreateInfo</code> includes a <code>VkDebugUtilsMessengerCreateInfoEXT</code> structure, the list of enabled extensions in <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> contain VK_EXT_debug_utils"
         }
       ],
       "core": [
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkDeviceCreateInfo-pProperties-04451",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is included in <code>pProperties</code> of <a href=\"#vkEnumerateDeviceExtensionProperties\">vkEnumerateDeviceExtensionProperties</a>, <code>ppEnabledExtensions</code> <strong class=\"purple\">must</strong> include \"VK_KHR_portability_subset\"."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is included in <code>pProperties</code> of <a href=\"#vkEnumerateDeviceExtensionProperties\">vkEnumerateDeviceExtensionProperties</a>, <code>ppEnabledExtensions</code> <strong class=\"purple\">must</strong> include \"VK_KHR_portability_subset\""
         }
       ],
       "(VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image)": [
         },
         {
           "vuid": "VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04785",
-          "text": " If <code>viewportScissor2D</code> is <code>VK_TRUE</code>, then <code>pViewportDepths</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>viewportDepthCount</code> valid <code>VkViewport</code> structures, except any requirements on <code>x</code>, <code>y</code>, <code>width</code>, and <code>height</code> do not apply."
+          "text": " If <code>viewportScissor2D</code> is <code>VK_TRUE</code>, then <code>pViewportDepths</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>viewportDepthCount</code> valid <code>VkViewport</code> structures, except any requirements on <code>x</code>, <code>y</code>, <code>width</code>, and <code>height</code> do not apply"
         },
         {
           "vuid": "VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04786",
-          "text": " If <code>viewportScissor2D</code> is <code>VK_TRUE</code>, then the command buffer <strong class=\"purple\">must</strong> be recorded with the <code>VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT</code>."
+          "text": " If <code>viewportScissor2D</code> is <code>VK_TRUE</code>, then the command buffer <strong class=\"purple\">must</strong> be recorded with the <code>VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT</code>"
         },
         {
           "vuid": "VUID-VkCommandBufferInheritanceViewportScissorInfoNV-sType-sType",
       "(VK_KHR_external_semaphore_win32)": [
         {
           "vuid": "VUID-VkD3D12FenceSubmitInfoKHR-waitSemaphoreValuesCount-00079",
-          "text": " <code>waitSemaphoreValuesCount</code> <strong class=\"purple\">must</strong> be the same value as <code>VkSubmitInfo</code>::<code>waitSemaphoreCount</code>, where <code>VkSubmitInfo</code> is in the <code>pNext</code> chain of this <code>VkD3D12FenceSubmitInfoKHR</code> structure."
+          "text": " <code>waitSemaphoreValuesCount</code> <strong class=\"purple\">must</strong> be the same value as <code>VkSubmitInfo</code>::<code>waitSemaphoreCount</code>, where <code>VkSubmitInfo</code> is in the <code>pNext</code> chain of this <code>VkD3D12FenceSubmitInfoKHR</code> structure"
         },
         {
           "vuid": "VUID-VkD3D12FenceSubmitInfoKHR-signalSemaphoreValuesCount-00080",
-          "text": " <code>signalSemaphoreValuesCount</code> <strong class=\"purple\">must</strong> be the same value as <code>VkSubmitInfo</code>::<code>signalSemaphoreCount</code>, where <code>VkSubmitInfo</code> is in the <code>pNext</code> chain of this <code>VkD3D12FenceSubmitInfoKHR</code> structure."
+          "text": " <code>signalSemaphoreValuesCount</code> <strong class=\"purple\">must</strong> be the same value as <code>VkSubmitInfo</code>::<code>signalSemaphoreCount</code>, where <code>VkSubmitInfo</code> is in the <code>pNext</code> chain of this <code>VkD3D12FenceSubmitInfoKHR</code> structure"
         },
         {
           "vuid": "VUID-VkD3D12FenceSubmitInfoKHR-sType-sType",
       "(VK_FUCHSIA_external_semaphore)": [
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04758",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> have been included in <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>::<code>handleTypes</code> when <code>semaphore</code>&#8217;s current payload was created."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> have been included in <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>::<code>handleTypes</code> when <code>semaphore</code>&#8217;s current payload was created"
         },
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04759",
-          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> not currently have its payload replaced by an imported payload as described below in <a href=\"#synchronization-semaphores-importing\">Importing Semaphore Payloads</a> unless that imported payload&#8217;s handle type was included in <a href=\"#VkExternalSemaphoreProperties\">VkExternalSemaphoreProperties</a>::<code>exportFromImportedHandleTypes</code> for <code>handleType</code>."
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> not currently have its payload replaced by an imported payload as described below in <a href=\"#synchronization-semaphores-importing\">Importing Semaphore Payloads</a> unless that imported payload&#8217;s handle type was included in <a href=\"#VkExternalSemaphoreProperties\">VkExternalSemaphoreProperties</a>::<code>exportFromImportedHandleTypes</code> for <code>handleType</code>"
         },
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04760",
-          "text": " If <code>handleType</code> refers to a handle type with copy payload transference semantics, as defined below in <a href=\"#synchronization-semaphores-importing\">Importing Semaphore Payloads</a>, there <strong class=\"purple\">must</strong> be no queue waiting on <code>semaphore</code>."
+          "text": " If <code>handleType</code> refers to a handle type with copy payload transference semantics, as defined below in <a href=\"#synchronization-semaphores-importing\">Importing Semaphore Payloads</a>, there <strong class=\"purple\">must</strong> be no queue waiting on <code>semaphore</code>"
         },
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04761",
-          "text": " If <code>handleType</code> refers to a handle type with copy payload transference semantics, <code>semaphore</code> <strong class=\"purple\">must</strong> be signaled, or have an associated <a href=\"#synchronization-semaphores-signaling\">semaphore signal operation</a> pending execution."
+          "text": " If <code>handleType</code> refers to a handle type with copy payload transference semantics, <code>semaphore</code> <strong class=\"purple\">must</strong> be signaled, or have an associated <a href=\"#synchronization-semaphores-signaling\">semaphore signal operation</a> pending execution"
         },
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04762",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be defined as a Zircon event handle."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be defined as a Zircon event handle"
         },
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04763",
-          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkSemaphoreType\">VkSemaphoreType</a> of <code>VK_SEMAPHORE_TYPE_BINARY</code>."
+          "text": " <code>semaphore</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkSemaphoreType\">VkSemaphoreType</a> of <code>VK_SEMAPHORE_TYPE_BINARY</code>"
         },
         {
           "vuid": "VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-sType-sType",
       "(VK_FUCHSIA_external_semaphore)": [
         {
           "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-04765",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a value included in the <a href=\"#synchronization-semaphore-handletypes-zircon-handle\">Handle Types Supported by <code>VkImportSemaphoreZirconHandleInfoFUCHSIA</code></a> table."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be a value included in the <a href=\"#synchronization-semaphore-handletypes-zircon-handle\">Handle Types Supported by <code>VkImportSemaphoreZirconHandleInfoFUCHSIA</code></a> table"
         },
         {
           "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04766",
-          "text": " <code>zirconHandle</code> <strong class=\"purple\">must</strong> obey any requirements listed for <code>handleType</code> in <a href=\"#external-semaphore-handle-types-compatibility\">external semaphore handle types compatibility</a>."
+          "text": " <code>zirconHandle</code> <strong class=\"purple\">must</strong> obey any requirements listed for <code>handleType</code> in <a href=\"#external-semaphore-handle-types-compatibility\">external semaphore handle types compatibility</a>"
         },
         {
           "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04767",
-          "text": " <code>zirconHandle</code> <strong class=\"purple\">must</strong> have <code>ZX_RIGHTS_BASIC</code> and <code>ZX_RIGHTS_SIGNAL</code> rights."
+          "text": " <code>zirconHandle</code> <strong class=\"purple\">must</strong> have <code>ZX_RIGHTS_BASIC</code> and <code>ZX_RIGHTS_SIGNAL</code> rights"
         },
         {
           "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-sType-sType",
       "(VK_FUCHSIA_external_semaphore)+(VK_VERSION_1_2,VK_KHR_timeline_semaphore)": [
         {
           "vuid": "VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphoreType-04768",
-          "text": " The <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>::<code>semaphoreType</code> field <strong class=\"purple\">must</strong> not be <code>VK_SEMAPHORE_TYPE_TIMELINE</code>."
+          "text": " The <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>::<code>semaphoreType</code> field <strong class=\"purple\">must</strong> not be <code>VK_SEMAPHORE_TYPE_TIMELINE</code>"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-vkCreateEvent-events-04468",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>events</code> is <code>VK_FALSE</code>, then the implementation does not support <a href=\"#synchronization-events\">events</a>, and <a href=\"#vkCreateEvent\">vkCreateEvent</a> <strong class=\"purple\">must</strong> not be used."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>events</code> is <code>VK_FALSE</code>, then the implementation does not support <a href=\"#synchronization-events\">events</a>, and <a href=\"#vkCreateEvent\">vkCreateEvent</a> <strong class=\"purple\">must</strong> not be used"
         }
       ],
       "core": [
       "(VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
           "vuid": "VUID-vkCmdSetEvent2KHR-commandBuffer-03826",
-          "text": " The current device mask of <code>commandBuffer</code> <strong class=\"purple\">must</strong> include exactly one physical device."
+          "text": " The current device mask of <code>commandBuffer</code> <strong class=\"purple\">must</strong> include exactly one physical device"
         }
       ]
     },
         },
         {
           "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-02651",
-          "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code> and does not have the value <code>VK_ATTACHMENT_UNUSED</code> then it <strong class=\"purple\">must</strong> have a format whose features contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
+          "text": " If <code>pDepthStencilResolveAttachment</code> is not <code>NULL</code> and does not have the value <code>VK_ATTACHMENT_UNUSED</code> then it <strong class=\"purple\">must</strong> have an image format whose <a href=\"#potential-format-features\">potential format features</a> contain <code>VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT</code>"
         },
         {
           "vuid": "VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-03181",
         },
         {
           "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-04145",
-          "text": " The SPIR-V code that was used to create <code>module</code> <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants."
+          "text": " The SPIR-V code that was used to create <code>module</code> <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants"
         },
         {
           "vuid": "VUID-VkPipelineShaderStageCreateInfo-sType-sType",
       "(VK_HUAWEI_subpass_shading)": [
         {
           "vuid": "VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-subpass-04946",
-          "text": " <code>subpass</code> <strong class=\"purple\">must</strong> be created with VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI bind point."
+          "text": " <code>subpass</code> <strong class=\"purple\">must</strong> be created with VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI bind point"
         },
         {
           "vuid": "VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-sType-sType",
       "(VK_NV_fragment_shading_rate_enums)": [
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04569",
-          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState-&gt;pDynamicStates</code>, and the <a href=\"#features-fragmentShadingRateEnums\"><code>fragmentShadingRateEnums</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRateType</code> <strong class=\"purple\">must</strong> be equal to <code>VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV</code>."
+          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState-&gt;pDynamicStates</code>, and the <a href=\"#features-fragmentShadingRateEnums\"><code>fragmentShadingRateEnums</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRateType</code> <strong class=\"purple\">must</strong> be equal to <code>VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV</code>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04570",
-          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState-&gt;pDynamicStates</code>, and the <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> be equal to <code>VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV</code>."
+          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and <code>VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR</code> is not included in <code>pDynamicState-&gt;pDynamicStates</code>, and the <a href=\"#features-pipelineFragmentShadingRate\"><code>pipelineFragmentShadingRate</code> feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> be equal to <code>VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV</code>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04571",
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-04574",
-          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <a href=\"#limits-supersampleFragmentShadingRates\">supersampleFragmentShadingRates feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV</code>, or <code>VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV</code>."
+          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <a href=\"#limits-supersampleFragmentShadingRates\">supersampleFragmentShadingRates feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV</code>, <code>VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV</code>, or <code>VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV</code>"
         },
         {
           "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-04575",
-          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <a href=\"#limits-noInvocationFragmentShadingRates\">noInvocationFragmentShadingRates feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV</code>."
+          "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> or <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, and the <a href=\"#limits-noInvocationFragmentShadingRates\">noInvocationFragmentShadingRates feature</a> is not enabled, <a href=\"#VkPipelineFragmentShadingRateEnumStateCreateInfoNV\">VkPipelineFragmentShadingRateEnumStateCreateInfoNV</a>::<code>shadingRate</code> <strong class=\"purple\">must</strong> not be equal to <code>VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV</code>"
         }
       ],
       "(VK_EXT_vertex_input_dynamic_state)": [
         },
         {
           "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03595",
-          "text": " If the <a href=\"#VK_KHR_pipeline_library\">VK_KHR_pipeline_library</a> extension is not enabled, <code>pLibraryInfo</code> and <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> be <code>NULL</code>."
+          "text": " If the <a href=\"#VK_KHR_pipeline_library\">VK_KHR_pipeline_library</a> extension is not enabled, <code>pLibraryInfo</code> and <code>pLibraryInterface</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
         },
         {
           "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03470",
       "(VK_NV_inherited_viewport_scissor)": [
         {
           "vuid": "VUID-vkCmdBindPipeline-commandBuffer-04808",
-          "text": " If <code>commandBuffer</code> is a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled and <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code>, then the <code>pipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT</code>, and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> or <code>VK_DYNAMIC_STATE_SCISSOR</code> enabled."
+          "text": " If <code>commandBuffer</code> is a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled and <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code>, then the <code>pipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT</code>, and <code>VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT</code> or <code>VK_DYNAMIC_STATE_SCISSOR</code> enabled"
         }
       ],
       "(VK_NV_inherited_viewport_scissor,VK_EXT_discard_rectangles)": [
         {
           "vuid": "VUID-vkCmdBindPipeline-commandBuffer-04809",
-          "text": " If <code>commandBuffer</code> is a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled and <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> and <code>pipeline</code> was created with <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a> structure and its <code>discardRectangleCount</code> member is not <code>0</code>, then the pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> enabled."
+          "text": " If <code>commandBuffer</code> is a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled and <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> and <code>pipeline</code> was created with <a href=\"#VkPipelineDiscardRectangleStateCreateInfoEXT\">VkPipelineDiscardRectangleStateCreateInfoEXT</a> structure and its <code>discardRectangleCount</code> member is not <code>0</code>, then the pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT</code> enabled"
         }
       ],
       "(VK_EXT_provoking_vertex)": [
       "core": [
         {
           "vuid": "VUID-vkAllocateMemory-pAllocateInfo-01713",
-          "text": " <code>pAllocateInfo-&gt;allocationSize</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMemoryProperties\">VkPhysicalDeviceMemoryProperties</a>::<code>memoryHeaps</code>[<code>memindex</code>].<code>size</code> where <code>memindex</code> = <a href=\"#VkPhysicalDeviceMemoryProperties\">VkPhysicalDeviceMemoryProperties</a>::<code>memoryTypes</code>[<code>pAllocateInfo-&gt;memoryTypeIndex</code>].<code>heapIndex</code> as returned by <a href=\"#vkGetPhysicalDeviceMemoryProperties\">vkGetPhysicalDeviceMemoryProperties</a> for the <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> that <code>device</code> was created from."
+          "text": " <code>pAllocateInfo-&gt;allocationSize</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMemoryProperties\">VkPhysicalDeviceMemoryProperties</a>::<code>memoryHeaps</code>[<code>memindex</code>].<code>size</code> where <code>memindex</code> = <a href=\"#VkPhysicalDeviceMemoryProperties\">VkPhysicalDeviceMemoryProperties</a>::<code>memoryTypes</code>[<code>pAllocateInfo-&gt;memoryTypeIndex</code>].<code>heapIndex</code> as returned by <a href=\"#vkGetPhysicalDeviceMemoryProperties\">vkGetPhysicalDeviceMemoryProperties</a> for the <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> that <code>device</code> was created from"
         },
         {
           "vuid": "VUID-vkAllocateMemory-pAllocateInfo-01714",
-          "text": " <code>pAllocateInfo-&gt;memoryTypeIndex</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceMemoryProperties\">VkPhysicalDeviceMemoryProperties</a>::<code>memoryTypeCount</code> as returned by <a href=\"#vkGetPhysicalDeviceMemoryProperties\">vkGetPhysicalDeviceMemoryProperties</a> for the <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> that <code>device</code> was created from."
+          "text": " <code>pAllocateInfo-&gt;memoryTypeIndex</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceMemoryProperties\">VkPhysicalDeviceMemoryProperties</a>::<code>memoryTypeCount</code> as returned by <a href=\"#vkGetPhysicalDeviceMemoryProperties\">vkGetPhysicalDeviceMemoryProperties</a> for the <a href=\"#VkPhysicalDevice\">VkPhysicalDevice</a> that <code>device</code> was created from"
         },
         {
           "vuid": "VUID-vkAllocateMemory-maxMemoryAllocationCount-04101",
-          "text": " There <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxMemoryAllocationCount</code> device memory allocations currently allocated on the device."
+          "text": " There <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceLimits</code>::<code>maxMemoryAllocationCount</code> device memory allocations currently allocated on the device"
         },
         {
           "vuid": "VUID-vkAllocateMemory-device-parameter",
       "(VK_AMD_device_coherent_memory)": [
         {
           "vuid": "VUID-vkAllocateMemory-deviceCoherentMemory-02790",
-          "text": " If the <a href=\"#features-deviceCoherentMemory\"><code>deviceCoherentMemory</code></a> feature is not enabled, <code>pAllocateInfo-&gt;memoryTypeIndex</code> <strong class=\"purple\">must</strong> not identify a memory type supporting <code>VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD</code>."
+          "text": " If the <a href=\"#features-deviceCoherentMemory\"><code>deviceCoherentMemory</code></a> feature is not enabled, <code>pAllocateInfo-&gt;memoryTypeIndex</code> <strong class=\"purple\">must</strong> not identify a memory type supporting <code>VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD</code>"
         }
       ]
     },
       "(VK_KHR_external_memory)+(VK_KHR_dedicated_allocation,VK_NV_dedicated_allocation)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-pNext-00639",
-          "text": " If the <code>pNext</code> chain includes a <code>VkExportMemoryAllocateInfo</code> structure, and any of the handle types specified in <code>VkExportMemoryAllocateInfo</code>::<code>handleTypes</code> require a dedicated allocation, as reported by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a> in <code>VkExternalImageFormatProperties</code>::<code>externalMemoryProperties.externalMemoryFeatures</code> or <code>VkExternalBufferProperties</code>::<code>externalMemoryProperties.externalMemoryFeatures</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> or <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a> structure with either its <code>image</code> or <code>buffer</code> member set to a value other than <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>."
+          "text": " If the <code>pNext</code> chain includes a <code>VkExportMemoryAllocateInfo</code> structure, and any of the handle types specified in <code>VkExportMemoryAllocateInfo</code>::<code>handleTypes</code> require a dedicated allocation, as reported by <a href=\"#vkGetPhysicalDeviceImageFormatProperties2\">vkGetPhysicalDeviceImageFormatProperties2</a> in <code>VkExternalImageFormatProperties</code>::<code>externalMemoryProperties.externalMemoryFeatures</code> or <code>VkExternalBufferProperties</code>::<code>externalMemoryProperties.externalMemoryFeatures</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> or <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a> structure with either its <code>image</code> or <code>buffer</code> member set to a value other than <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
         }
       ],
       "(VK_KHR_external_memory)+(VK_NV_external_memory)": [
       "(VK_KHR_external_memory_fd)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-01742",
-          "text": " If the parameters define an import operation, the external handle specified was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the payload being imported was created."
+          "text": " If the parameters define an import operation, the external handle specified was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the payload being imported was created"
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-00648",
       "(VK_KHR_external_memory+VK_KHR_device_group)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-None-00643",
-          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the device mask specified by <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a> <strong class=\"purple\">must</strong> match that specified when the payload being imported was allocated."
+          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the device mask specified by <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a> <strong class=\"purple\">must</strong> match that specified when the payload being imported was allocated"
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-None-00644",
-          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the list of physical devices that comprise the logical device passed to <a href=\"#vkAllocateMemory\">vkAllocateMemory</a> <strong class=\"purple\">must</strong> match the list of physical devices that comprise the logical device on which the payload was originally allocated."
+          "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the list of physical devices that comprise the logical device passed to <a href=\"#vkAllocateMemory\">vkAllocateMemory</a> <strong class=\"purple\">must</strong> match the list of physical devices that comprise the logical device on which the payload was originally allocated"
         }
       ],
       "(VK_KHR_external_memory_win32)": [
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-01743",
-          "text": " If the parameters define an import operation, the external handle was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR</code> or <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the payload being imported was created."
+          "text": " If the parameters define an import operation, the external handle was created by the Vulkan API, and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR</code> or <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR</code>, then the values of <code>allocationSize</code> and <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> match those specified when the payload being imported was created"
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-00647",
-          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, <code>allocationSize</code> <strong class=\"purple\">must</strong> match the size specified when creating the Direct3D 12 heap from which the payload was extracted."
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, <code>allocationSize</code> <strong class=\"purple\">must</strong> match the size specified when creating the Direct3D 12 heap from which the payload was extracted"
         }
       ],
       "(VK_VERSION_1_1)": [
       "(VK_FUCHSIA_external_memory)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-None-04749",
-          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the value of <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> be an index identifying a memory type from the <code>memoryTypeBits</code> field of the <a href=\"#VkMemoryZirconHandlePropertiesFUCHSIA\">VkMemoryZirconHandlePropertiesFUCHSIA</a> structure populated by a call to <a href=\"#vkGetMemoryZirconHandlePropertiesFUCHSIA\">vkGetMemoryZirconHandlePropertiesFUCHSIA</a>."
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the value of <code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> be an index identifying a memory type from the <code>memoryTypeBits</code> field of the <a href=\"#VkMemoryZirconHandlePropertiesFUCHSIA\">VkMemoryZirconHandlePropertiesFUCHSIA</a> structure populated by a call to <a href=\"#vkGetMemoryZirconHandlePropertiesFUCHSIA\">vkGetMemoryZirconHandlePropertiesFUCHSIA</a>"
         },
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-04750",
-          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the value of <code>allocationSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code> and <strong class=\"purple\">must</strong> be less than or equal to the size of the VMO as determined by <code>zx_vmo_get_size</code>(<code>handle</code>) where <code>handle</code> is the VMO handle to the imported external memory."
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>, the value of <code>allocationSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code> and <strong class=\"purple\">must</strong> be less than or equal to the size of the VMO as determined by <code>zx_vmo_get_size</code>(<code>handle</code>) where <code>handle</code> is the VMO handle to the imported external memory"
         }
       ],
       "(VK_KHR_maintenance3)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-06231",
-          "text": " <code>allocationSize</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>::<code>maxMemoryAllocationSize</code>."
+          "text": " <code>allocationSize</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>::<code>maxMemoryAllocationSize</code>"
         }
       ],
       "core": [
       "(VK_FUCHSIA_external_memory)": [
         {
           "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-04771",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>"
         },
         {
           "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772",
-          "text": " <code>handle</code> must be a valid VMO handle."
+          "text": " <code>handle</code> must be a valid VMO handle"
         },
         {
           "vuid": "VUID-VkImportMemoryZirconHandleInfoFUCHSIA-sType-sType",
       "(VK_FUCHSIA_external_memory)": [
         {
           "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-04773",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>"
         },
         {
           "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-zirconHandle-04774",
-          "text": " <code>zirconHandle</code> must reference a valid VMO."
+          "text": " <code>zirconHandle</code> must reference a valid VMO"
         },
         {
           "vuid": "VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-device-parameter",
       "(VK_FUCHSIA_external_memory)": [
         {
           "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04775",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> be <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA</code>"
         },
         {
           "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04776",
-          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> have been included in the <code>handleTypes</code> field of the <code>VkExportMemoryAllocateInfo</code> structure when the external memory was allocated."
+          "text": " <code>handleType</code> <strong class=\"purple\">must</strong> have been included in the <code>handleTypes</code> field of the <code>VkExportMemoryAllocateInfo</code> structure when the external memory was allocated"
         },
         {
           "vuid": "VUID-VkMemoryGetZirconHandleInfoFUCHSIA-sType-sType",
       "(VK_KHR_video_decode_queue)": [
         {
           "vuid": "VUID-VkBufferCreateInfo-usage-04813",
-          "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a decode codec-operation."
+          "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a decode codec-operation"
         }
       ],
       "(VK_KHR_video_encode_queue)": [
         {
           "vuid": "VUID-VkBufferCreateInfo-usage-04814",
-          "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation."
+          "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkImageCreateInfo-imageView2DOn3DImage-04459",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageView2DOn3DImage</code> is <code>VK_FALSE</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageView2DOn3DImage</code> is <code>VK_FALSE</code>, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageCreateInfo-multisampleArrayImage-04460",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>multisampleArrayImage</code> is <code>VK_FALSE</code>, and <code>samples</code> is not <code>VK_SAMPLE_COUNT_1_BIT</code>, then <code>arrayLayers</code> <strong class=\"purple\">must</strong> be <code>1</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>multisampleArrayImage</code> is <code>VK_FALSE</code>, and <code>samples</code> is not <code>VK_SAMPLE_COUNT_1_BIT</code>, then <code>arrayLayers</code> <strong class=\"purple\">must</strong> be <code>1</code>"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_image_format_list)": [
       "(VK_KHR_video_decode_queue)": [
         {
           "vuid": "VUID-VkImageCreateInfo-usage-04815",
-          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a decode codec-operation."
+          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a decode codec-operation"
         }
       ],
       "(VK_KHR_video_encode_queue)": [
         {
           "vuid": "VUID-VkImageCreateInfo-usage-04816",
-          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation."
+          "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation"
         }
       ]
     },
         },
         {
           "vuid": "VUID-VkImageViewCreateInfo-imageViewFormatReinterpretation-04466",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageViewFormatReinterpretation</code> is <code>VK_FALSE</code>, the <a href=\"#VkFormat\">VkFormat</a> in <code>format</code> <strong class=\"purple\">must</strong> not contain a different number of components, or a different number of bits in each component, than the format of the <code>VkImage</code> in <code>image</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>imageViewFormatReinterpretation</code> is <code>VK_FALSE</code>, the <a href=\"#VkFormat\">VkFormat</a> in <code>format</code> <strong class=\"purple\">must</strong> not contain a different number of components, or a different number of bits in each component, than the format of the <code>VkImage</code> in <code>image</code>"
         }
       ],
       "(VK_KHR_video_decode_queue)": [
       "core": [
         {
           "vuid": "VUID-vkCreateSampler-maxSamplerAllocationCount-04110",
-          "text": " There <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxSamplerAllocationCount</code> <a href=\"#VkSampler\">VkSampler</a> objects currently created on the device."
+          "text": " There <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceLimits\">VkPhysicalDeviceLimits</a>::<code>maxSamplerAllocationCount</code> <a href=\"#VkSampler\">VkSampler</a> objects currently created on the device"
         },
         {
           "vuid": "VUID-vkCreateSampler-device-parameter",
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkSamplerCreateInfo-samplerMipLodBias-04467",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>samplerMipLodBias</code> is <code>VK_FALSE</code>, <code>mipLodBias</code> <strong class=\"purple\">must</strong> be zero."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>samplerMipLodBias</code> is <code>VK_FALSE</code>, <code>mipLodBias</code> <strong class=\"purple\">must</strong> be zero"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         },
         {
           "vuid": "VUID-VkSamplerCreateInfo-borderColor-04442",
-          "text": " If <code>borderColor</code> is one of <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>, and <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>::<code>format</code> is not <code>VK_FORMAT_UNDEFINED</code>, <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>::<code>customBorderColor</code> <strong class=\"purple\">must</strong> be within the range of values representable in <code>format</code>."
+          "text": " If <code>borderColor</code> is one of <code>VK_BORDER_COLOR_FLOAT_CUSTOM_EXT</code> or <code>VK_BORDER_COLOR_INT_CUSTOM_EXT</code>, and <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>::<code>format</code> is not <code>VK_FORMAT_UNDEFINED</code>, <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>::<code>customBorderColor</code> <strong class=\"purple\">must</strong> be within the range of values representable in <code>format</code>"
         },
         {
           "vuid": "VUID-VkSamplerCreateInfo-None-04012",
       "(VK_VALVE_mutable_descriptor_type)": [
         {
           "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-04605",
-          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, then <code>pImmutableSamplers</code> <strong class=\"purple\">must</strong> be <code>NULL</code>."
+          "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_MUTABLE_VALVE</code>, then <code>pImmutableSamplers</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkDescriptorImageInfo-mutableComparisonSamplers-04450",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>mutableComparisonSamplers</code> is <code>VK_FALSE</code>, then <code>sampler</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkSamplerCreateInfo\">VkSamplerCreateInfo</a>::<code>compareEnable</code> set to <code>VK_FALSE</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>mutableComparisonSamplers</code> is <code>VK_FALSE</code>, then <code>sampler</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkSamplerCreateInfo\">VkSamplerCreateInfo</a>::<code>compareEnable</code> set to <code>VK_FALSE</code>"
         }
       ]
     },
         },
         {
           "vuid": "VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04194",
-          "text": " The variable decorated with <code>ClipDistancePerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration."
+          "text": " The variable decorated with <code>ClipDistancePerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration"
         },
         {
           "vuid": "VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04195",
         },
         {
           "vuid": "VUID-CullDistancePerViewNV-CullDistancePerViewNV-04203",
-          "text": " The variable decorated with <code>CullDistancePerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration."
+          "text": " The variable decorated with <code>CullDistancePerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration"
         },
         {
           "vuid": "VUID-CullDistancePerViewNV-CullDistancePerViewNV-04204",
         },
         {
           "vuid": "VUID-LayerPerViewNV-LayerPerViewNV-04279",
-          "text": " The variable decorated with <code>LayerPerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration."
+          "text": " The variable decorated with <code>LayerPerViewNV</code> <strong class=\"purple\">must</strong> also be decorated with the <code>PerViewNV</code> decoration"
         },
         {
           "vuid": "VUID-LayerPerViewNV-LayerPerViewNV-04280",
         },
         {
           "vuid": "VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04417",
-          "text": " The array variable decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> only be indexed by a constant or specialization constant."
+          "text": " The array variable decorated with <code>ViewportMaskPerViewNV</code> <strong class=\"purple\">must</strong> only be indexed by a constant or specialization constant"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkGetQueryPoolResults-queryType-04519",
-          "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be large enough to contain <code>VkQueryPoolPerformanceCreateInfoKHR</code>::<code>counterIndexCount</code> used to create <code>queryPool</code> times the size of <a href=\"#VkPerformanceCounterResultKHR\">VkPerformanceCounterResultKHR</a>."
+          "text": " If the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, then <code>stride</code> <strong class=\"purple\">must</strong> be large enough to contain <code>VkQueryPoolPerformanceCreateInfoKHR</code>::<code>counterIndexCount</code> used to create <code>queryPool</code> times the size of <a href=\"#VkPerformanceCounterResultKHR\">VkPerformanceCounterResultKHR</a>"
         },
         {
           "vuid": "VUID-vkGetQueryPoolResults-queryType-03230",
       "(VK_KHR_video_queue)": [
         {
           "vuid": "VUID-vkCmdCopyQueryPoolResults-queryType-04812",
-          "text": " <a href=\"#vkCmdCopyQueryPoolResults\">vkCmdCopyQueryPoolResults</a> <strong class=\"purple\">must</strong> not be called if the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR</code> or <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code>."
+          "text": " <a href=\"#vkCmdCopyQueryPoolResults\">vkCmdCopyQueryPoolResults</a> <strong class=\"purple\">must</strong> not be called if the <code>queryType</code> used to create <code>queryPool</code> was <code>VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR</code> or <code>VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR</code>"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-04477",
-          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>."
+          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
         },
         {
           "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-06218",
         },
         {
           "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-06204",
-          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then <code>dstImage</code> <strong class=\"purple\">must</strong> not have a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>."
+          "text": " If any element of <code>pRegions</code> contains <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a> in its <code>pNext</code> chain, then <code>dstImage</code> <strong class=\"purple\">must</strong> not have a <a href=\"#formats-requiring-sampler-ycbcr-conversion\">multi-planar format</a>"
         }
       ],
       "(VK_KHR_copy_commands2)": [
         },
         {
           "vuid": "VUID-VkCopyBufferToImageInfo2KHR-commandBuffer-04477",
-          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>."
+          "text": " If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>"
         },
         {
           "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-06223",
         },
         {
           "vuid": "VUID-vkCmdBlitImage-srcImage-00240",
-          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>."
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>"
         },
         {
           "vuid": "VUID-vkCmdBlitImage-aspectMask-00241",
         },
         {
           "vuid": "VUID-VkBlitImageInfo2KHR-srcImage-00240",
-          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>."
+          "text": " If either <code>srcImage</code> or <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcSubresource.baseArrayLayer</code> and <code>dstSubresource.baseArrayLayer</code> <strong class=\"purple\">must</strong> each be <code>0</code>, and <code>srcSubresource.layerCount</code> and <code>dstSubresource.layerCount</code> <strong class=\"purple\">must</strong> each be <code>1</code>"
         },
         {
           "vuid": "VUID-VkBlitImageInfo2KHR-aspectMask-00241",
         },
         {
           "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03896",
-          "text": " <code>dstOffset</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>dstBuffer</code> minus <code>4</code>."
+          "text": " <code>dstOffset</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>dstBuffer</code> minus <code>4</code>"
         },
         {
           "vuid": "VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03897",
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkPipelineInputAssemblyStateCreateInfo-triangleFans-04452",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>triangleFans</code> is <code>VK_FALSE</code>, <code>topology</code> <strong class=\"purple\">must</strong> not be <code>VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>triangleFans</code> is <code>VK_FALSE</code>, <code>topology</code> <strong class=\"purple\">must</strong> not be <code>VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN</code>"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdDraw-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDraw-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDraw-renderPass-02684",
       "(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDraw-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDraw-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDraw-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDraw-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDraw-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDraw-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-renderPass-02684",
       "(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawIndexed-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-renderPass-02684",
       "(VK_EXT_multi_draw)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiEXT-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_EXT_multi_draw)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-renderPass-02684",
       "(VK_EXT_multi_draw)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawMultiIndexedEXT-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_EXT_multi_draw)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-renderPass-02684",
       "(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawIndirect-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-renderPass-02684",
       "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-renderPass-02684",
       "(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-renderPass-02684",
       "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-renderPass-02684",
       "(VK_EXT_transform_feedback)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_EXT_transform_feedback)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-renderPass-02684",
       "(VK_NV_mesh_shader)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-02684",
       "(VK_NV_mesh_shader)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-02684",
       "(VK_NV_mesh_shader)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_NV_mesh_shader)+(VK_VERSION_1_1,VK_KHR_multiview)": [
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkVertexInputBindingDescription-stride-04456",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of, and at least as large as, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>::<code>minVertexInputBindingStrideAlignment</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, <code>stride</code> <strong class=\"purple\">must</strong> be a multiple of, and at least as large as, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>::<code>minVertexInputBindingStrideAlignment</code>"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkVertexInputAttributeDescription-vertexAttributeAccessBeyondStride-04457",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>vertexAttributeAccessBeyondStride</code> is <code>VK_FALSE</code>, the sum of <code>offset</code> plus the size of the vertex attribute data described by <code>format</code> <strong class=\"purple\">must</strong> not be greater than <code>stride</code> in the <a href=\"#VkVertexInputBindingDescription\">VkVertexInputBindingDescription</a> referenced in <code>binding</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>vertexAttributeAccessBeyondStride</code> is <code>VK_FALSE</code>, the sum of <code>offset</code> plus the size of the vertex attribute data described by <code>format</code> <strong class=\"purple\">must</strong> not be greater than <code>stride</code> in the <a href=\"#VkVertexInputBindingDescription\">VkVertexInputBindingDescription</a> referenced in <code>binding</code>"
         }
       ]
     },
       "(VK_EXT_vertex_input_dynamic_state)+(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkVertexInputAttributeDescription2EXT-vertexAttributeAccessBeyondStride-04806",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>vertexAttributeAccessBeyondStride</code> is <code>VK_FALSE</code>, the sum of <code>offset</code> plus the size of the vertex attribute data described by <code>format</code> <strong class=\"purple\">must</strong> not be greater than <code>stride</code> in the <a href=\"#VkVertexInputBindingDescription2EXT\">VkVertexInputBindingDescription2EXT</a> referenced in <code>binding</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>vertexAttributeAccessBeyondStride</code> is <code>VK_FALSE</code>, the sum of <code>offset</code> plus the size of the vertex attribute data described by <code>format</code> <strong class=\"purple\">must</strong> not be greater than <code>stride</code> in the <a href=\"#VkVertexInputBindingDescription2EXT\">VkVertexInputBindingDescription2EXT</a> referenced in <code>binding</code>"
         }
       ]
     },
           "text": " For each buffer handle in the <code>pCounterBuffers</code> array that is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> it <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value containing <code>VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT</code>"
         },
         {
+          "vuid": "VUID-vkCmdBeginTransformFeedbackEXT-None-06233",
+          "text": " A valid graphics pipeline <strong class=\"purple\">must</strong> be bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code>"
+        },
+        {
           "vuid": "VUID-vkCmdBeginTransformFeedbackEXT-None-04128",
           "text": " The last <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a> of the bound graphics pipeline <strong class=\"purple\">must</strong> have been declared with the <code>Xfb</code> execution mode"
         },
       "(VK_EXT_extended_dynamic_state)+(VK_NV_inherited_viewport_scissor)": [
         {
           "vuid": "VUID-vkCmdSetViewportWithCountEXT-commandBuffer-04819",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled."
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled"
         }
       ]
     },
       "(VK_EXT_extended_dynamic_state)+(VK_NV_inherited_viewport_scissor)": [
         {
           "vuid": "VUID-vkCmdSetScissorWithCountEXT-commandBuffer-04820",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled."
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled"
         }
       ]
     },
       "(VK_NV_inherited_viewport_scissor)": [
         {
           "vuid": "VUID-vkCmdSetViewport-commandBuffer-04821",
-          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled."
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not have <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkPipelineRasterizationStateCreateInfo-pointPolygons-04458",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>pointPolygons</code> is <code>VK_FALSE</code>, and <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, <code>polygonMode</code> <strong class=\"purple\">must</strong> not be <code>VK_POLYGON_MODE_POINT</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>pointPolygons</code> is <code>VK_FALSE</code>, and <code>rasterizerDiscardEnable</code> is <code>VK_FALSE</code>, <code>polygonMode</code> <strong class=\"purple\">must</strong> not be <code>VK_POLYGON_MODE_POINT</code>"
         }
       ]
     },
       "(VK_EXT_discard_rectangles)+(VK_NV_inherited_viewport_scissor)": [
         {
           "vuid": "VUID-vkCmdSetDiscardRectangleEXT-viewportScissor2D-04788",
-          "text": " If this command is recorded in a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled, then this function <strong class=\"purple\">must</strong> not be called."
+          "text": " If this command is recorded in a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled, then this function <strong class=\"purple\">must</strong> not be called"
         }
       ]
     },
       "(VK_NV_inherited_viewport_scissor)": [
         {
           "vuid": "VUID-vkCmdSetScissor-viewportScissor2D-04789",
-          "text": " If this command is recorded in a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled, then this function <strong class=\"purple\">must</strong> not be called."
+          "text": " If this command is recorded in a secondary command buffer with <a href=\"#VkCommandBufferInheritanceViewportScissorInfoNV\">VkCommandBufferInheritanceViewportScissorInfoNV</a>::<code>viewportScissor2D</code> enabled, then this function <strong class=\"purple\">must</strong> not be called"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-separateStencilMaskRef-04453",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>separateStencilMaskRef</code> is <code>VK_FALSE</code>, and the value of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a>::<code>stencilTestEnable</code> is <code>VK_TRUE</code>, and the value of <a href=\"#VkPipelineRasterizationStateCreateInfo\">VkPipelineRasterizationStateCreateInfo</a>::<code>cullMode</code> is <code>VK_CULL_MODE_NONE</code>, the value of <code>reference</code> in each of the <a href=\"#VkStencilOpState\">VkStencilOpState</a> structs in <code>front</code> and <code>back</code> <strong class=\"purple\">must</strong> be the same."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>separateStencilMaskRef</code> is <code>VK_FALSE</code>, and the value of <a href=\"#VkPipelineDepthStencilStateCreateInfo\">VkPipelineDepthStencilStateCreateInfo</a>::<code>stencilTestEnable</code> is <code>VK_TRUE</code>, and the value of <a href=\"#VkPipelineRasterizationStateCreateInfo\">VkPipelineRasterizationStateCreateInfo</a>::<code>cullMode</code> is <code>VK_CULL_MODE_NONE</code>, the value of <code>reference</code> in each of the <a href=\"#VkStencilOpState\">VkStencilOpState</a> structs in <code>front</code> and <code>back</code> <strong class=\"purple\">must</strong> be the same"
         }
       ]
     },
       "(VK_KHR_portability_subset)": [
         {
           "vuid": "VUID-VkPipelineColorBlendAttachmentState-constantAlphaColorBlendFactors-04454",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>constantAlphaColorBlendFactors</code> is <code>VK_FALSE</code>, <code>srcColorBlendFactor</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_FACTOR_CONSTANT_ALPHA</code> or <code>VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>constantAlphaColorBlendFactors</code> is <code>VK_FALSE</code>, <code>srcColorBlendFactor</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_FACTOR_CONSTANT_ALPHA</code> or <code>VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA</code>"
         },
         {
           "vuid": "VUID-VkPipelineColorBlendAttachmentState-constantAlphaColorBlendFactors-04455",
-          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>constantAlphaColorBlendFactors</code> is <code>VK_FALSE</code>, <code>dstColorBlendFactor</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_FACTOR_CONSTANT_ALPHA</code> or <code>VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA</code>."
+          "text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>constantAlphaColorBlendFactors</code> is <code>VK_FALSE</code>, <code>dstColorBlendFactor</code> <strong class=\"purple\">must</strong> not be <code>VK_BLEND_FACTOR_CONSTANT_ALPHA</code> or <code>VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA</code>"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdDispatch-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDispatch-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDispatch-groupCountX-00386",
       "(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDispatch-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDispatch-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDispatch-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDispatch-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDispatch-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDispatch-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-buffer-02708",
       "(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDispatchIndirect-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-baseGroupX-00421",
       "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdDispatchBase-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdDispatchBase-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-04931",
       "(VK_HUAWEI_subpass_shading)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdSubpassShadingHUAWEI-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-02684",
       "(VK_NV_device_generated_commands)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_NV_device_generated_commands)+(VK_VERSION_1_1,VK_KHR_multiview)": [
       "(VK_KHR_surface)+(VK_MVK_ios_surface)": [
         {
           "vuid": "VUID-VkIOSSurfaceCreateInfoMVK-pView-04143",
-          "text": " If <code>pView</code> is a <code>CAMetalLayer</code> object, it <strong class=\"purple\">must</strong> be a valid <code>CAMetalLayer</code>."
+          "text": " If <code>pView</code> is a <code>CAMetalLayer</code> object, it <strong class=\"purple\">must</strong> be a valid <code>CAMetalLayer</code>"
         },
         {
           "vuid": "VUID-VkIOSSurfaceCreateInfoMVK-pView-01316",
-          "text": " If <code>pView</code> is a <code>UIView</code> object, it <strong class=\"purple\">must</strong> be a valid <code>UIView</code>, <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> object of type <code>CAMetalLayer</code>, and <a href=\"#vkCreateIOSSurfaceMVK\">vkCreateIOSSurfaceMVK</a> <strong class=\"purple\">must</strong> be called on the main thread."
+          "text": " If <code>pView</code> is a <code>UIView</code> object, it <strong class=\"purple\">must</strong> be a valid <code>UIView</code>, <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> object of type <code>CAMetalLayer</code>, and <a href=\"#vkCreateIOSSurfaceMVK\">vkCreateIOSSurfaceMVK</a> <strong class=\"purple\">must</strong> be called on the main thread"
         },
         {
           "vuid": "VUID-VkIOSSurfaceCreateInfoMVK-sType-sType",
       "(VK_KHR_surface)+(VK_MVK_macos_surface)": [
         {
           "vuid": "VUID-VkMacOSSurfaceCreateInfoMVK-pView-04144",
-          "text": " If <code>pView</code> is a <code>CAMetalLayer</code> object, it <strong class=\"purple\">must</strong> be a valid <code>CAMetalLayer</code>."
+          "text": " If <code>pView</code> is a <code>CAMetalLayer</code> object, it <strong class=\"purple\">must</strong> be a valid <code>CAMetalLayer</code>"
         },
         {
           "vuid": "VUID-VkMacOSSurfaceCreateInfoMVK-pView-01317",
-          "text": " If <code>pView</code> is an <code>NSView</code> object, it <strong class=\"purple\">must</strong> be a valid <code>NSView</code>, <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> object of type <code>CAMetalLayer</code>, and <a href=\"#vkCreateMacOSSurfaceMVK\">vkCreateMacOSSurfaceMVK</a> <strong class=\"purple\">must</strong> be called on the main thread."
+          "text": " If <code>pView</code> is an <code>NSView</code> object, it <strong class=\"purple\">must</strong> be a valid <code>NSView</code>, <strong class=\"purple\">must</strong> be backed by a <code>CALayer</code> object of type <code>CAMetalLayer</code>, and <a href=\"#vkCreateMacOSSurfaceMVK\">vkCreateMacOSSurfaceMVK</a> <strong class=\"purple\">must</strong> be called on the main thread"
         },
         {
           "vuid": "VUID-VkMacOSSurfaceCreateInfoMVK-sType-sType",
           "text": " Each element of <code>pImageIndices</code> <strong class=\"purple\">must</strong> be the index of a presentable image acquired from the swapchain specified by the corresponding element of the <code>pSwapchains</code> array, and the presented image subresource <strong class=\"purple\">must</strong> be in the <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code> or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code> layout at the time the operation is executed on a <code>VkDevice</code>"
         }
       ],
+      "(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_KHR_present_id)": [
+        {
+          "vuid": "VUID-VkPresentInfoKHR-pNext-06235",
+          "text": " If a <a href=\"#VkPresentIdKHR\">VkPresentIdKHR</a> structure is included in the <code>pNext</code> chain, and the <a href=\"#features-presentId\"><code>presentId</code></a> feature is not enabled, each <code>presentIds</code> entry in that structure <strong class=\"purple\">must</strong> be NULL"
+        }
+      ],
       "(VK_KHR_surface)+(VK_KHR_swapchain)": [
         {
           "vuid": "VUID-VkPresentInfoKHR-sType-sType",
       "(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_KHR_incremental_present)": [
         {
           "vuid": "VUID-VkRectLayerKHR-offset-04864",
-          "text": " The sum of <code>offset</code> and <code>extent</code>, after being transformed according to the <code>preTransform</code> member of the <a href=\"#VkSwapchainCreateInfoKHR\">VkSwapchainCreateInfoKHR</a> structure, <strong class=\"purple\">must</strong> be no greater than the <code>imageExtent</code> member of the <a href=\"#VkSwapchainCreateInfoKHR\">VkSwapchainCreateInfoKHR</a> structure passed to <a href=\"#vkCreateSwapchainKHR\">vkCreateSwapchainKHR</a>."
+          "text": " The sum of <code>offset</code> and <code>extent</code>, after being transformed according to the <code>preTransform</code> member of the <a href=\"#VkSwapchainCreateInfoKHR\">VkSwapchainCreateInfoKHR</a> structure, <strong class=\"purple\">must</strong> be no greater than the <code>imageExtent</code> member of the <a href=\"#VkSwapchainCreateInfoKHR\">VkSwapchainCreateInfoKHR</a> structure passed to <a href=\"#vkCreateSwapchainKHR\">vkCreateSwapchainKHR</a>"
         },
         {
           "vuid": "VUID-VkRectLayerKHR-layer-01262",
           "text": " <code>swapchain</code> <strong class=\"purple\">must</strong> not be in the retired state"
         },
         {
+          "vuid": "VUID-vkWaitForPresentKHR-presentWait-06234",
+          "text": " The <a href=\"#features-presentWait\"><code>presentWait</code></a> feature <strong class=\"purple\">must</strong> be enabled"
+        },
+        {
           "vuid": "VUID-vkWaitForPresentKHR-device-parameter",
           "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
         },
         },
         {
           "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02490",
-          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV</code> set in <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>flags</code>"
+          "text": " If <code>update</code> is <code>VK_TRUE</code>, <code>src</code> <strong class=\"purple\">must</strong> have previously been constructed with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV</code> set in <a href=\"#VkAccelerationStructureInfoNV\">VkAccelerationStructureInfoNV</a>::<code>flags</code> in the original build"
         },
         {
           "vuid": "VUID-vkCmdBuildAccelerationStructureNV-update-02491",
         },
         {
           "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03667",
-          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have previously been constructed with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code> in the build"
         },
         {
           "vuid": "VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03668",
         },
         {
           "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03667",
-          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have previously been constructed with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code> in the build"
         },
         {
           "vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03668",
         },
         {
           "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-04963",
-          "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command"
+          "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been constructed prior to the execution of this command"
         },
         {
           "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-03411",
-          "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code>"
+          "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been constructed with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> in the build"
         },
         {
           "vuid": "VUID-vkCmdCopyAccelerationStructureNV-buffer-03718",
         },
         {
           "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-04963",
-          "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command"
+          "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been constructed prior to the execution of this command"
         },
         {
           "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-03411",
-          "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code>"
+          "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been constructed with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> in the build"
         },
         {
           "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-buffer-03718",
       "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
         {
           "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-src-04959",
-          "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command"
+          "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been constructed prior to the execution of this command"
         },
         {
           "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561",
       "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
         {
           "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03742",
-          "text": " <code>pInfo-&gt;src.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address for a buffer bound to device memory."
+          "text": " <code>pInfo-&gt;src.deviceAddress</code> <strong class=\"purple\">must</strong> be a valid device address for a buffer bound to device memory"
         },
         {
           "vuid": "VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03743",
         },
         {
           "vuid": "VUID-VkAccelerationStructureVersionInfoKHR-pVersionData-parameter",
-          "text": " <code>pVersionData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>2</code>*<code>VK_UUID_SIZE</code> <code>uint8_t</code> values"
+          "text": " <code>pVersionData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of \\(2 \\times \\mathtt{VK\\_UUID\\_SIZE}\\) <code>uint8_t</code> values"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03667",
-          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have been built before with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code>"
+          "text": " For each element of <code>pInfos</code>, if its <code>mode</code> member is <code>VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR</code>, its <code>srcAccelerationStructure</code> member <strong class=\"purple\">must</strong> have previously been constructed with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR</code> set in <a href=\"#VkAccelerationStructureBuildGeometryInfoKHR\">VkAccelerationStructureBuildGeometryInfoKHR</a>::<code>flags</code> in the build"
         },
         {
           "vuid": "VUID-vkBuildAccelerationStructuresKHR-pInfos-03668",
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-None-03429",
       "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-None-03429",
       "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysKHR-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ]
     },
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-04115",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the image view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-OpImageWrite-04469",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> is accessed using <code>OpImageWrite</code> as a result of this command, then the <code>Type</code> of the <code>Texel</code> operand of that instruction <strong class=\"purple\">must</strong> have at least as many components as the buffer view&#8217;s format"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-03429",
       "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_shader_image_atomic_int64)": [
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04470",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04471",
-          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkImageView\">VkImageView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04472",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a 64-bit channel width is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 64"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-SampledType-04473",
-          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32."
+          "text": " If a <a href=\"#VkBufferView\">VkBufferView</a> with a <a href=\"#VkFormat\">VkFormat</a> that has a channel width less than 64-bit is accessed as a result of this command, the <code>SampledType</code> of the <code>OpTypeImage</code> operand of that instruction <strong class=\"purple\">must</strong> have a <code>Width</code> of 32"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-sparseImageInt64Atomics-04474",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkImage\">VkImage</a> objects created with the <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         },
         {
           "vuid": "VUID-vkCmdTraceRaysIndirectKHR-sparseImageInt64Atomics-04475",
-          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command."
+          "text": " If the <a href=\"#features-sparseImageInt64Atomics\"><code>sparseImageInt64Atomics</code></a> feature is not enabled, <a href=\"#VkBuffer\">VkBuffer</a> objects created with the <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code> flag <strong class=\"purple\">must</strong> not be accessed by atomic instructions through an <code>OpTypeImage</code> with a <code>SampledType</code> with a <code>Width</code> of 64 by this command"
         }
       ],
       "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing_motion_blur)": [
       "(VK_KHR_video_queue)": [
         {
           "vuid": "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-imageUsage-04844",
-          "text": " The <code>imageUsage</code> enum of <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <strong class=\"purple\">must</strong> contain at least one of the following video image usage bit(s): <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>."
+          "text": " The <code>imageUsage</code> enum of <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <strong class=\"purple\">must</strong> contain at least one of the following video image usage bit(s): <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>"
         },
         {
           "vuid": "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-physicalDevice-parameter",
       "(VK_KHR_video_queue)": [
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-pVideoProfile-04845",
-          "text": " <code>pVideoProfile</code> <strong class=\"purple\">must</strong> be a pointer to a valid <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> structure whose <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid codec-specific profile structure."
+          "text": " <code>pVideoProfile</code> <strong class=\"purple\">must</strong> be a pointer to a valid <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> structure whose <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid codec-specific profile structure"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-maxReferencePicturesSlotsCount-04846",
-          "text": " If <a href=\"#reference-picture\">Reference Pictures</a> are required for use with the created video session, the <code>maxReferencePicturesSlotsCount</code> <strong class=\"purple\">must</strong> be set to a value bigger than <code>0</code>."
+          "text": " If <a href=\"#reference-picture\">Reference Pictures</a> are required for use with the created video session, the <code>maxReferencePicturesSlotsCount</code> <strong class=\"purple\">must</strong> be set to a value bigger than <code>0</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-maxReferencePicturesSlotsCount-04847",
-          "text": " <code>maxReferencePicturesSlotsCount</code> <strong class=\"purple\">cannot</strong> exceed the implementation reported <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>maxReferencePicturesSlotsCount</code>."
+          "text": " <code>maxReferencePicturesSlotsCount</code> <strong class=\"purple\">cannot</strong> exceed the implementation reported <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>maxReferencePicturesSlotsCount</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-maxReferencePicturesActiveCount-04848",
-          "text": " If <a href=\"#reference-picture\">Reference Pictures</a> are required for use with the created video session, the <code>maxReferencePicturesActiveCount</code> <strong class=\"purple\">must</strong> be set to a value bigger than <code>0</code>."
+          "text": " If <a href=\"#reference-picture\">Reference Pictures</a> are required for use with the created video session, the <code>maxReferencePicturesActiveCount</code> <strong class=\"purple\">must</strong> be set to a value bigger than <code>0</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-maxReferencePicturesActiveCount-04849",
-          "text": " <code>maxReferencePicturesActiveCount</code> <strong class=\"purple\">cannot</strong> exceed the implementation reported <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>maxReferencePicturesActiveCount</code>."
+          "text": " <code>maxReferencePicturesActiveCount</code> <strong class=\"purple\">cannot</strong> exceed the implementation reported <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>maxReferencePicturesActiveCount</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-maxReferencePicturesActiveCount-04850",
-          "text": " <code>maxReferencePicturesActiveCount</code> <strong class=\"purple\">cannot</strong> exceed the <code>maxReferencePicturesSlotsCount</code>."
+          "text": " <code>maxReferencePicturesActiveCount</code> <strong class=\"purple\">cannot</strong> exceed the <code>maxReferencePicturesSlotsCount</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-maxCodedExtent-04851",
-          "text": " <code>maxCodedExtent</code> <strong class=\"purple\">cannot</strong> be smaller than <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>minExtent</code> and bigger than <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>maxExtent</code>."
+          "text": " <code>maxCodedExtent</code> <strong class=\"purple\">cannot</strong> be smaller than <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>minExtent</code> and bigger than <a href=\"#VkVideoCapabilitiesKHR\">VkVideoCapabilitiesKHR</a>::<code>maxExtent</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-referencePicturesFormat-04852",
-          "text": " <code>referencePicturesFormat</code> <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code> or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code> depending on the session codec operation."
+          "text": " <code>referencePicturesFormat</code> <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code> or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code> depending on the session codec operation"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-pictureFormat-04853",
-          "text": " <code>pictureFormat</code> for decode output <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>."
+          "text": " <code>pictureFormat</code> for decode output <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-pictureFormat-04854",
-          "text": " <code>pictureFormat</code> targeting encode operations <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>."
+          "text": " <code>pictureFormat</code> targeting encode operations <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionCreateInfoKHR-sType-sType",
       "(VK_KHR_video_queue)": [
         {
           "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-04855",
-          "text": " If <code>videoSessionParametersTemplate</code> represents a valid handle, it <strong class=\"purple\">must</strong> have been created against <code>videoSession</code>."
+          "text": " If <code>videoSessionParametersTemplate</code> represents a valid handle, it <strong class=\"purple\">must</strong> have been created against <code>videoSession</code>"
         },
         {
           "vuid": "VUID-VkVideoSessionParametersCreateInfoKHR-sType-sType",
       "(VK_KHR_video_queue)": [
         {
           "vuid": "VUID-VkVideoBeginCodingInfoKHR-referenceSlotCount-04856",
-          "text": " <a href=\"#VkVideoBeginCodingInfoKHR\">VkVideoBeginCodingInfoKHR</a>::<code>referenceSlotCount</code> <strong class=\"purple\">must</strong> not exceed the value specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxReferencePicturesSlotsCount</code> when creating the video session object that is being provided in <code>videoSession</code>."
+          "text": " <a href=\"#VkVideoBeginCodingInfoKHR\">VkVideoBeginCodingInfoKHR</a>::<code>referenceSlotCount</code> <strong class=\"purple\">must</strong> not exceed the value specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a>::<code>maxReferencePicturesSlotsCount</code> when creating the video session object that is being provided in <code>videoSession</code>"
         },
         {
           "vuid": "VUID-VkVideoBeginCodingInfoKHR-videoSessionParameters-04857",
-          "text": " If <code>videoSessionParameters</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> have been created using <code>videoSession</code> as a parent object."
+          "text": " If <code>videoSessionParameters</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, it <strong class=\"purple\">must</strong> have been created using <code>videoSession</code> as a parent object"
         },
         {
           "vuid": "VUID-VkVideoBeginCodingInfoKHR-sType-sType",
       "(VK_EXT_video_decode_h264)": [
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-spsStdCount-04822",
-          "text": " The values of <code>spsStdCount</code> and <code>ppsStdCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxSpsStdCount</code> and <code>maxPpsStdCount</code>, respectively."
+          "text": " The values of <code>spsStdCount</code> and <code>ppsStdCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxSpsStdCount</code> and <code>maxPpsStdCount</code>, respectively"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-maxSpsStdCount-04823",
-          "text": " When the <code>maxSpsStdCount</code> number of parameters of type StdVideoH264SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to this object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxSpsStdCount</code> number of parameters of type StdVideoH264SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to this object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-maxPpsStdCount-04824",
-          "text": " When the <code>maxPpsStdCount</code> number of parameters of type StdVideoH264PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to this object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxPpsStdCount</code> number of parameters of type StdVideoH264PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to this object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-None-04825",
-          "text": " Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, SPS-PPS IDs."
+          "text": " Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, SPS-PPS IDs"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-None-04826",
-          "text": " Parameter entries that already exist in Video Session Parameters object with a particular SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated."
+          "text": " Parameter entries that already exist in Video Session Parameters object with a particular SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-None-04827",
-          "text": " When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same SPS-PPS IDs as the ones from the template take precedence."
+          "text": " When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same SPS-PPS IDs as the ones from the template take precedence"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-None-04828",
-          "text": " SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation."
+          "text": " SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation"
         },
         {
           "vuid": "VUID-VkVideoDecodeH264SessionParametersAddInfoEXT-sType-sType",
       "(VK_EXT_video_decode_h265)": [
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-vpsStdCount-04829",
-          "text": " The values of <code>vpsStdCount</code>, <code>spsStdCount</code> and <code>ppsStdCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxVpsStdCount</code>, <code>maxSpsStdCount</code> and <code>maxPpsStdCount</code>, respectively."
+          "text": " The values of <code>vpsStdCount</code>, <code>spsStdCount</code> and <code>ppsStdCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxVpsStdCount</code>, <code>maxSpsStdCount</code> and <code>maxPpsStdCount</code>, respectively"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-maxVpsStdCount-04830",
-          "text": " When the <code>maxVpsStdCount</code> number of parameters of type StdVideoH265VideoParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxVpsStdCount</code> number of parameters of type StdVideoH265VideoParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-maxSpsStdCount-04831",
-          "text": " When the <code>maxSpsStdCount</code> number of parameters of type StdVideoH265SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxSpsStdCount</code> number of parameters of type StdVideoH265SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-maxPpsStdCount-04832",
-          "text": " When the <code>maxPpsStdCount</code> number of parameters of type StdVideoH265PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxPpsStdCount</code> number of parameters of type StdVideoH265PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-None-04833",
-          "text": " Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, VPS-SPS-PPS IDs."
+          "text": " Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, VPS-SPS-PPS IDs"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-None-04834",
-          "text": " Parameter entries that already exist in Video Session Parameters object with a particular VPS-SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated."
+          "text": " Parameter entries that already exist in Video Session Parameters object with a particular VPS-SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-None-04835",
-          "text": " When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same VPS-SPS-PPS IDs as the ones from the template take precedence."
+          "text": " When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same VPS-SPS-PPS IDs as the ones from the template take precedence"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-None-04836",
-          "text": " VPS/SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation."
+          "text": " VPS/SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation"
         },
         {
           "vuid": "VUID-VkVideoDecodeH265SessionParametersAddInfoEXT-sType-sType",
       "(VK_EXT_video_encode_h264)": [
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-spsStdCount-04837",
-          "text": " The values of <code>spsStdCount</code> and <code>ppsStdCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxSpsStdCount</code> and <code>maxPpsStdCount</code>, respectively."
+          "text": " The values of <code>spsStdCount</code> and <code>ppsStdCount</code> <strong class=\"purple\">must</strong> be less than or equal to the values of <code>maxSpsStdCount</code> and <code>maxPpsStdCount</code>, respectively"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-maxSpsStdCount-04838",
-          "text": " When the <code>maxSpsStdCount</code> number of parameters of type StdVideoH264SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxSpsStdCount</code> number of parameters of type StdVideoH264SequenceParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-maxPpsStdCount-04839",
-          "text": " When the <code>maxPpsStdCount</code> number of parameters of type StdVideoH264PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point."
+          "text": " When the <code>maxPpsStdCount</code> number of parameters of type StdVideoH264PictureParameterSet in the Video Session Parameters object is reached, no additional parameters of that type can be added to the object. <code>VK_ERROR_TOO_MANY_OBJECTS</code> will be returned if an attempt is made to add additional data to this object at this point"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04840",
-          "text": " Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, SPS-PPS IDs."
+          "text": " Each entry to be added <strong class=\"purple\">must</strong> have a unique, to the rest of the parameter array entries and the existing parameters in the Video Session Parameters Object that is being updated, SPS-PPS IDs"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04841",
-          "text": " Parameter entries that already exist in Video Session Parameters object with a particular SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated."
+          "text": " Parameter entries that already exist in Video Session Parameters object with a particular SPS-PPS IDs <strong class=\"purple\">cannot</strong> be replaced nor updated"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04842",
-          "text": " When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same SPS-PPS IDs as the ones from the template take precedence."
+          "text": " When creating a new object using a Video Session Parameters as a template, the array&#8217;s parameters with the same SPS-PPS IDs as the ones from the template take precedence"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-None-04843",
-          "text": " SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation."
+          "text": " SPS/PPS parameters <strong class=\"purple\">must</strong> comply with the limits specified in <a href=\"#VkVideoSessionCreateInfoKHR\">VkVideoSessionCreateInfoKHR</a> during Video Session creation"
         },
         {
           "vuid": "VUID-VkVideoEncodeH264SessionParametersAddInfoEXT-sType-sType",
       "(VK_EXT_debug_utils)": [
         {
           "vuid": "VUID-PFN_vkDebugUtilsMessengerCallbackEXT-None-04769",
-          "text": " The callback <strong class=\"purple\">must</strong> not make calls to any Vulkan commands."
+          "text": " The callback <strong class=\"purple\">must</strong> not make calls to any Vulkan commands"
         }
       ]
     },
         },
         {
           "vuid": "VUID-StandaloneSpirv-OpVariable-04734",
-          "text": " Any <code>OpVariable</code> with an <code>Initializer</code> operand and <strong>Workgroup</strong> as its <strong>Storage Class</strong> operand <strong class=\"purple\">must</strong> use <code>OpConstantNull</code> as the initializer."
+          "text": " Any <code>OpVariable</code> with an <code>Initializer</code> operand and <strong>Workgroup</strong> as its <strong>Storage Class</strong> operand <strong class=\"purple\">must</strong> use <code>OpConstantNull</code> as the initializer"
         },
         {
           "vuid": "VUID-StandaloneSpirv-OpReadClockKHR-04652",
         },
         {
           "vuid": "VUID-StandaloneSpirv-Image-04965",
-          "text": " The converted bit width, signedness, and numeric type of the <code>Image</code> <code>Format</code> operand of an <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match the <code>Sampled</code> <code>Type</code>, as defined in <a href=\"#spirvenv-format-type-matching\">Image Format and Type Matching</a>."
+          "text": " The converted bit width, signedness, and numeric type of the <code>Image</code> <code>Format</code> operand of an <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match the <code>Sampled</code> <code>Type</code>, as defined in <a href=\"#spirvenv-format-type-matching\">Image Format and Type Matching</a>"
         },
         {
           "vuid": "VUID-StandaloneSpirv-OpImageTexelPointer-04658",
         },
         {
           "vuid": "VUID-StandaloneSpirv-OpImage-04777",
-          "text": " <code>OpImage*Dref</code> <strong class=\"purple\">must</strong> not consume an image whose <code>Dim</code> is 3D."
+          "text": " <code>OpImage*Dref</code> <strong class=\"purple\">must</strong> not consume an image whose <code>Dim</code> is 3D"
         },
         {
           "vuid": "VUID-StandaloneSpirv-OpTypeAccelerationStructureKHR-04665",
         },
         {
           "vuid": "VUID-StandaloneSpirv-Function-04681",
-          "text": " A type <em>T</em> that is an array sized with a specialization constant <strong class=\"purple\">must</strong> neither be, nor be contained in, the type <em>T2</em> of a variable <em>V</em>, unless either: a) <em>T</em> is equal to <em>T2</em>, b) <em>V</em> is declared in the <code>Function</code>, or <code>Private</code> storage classes, c) <em>V</em> is a non-Block variable in the <code>Workgroup</code> storage class, or d) <em>V</em> is an interface variable with an additional level of arrayness, <a href=\"#interfaces-iointerfaces-matching\">as described in interface matching</a>, and <em>T</em> is the member type of the array type <em>T2</em>."
+          "text": " A type <em>T</em> that is an array sized with a specialization constant <strong class=\"purple\">must</strong> neither be, nor be contained in, the type <em>T2</em> of a variable <em>V</em>, unless either: a) <em>T</em> is equal to <em>T2</em>, b) <em>V</em> is declared in the <code>Function</code>, or <code>Private</code> storage classes, c) <em>V</em> is a non-Block variable in the <code>Workgroup</code> storage class, or d) <em>V</em> is an interface variable with an additional level of arrayness, <a href=\"#interfaces-iointerfaces-matching\">as described in interface matching</a>, and <em>T</em> is the member type of the array type <em>T2</em>"
         },
         {
           "vuid": "VUID-StandaloneSpirv-OpControlBarrier-04682",
index 55b5610..ba3256d 100644 (file)
@@ -2360,18 +2360,18 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkImportMemoryZirconHandleInfoFUCHSIA" structextends="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
             <member optional="true"><type>zx_handle_t</type>           <name>handle</name></member>
         </type>
         <type category="struct" name="VkMemoryZirconHandlePropertiesFUCHSIA" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                            <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                            <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>memoryTypeBits</name></member>
         </type>
         <type category="struct" name="VkMemoryGetZirconHandleInfoFUCHSIA">
             <member values="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
@@ -2766,7 +2766,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPresentIdKHR" structextends="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_ID_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
             <member><type>uint32_t</type>                         <name>swapchainCount</name><comment>Copy of VkPresentInfoKHR::swapchainCount</comment></member>
             <member len="swapchainCount" optional="true">const <type>uint64_t</type>* <name>pPresentIds</name><comment>Present ID values for each swapchain</comment></member>
         </type>
@@ -3176,7 +3176,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceMultiDrawFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                     <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*                     <name>pNext</name></member>
             <member><type>VkBool32</type>                                        <name>multiDraw</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
@@ -3351,7 +3351,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>* <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkBool32</type>                    <name>globalPriorityQuery</name></member>
         </type>
         <type category="struct" name="VkQueueFamilyGlobalPriorityPropertiesEXT" structextends="VkQueueFamilyProperties2">
@@ -3799,7 +3799,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferFloat16Atomics</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferFloat16AtomicAdd</name></member>
             <member><type>VkBool32</type>                            <name>shaderBufferFloat16AtomicMinMax</name></member>
@@ -4735,7 +4735,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkSubpassShadingPipelineCreateInfoHUAWEI" returnedonly="true" structextends="VkComputePipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkRenderPass</type>           <name>renderPass</name></member>
             <member><type>uint32_t</type>               <name>subpass</name></member>
         </type>
@@ -5065,7 +5065,7 @@ typedef void <name>CAMetalLayer</name>;
         <type category="struct" name="VkAccelerationStructureVersionInfoKHR">
             <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
             <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
-            <member len="2*ename:VK_UUID_SIZE" altlen="2*VK_UUID_SIZE">const <type>uint8_t</type>*                    <name>pVersionData</name></member>
+            <member len="latexmath:[2 \times \mathtt{VK\_UUID\_SIZE}]" altlen="2*VK_UUID_SIZE">const <type>uint8_t</type>*                    <name>pVersionData</name></member>
         </type>
         <type category="struct" name="VkCopyAccelerationStructureInfoKHR">
             <member values="VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@@ -5140,12 +5140,12 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*          <name>pNext</name></member>
+            <member optional="true"><type>void</type>*          <name>pNext</name></member>
             <member><type>VkBool32</type>       <name>shaderZeroInitializeWorkgroupMemory</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*    <name>pNext</name></member>
+            <member optional="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>VkBool32</type> <name>shaderSubgroupUniformControlFlow</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceRobustness2FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
@@ -5168,7 +5168,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayout</name></member>
             <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayoutScalarBlockLayout</name></member>
             <member><type>VkBool32</type>                           <name>workgroupMemoryExplicitLayout8BitAccess</name></member>
@@ -5394,7 +5394,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*                     <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*                     <name>pNext</name></member>
             <member><type>VkBool32</type>                                        <name>mutableDescriptorType</name></member>
         </type>
         <type category="struct" name="VkMutableDescriptorTypeListVALVE">
@@ -5403,23 +5403,23 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkMutableDescriptorTypeCreateInfoVALVE" structextends="VkDescriptorSetLayoutCreateInfo,VkDescriptorPoolCreateInfo">
             <member values="VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                                                                      <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                      <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>                                                         <name>mutableDescriptorTypeListCount</name></member>
             <member len="mutableDescriptorTypeListCount">const <type>VkMutableDescriptorTypeListVALVE</type>* <name>pMutableDescriptorTypeLists</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>vertexInputDynamicState</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceExternalMemoryRDMAFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>externalMemoryRDMA</name></member>
         </type>
         <type category="struct" name="VkVertexInputBindingDescription2EXT">
             <member values="VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>uint32_t</type>                       <name>binding</name></member>
             <member><type>uint32_t</type>                       <name>stride</name></member>
             <member><type>VkVertexInputRate</type>              <name>inputRate</name></member>
@@ -5427,7 +5427,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVertexInputAttributeDescription2EXT">
             <member values="VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"><type>VkStructureType</type><name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
             <member><type>uint32_t</type>                       <name>location</name><comment>location of the shader vertex attrib</comment></member>
             <member><type>uint32_t</type>                       <name>binding</name><comment>Vertex buffer binding id</comment></member>
             <member><type>VkFormat</type>                       <name>format</name><comment>format of source data</comment></member>
@@ -5446,7 +5446,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkMemoryBarrier2KHR" structextends="VkSubpassDependency2">
             <member values="VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                               <name>pNext</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>srcStageMask</name></member>
             <member optional="true"><type>VkAccessFlags2KHR</type>         <name>srcAccessMask</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>dstStageMask</name></member>
@@ -5454,7 +5454,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkImageMemoryBarrier2KHR">
             <member values="VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                               <name>pNext</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>srcStageMask</name></member>
             <member optional="true"><type>VkAccessFlags2KHR</type>         <name>srcAccessMask</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>dstStageMask</name></member>
@@ -5468,7 +5468,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkBufferMemoryBarrier2KHR">
             <member values="VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                               <name>pNext</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>srcStageMask</name></member>
             <member optional="true"><type>VkAccessFlags2KHR</type>         <name>srcAccessMask</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>  <name>dstStageMask</name></member>
@@ -5481,7 +5481,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkDependencyInfoKHR">
             <member values="VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                               <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                               <name>pNext</name></member>
             <member optional="true"><type>VkDependencyFlags</type>         <name>dependencyFlags</name></member>
             <member optional="true"><type>uint32_t</type>                  <name>memoryBarrierCount</name></member>
             <member len="memoryBarrierCount">const <type>VkMemoryBarrier2KHR</type>* <name>pMemoryBarriers</name></member>
@@ -5492,7 +5492,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkSemaphoreSubmitInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"><type>VkStructureType</type>       <name>sType</name></member>
-            <member>const <type>void</type>*                                                                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                <name>pNext</name></member>
             <member><type>VkSemaphore</type>                                                                <name>semaphore</name></member>
             <member><type>uint64_t</type>                                                                   <name>value</name></member>
             <member optional="true"><type>VkPipelineStageFlags2KHR</type>                                   <name>stageMask</name></member>
@@ -5500,13 +5500,13 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkCommandBufferSubmitInfoKHR">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"><type>VkStructureType</type>  <name>sType</name></member>
-            <member>const <type>void</type>*                                                                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                <name>pNext</name></member>
             <member><type>VkCommandBuffer</type>                                                            <name>commandBuffer</name></member>
             <member><type>uint32_t</type>                                                                   <name>deviceMask</name></member>
         </type>
         <type category="struct" name="VkSubmitInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"><type>VkStructureType</type>               <name>sType</name></member>
-            <member>const <type>void</type>*                                                                <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                                                                <name>pNext</name></member>
             <member optional="true"><type>VkSubmitFlagsKHR</type>                                           <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>                                                   <name>waitSemaphoreInfoCount</name></member>
             <member len="waitSemaphoreInfoCount">const <type>VkSemaphoreSubmitInfoKHR</type>*               <name>pWaitSemaphoreInfos</name></member>
@@ -5517,45 +5517,45 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkQueueFamilyCheckpointProperties2NV" structextends="VkQueueFamilyProperties2" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*           <name>pNext</name></member>
+            <member optional="true"><type>void</type>*           <name>pNext</name></member>
             <member><type>VkPipelineStageFlags2KHR</type> <name>checkpointExecutionStageMask</name></member>
         </type>
         <type category="struct" name="VkCheckpointData2NV" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                  <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                  <name>pNext</name></member>
             <member><type>VkPipelineStageFlags2KHR</type>   <name>stage</name></member>
             <member noautovalidity="true"><type>void</type>* <name>pCheckpointMarker</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceSynchronization2FeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>synchronization2</name></member>
         </type>
         <type category="struct" name="VkVideoQueueFamilyProperties2KHR" structextends="VkQueueFamilyProperties2">
           <member values="VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                              <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                              <name>pNext</name></member>
           <member><type>VkVideoCodecOperationFlagsKHR</type>      <name>videoCodecOperations</name></member>
         </type>
         <type category="struct" name="VkVideoProfilesKHR" structextends="VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo">
           <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                              <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                              <name>pNext</name></member>
           <member><type>uint32_t</type>                           <name>profileCount</name></member>
           <member>const <type>VkVideoProfileKHR</type>*           <name>pProfiles</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceVideoFormatInfoKHR" returnedonly="true">
           <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                              <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                              <name>pNext</name></member>
           <member><type>VkImageUsageFlags</type>                  <name>imageUsage</name></member>
           <member>const <type>VkVideoProfilesKHR</type>*          <name>pVideoProfiles</name></member>
         </type>
         <type category="struct" name="VkVideoFormatPropertiesKHR" returnedonly="true">
           <member values="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                              <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                              <name>pNext</name></member>
           <member><type>VkFormat</type>                           <name>format</name></member>
         </type>
         <type category="struct" name="VkVideoProfileKHR" structextends="VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo">
           <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                              <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                              <name>pNext</name></member>
           <member><type>VkVideoCodecOperationFlagBitsKHR</type>   <name>videoCodecOperation</name></member>
           <member><type>VkVideoChromaSubsamplingFlagsKHR</type>   <name>chromaSubsampling</name></member>
           <member><type>VkVideoComponentBitDepthFlagsKHR</type>   <name>lumaBitDepth</name></member>
@@ -5563,7 +5563,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoCapabilitiesKHR" returnedonly="true">
           <member values="VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                            <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                            <name>pNext</name></member>
           <member><type>VkVideoCapabilityFlagsKHR</type>        <name>capabilityFlags</name></member>
           <member><type>VkDeviceSize</type>                     <name>minBitstreamBufferOffsetAlignment</name></member>
           <member><type>VkDeviceSize</type>                     <name>minBitstreamBufferSizeAlignment</name></member>
@@ -5575,13 +5575,13 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoGetMemoryPropertiesKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                       <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                       <name>pNext</name></member>
           <member><type>uint32_t</type>                          <name>memoryBindIndex</name></member>
           <member><type>VkMemoryRequirements2</type>*            <name>pMemoryRequirements</name></member>
         </type>
         <type category="struct" name="VkVideoBindMemoryKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                       <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                       <name>pNext</name></member>
           <member><type>uint32_t</type>                          <name>memoryBindIndex</name></member>
           <member><type>VkDeviceMemory</type>                    <name>memory</name></member>
           <member><type>VkDeviceSize</type>                      <name>memoryOffset</name></member>
@@ -5589,7 +5589,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoPictureResourceKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*        <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*        <name>pNext</name></member>
           <member><type>VkOffset2D</type>         <name>codedOffset</name><comment>The offset to be used for the picture resource, currently only used in field mode</comment></member>
           <member><type>VkExtent2D</type>         <name>codedExtent</name><comment>The extent to be used for the picture resource</comment></member>
           <member><type>uint32_t</type>           <name>baseArrayLayer</name><comment>TThe first array layer to be accessed for the Decode or Encode Operations</comment></member>
@@ -5597,13 +5597,13 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoReferenceSlotKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*        <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*        <name>pNext</name></member>
           <member><type>int8_t</type>             <name>slotIndex</name><comment>The reference slot index</comment></member>
           <member>const <type>VkVideoPictureResourceKHR</type>* <name>pPictureResource</name><comment>The reference picture resource</comment></member>
         </type>
         <type category="struct" name="VkVideoDecodeInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                            <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
           <member optional="true"><type>VkVideoDecodeFlagsKHR</type>  <name>flags</name></member>
           <member><type>VkOffset2D</type>                             <name>codedOffset</name></member>
           <member><type>VkExtent2D</type>                             <name>codedExtent</name></member>
@@ -5645,20 +5645,20 @@ typedef void <name>CAMetalLayer</name>;
         <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264MvcElementFlags"/>
         <type category="struct" name="VkVideoDecodeH264ProfileEXT" structextends="VkVideoProfileKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                            <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
           <member><type>StdVideoH264ProfileIdc</type>                 <name>stdProfileIdc</name></member>
           <member><type>VkVideoDecodeH264PictureLayoutFlagsEXT</type> <name>pictureLayout</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                            <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                            <name>pNext</name></member>
           <member><type>uint32_t</type>                         <name>maxLevel</name></member>
           <member><type>VkOffset2D</type>                       <name>fieldOffsetGranularity</name></member>
           <member><type>VkExtensionProperties</type>            <name>stdExtensionVersion</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH264SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                      <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
           <member><type>VkVideoDecodeH264CreateFlagsEXT</type>  <name>flags</name></member>
           <member>const <type>VkExtensionProperties</type>*     <name>pStdExtensionVersion</name></member>
         </type>
@@ -5666,7 +5666,7 @@ typedef void <name>CAMetalLayer</name>;
         <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PictureParameterSet"/>
         <type category="struct" name="VkVideoDecodeH264SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                               <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                               <name>pNext</name></member>
           <member><type>uint32_t</type>                                                                  <name>spsStdCount</name></member>
           <member len="spsStdCount" optional="true">const <type>StdVideoH264SequenceParameterSet</type>* <name>pSpsStd</name></member>
           <member><type>uint32_t</type>                                                                  <name>ppsStdCount</name></member>
@@ -5674,26 +5674,26 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoDecodeH264SessionParametersCreateInfoEXT" structextends="VkVideoSessionParametersCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                               <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                               <name>pNext</name></member>
           <member><type>uint32_t</type>                                                                  <name>maxSpsStdCount</name></member>
           <member><type>uint32_t</type>                                                                  <name>maxPpsStdCount</name></member>
           <member optional="true">const <type>VkVideoDecodeH264SessionParametersAddInfoEXT</type>*       <name>pParametersAddInfo</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH264PictureInfoEXT" structextends="VkVideoDecodeInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member noautovalidity="true">const <type>void</type>*     <name>pNext</name></member>
+          <member optional="true" noautovalidity="true">const <type>void</type>*     <name>pNext</name></member>
           <member>const <type>StdVideoDecodeH264PictureInfo</type>*  <name>pStdPictureInfo</name></member>
           <member><type>uint32_t</type>                              <name>slicesCount</name></member>
           <member len="slicesCount">const <type>uint32_t</type>*     <name>pSlicesDataOffsets</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH264DpbSlotInfoEXT" structextends="VkVideoReferenceSlotKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                            <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                            <name>pNext</name></member>
           <member>const <type>StdVideoDecodeH264ReferenceInfo</type>* <name>pStdReferenceInfo</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH264MvcEXT" structextends="VkVideoDecodeH264PictureInfoEXT">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member noautovalidity="true">const <type>void</type>*<name>pNext</name></member>
+          <member optional="true" noautovalidity="true">const <type>void</type>*<name>pNext</name></member>
           <member>const <type>StdVideoDecodeH264Mvc</type>*   <name>pStdMvc</name></member>
         </type>
         <type category="include" name="vk_video/vulkan_video_codec_h265std.h">#include "vk_video/vulkan_video_codec_h265std.h"</type>
@@ -5720,24 +5720,24 @@ typedef void <name>CAMetalLayer</name>;
         <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfoFlags"/>
         <type category="struct" name="VkVideoDecodeH265ProfileEXT" structextends="VkVideoProfileKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                    <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                    <name>pNext</name></member>
           <member><type>StdVideoH265ProfileIdc</type>         <name>stdProfileIdc</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member><type>void</type>*                            <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                            <name>pNext</name></member>
           <member><type>uint32_t</type>                         <name>maxLevel</name></member>
           <member><type>VkExtensionProperties</type>            <name>stdExtensionVersion</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH265SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                      <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
           <member><type>VkVideoDecodeH265CreateFlagsEXT</type>  <name>flags</name></member>
           <member>const <type>VkExtensionProperties</type>*     <name>pStdExtensionVersion</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH265SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                               <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                               <name>pNext</name></member>
           <member><type>uint32_t</type>                                                                  <name>spsStdCount</name></member>
           <member len="spsStdCount" optional="true">const <type>StdVideoH265SequenceParameterSet</type>* <name>pSpsStd</name></member>
           <member><type>uint32_t</type>                                                                  <name>ppsStdCount</name></member>
@@ -5745,26 +5745,26 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoDecodeH265SessionParametersCreateInfoEXT" structextends="VkVideoSessionParametersCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                         <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                         <name>pNext</name></member>
           <member><type>uint32_t</type>                                                            <name>maxSpsStdCount</name></member>
           <member><type>uint32_t</type>                                                            <name>maxPpsStdCount</name></member>
           <member optional="true">const <type>VkVideoDecodeH265SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH265PictureInfoEXT" structextends="VkVideoDecodeInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                        <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
           <member><type>StdVideoDecodeH265PictureInfo</type>*     <name>pStdPictureInfo</name></member>
           <member><type>uint32_t</type>                           <name>slicesCount</name></member>
           <member len="slicesCount">const <type>uint32_t</type>*  <name>pSlicesDataOffsets</name></member>
         </type>
         <type category="struct" name="VkVideoDecodeH265DpbSlotInfoEXT" structextends="VkVideoReferenceSlotKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                             <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                             <name>pNext</name></member>
           <member>const <type>StdVideoDecodeH265ReferenceInfo</type>*  <name>pStdReferenceInfo</name></member>
         </type>
         <type category="struct" name="VkVideoSessionCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                   <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                   <name>pNext</name></member>
           <member><type>uint32_t</type>                                      <name>queueFamilyIndex</name></member>
           <member optional="true"><type>VkVideoSessionCreateFlagsKHR</type>  <name>flags</name></member>
           <member>const <type>VkVideoProfileKHR</type>*                      <name>pVideoProfile</name></member>
@@ -5776,18 +5776,18 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoSessionParametersCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                            <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
           <member><type>VkVideoSessionParametersKHR</type>                            <name>videoSessionParametersTemplate</name></member>
           <member><type>VkVideoSessionKHR</type>                                      <name>videoSession</name></member>
         </type>
         <type category="struct" name="VkVideoSessionParametersUpdateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                            <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                            <name>pNext</name></member>
           <member><type>uint32_t</type>                                               <name>updateSequenceCount</name></member>
         </type>
         <type category="struct" name="VkVideoBeginCodingInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                             <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                             <name>pNext</name></member>
           <member optional="true"><type>VkVideoBeginCodingFlagsKHR</type>              <name>flags</name></member>
           <member><type>VkVideoCodingQualityPresetFlagsKHR</type>                      <name>codecQualityPreset</name></member>
           <member><type>VkVideoSessionKHR</type>                                       <name>videoSession</name></member>
@@ -5797,12 +5797,12 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEndCodingInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                              <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                              <name>pNext</name></member>
           <member optional="true"><type>VkVideoEndCodingFlagsKHR</type> <name>flags</name></member>
         </type>
         <type category="struct" name="VkVideoCodingControlInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                  <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                  <name>pNext</name></member>
           <member optional="true"><type>VkVideoCodingControlFlagsKHR</type> <name>flags</name></member>
         </type>
         <type category="struct" name="VkVideoEncodeInfoKHR">
@@ -5821,7 +5821,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEncodeRateControlInfoKHR" structextends="VkVideoCodingControlInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                              <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                              <name>pNext</name></member>
           <member><type>VkVideoEncodeRateControlFlagsKHR</type>         <name>flags</name></member>
           <member><type>VkVideoEncodeRateControlModeFlagBitsKHR</type>  <name>rateControlMode</name></member>
           <member><type>uint32_t</type>                                 <name>averageBitrate</name></member>
@@ -5832,7 +5832,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" structextends="VkVideoCapabilitiesKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                           <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                           <name>pNext</name></member>
           <member><type>VkVideoEncodeH264CapabilityFlagsEXT</type>   <name>flags</name></member>
           <member><type>VkVideoEncodeH264InputModeFlagsEXT</type>    <name>inputModeFlags</name></member>
           <member><type>VkVideoEncodeH264OutputModeFlagsEXT</type>   <name>outputModeFlags</name></member>
@@ -5847,7 +5847,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEncodeH264SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                     <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                     <name>pNext</name></member>
           <member><type>VkVideoEncodeH264CreateFlagsEXT</type> <name>flags</name></member>
           <member><type>VkExtent2D</type>                      <name>maxPictureSizeInMbs</name></member>
           <member>const <type>VkExtensionProperties</type>*    <name>pStdExtensionVersion</name></member>
@@ -5863,7 +5863,7 @@ typedef void <name>CAMetalLayer</name>;
         <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefPicMarkingEntry"/>
         <type category="struct" name="VkVideoEncodeH264SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                               <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                               <name>pNext</name></member>
           <member><type>uint32_t</type>                                                                  <name>spsStdCount</name></member>
           <member len="spsStdCount" optional="true">const <type>StdVideoH264SequenceParameterSet</type>* <name>pSpsStd</name></member>
           <member><type>uint32_t</type>                                                                  <name>ppsStdCount</name></member>
@@ -5871,20 +5871,20 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEncodeH264SessionParametersCreateInfoEXT" structextends="VkVideoSessionParametersCreateInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                         <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                         <name>pNext</name></member>
           <member><type>uint32_t</type>                                                            <name>maxSpsStdCount</name></member>
           <member><type>uint32_t</type>                                                            <name>maxPpsStdCount</name></member>
           <member optional="true">const <type>VkVideoEncodeH264SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member>
         </type>
         <type category="struct" name="VkVideoEncodeH264DpbSlotInfoEXT">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                          <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                          <name>pNext</name></member>
           <member><type>int8_t</type>                                                               <name>slotIndex</name></member>
           <member>const <type>StdVideoEncodeH264PictureInfo</type>*                                 <name>pStdPictureInfo</name></member>
         </type>
         <type category="struct" name="VkVideoEncodeH264VclFrameInfoEXT" structextends="VkVideoEncodeInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                                          <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                                          <name>pNext</name></member>
           <member><type>uint8_t</type>                                                              <name>refDefaultFinalList0EntryCount</name></member>
           <member len="refDefaultFinalList0EntryCount">const <type>VkVideoEncodeH264DpbSlotInfoEXT</type>* <name>pRefDefaultFinalList0Entries</name></member>
           <member><type>uint8_t</type>                                                              <name>refDefaultFinalList1EntryCount</name></member>
@@ -5895,7 +5895,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEncodeH264EmitPictureParametersEXT" structextends="VkVideoEncodeInfoKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                             <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                             <name>pNext</name></member>
           <member><type>uint8_t</type>                                 <name>spsId</name></member>
           <member><type>VkBool32</type>                                <name>emitSpsEnable</name></member>
           <member><type>uint32_t</type>                                <name>ppsIdEntryCount</name></member>
@@ -5903,12 +5903,12 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkVideoEncodeH264ProfileEXT" structextends="VkVideoProfileKHR">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                    <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                    <name>pNext</name></member>
           <member><type>StdVideoH264ProfileIdc</type>         <name>stdProfileIdc</name></member>
         </type>
         <type category="struct" name="VkVideoEncodeH264NaluSliceEXT">
           <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT"><type>VkStructureType</type><name>sType</name></member>
-          <member>const <type>void</type>*                                     <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                     <name>pNext</name></member>
           <member>const <type>StdVideoEncodeH264SliceHeader</type>*            <name>pSliceHeaderStd</name></member>
           <member><type>uint32_t</type>                                        <name>mbCount</name></member>
           <member><type>uint8_t</type>                                         <name>refFinalList0EntryCount</name></member>
@@ -5921,12 +5921,12 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceInheritedViewportScissorFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
           <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-          <member><type>void</type>*                               <name>pNext</name></member>
+          <member optional="true"><type>void</type>*                               <name>pNext</name></member>
           <member><type>VkBool32</type>                            <name>inheritedViewportScissor2D</name></member>
         </type>
         <type category="struct" name="VkCommandBufferInheritanceViewportScissorInfoNV" structextends="VkCommandBufferInheritanceInfo">
           <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
-          <member>const <type>void</type>*                                    <name>pNext</name></member>
+          <member optional="true">const <type>void</type>*                                    <name>pNext</name></member>
           <member><type>VkBool32</type>                                       <name>viewportScissor2D</name></member>
           <member><type>uint32_t</type>                                       <name>viewportDepthCount</name></member>
           <member noautovalidity="true">const <type>VkViewport</type>*        <name>pViewportDepths</name></member>
@@ -5938,36 +5938,36 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceProvokingVertexFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>provokingVertexLast</name></member>
             <member><type>VkBool32</type>                           <name>transformFeedbackPreservesProvokingVertex</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceProvokingVertexPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>*                               <name>pNext</name></member>
+            <member optional="true"><type>void</type>*                               <name>pNext</name></member>
             <member><type>VkBool32</type>                            <name>provokingVertexModePerPipeline</name></member>
             <member><type>VkBool32</type>                            <name>transformFeedbackPreservesTriangleFanProvokingVertex</name></member>
         </type>
         <type category="struct" name="VkPipelineRasterizationProvokingVertexStateCreateInfoEXT" structextends="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
             <member><type>VkProvokingVertexModeEXT</type>           <name>provokingVertexMode</name></member>
         </type>
         <type category="struct" name="VkCuModuleCreateInfoNVX">
             <member values="VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>size_t</type>                 <name>dataSize</name></member>
             <member>const <type>void</type>*            <name>pData</name></member>
         </type>
         <type category="struct" name="VkCuFunctionCreateInfoNVX">
             <member values="VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*                        <name>pNext</name></member>
             <member><type>VkCuModuleNVX</type>                      <name>module</name></member>
             <member len="null-terminated">const <type>char</type>*  <name>pName</name></member>
         </type>
         <type category="struct" name="VkCuLaunchInfoNVX">
             <member values="VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
-            <member>const <type>void</type>*            <name>pNext</name></member>
+            <member optional="true">const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkCuFunctionNVX</type>        <name>function</name></member>
             <member><type>uint32_t</type>               <name>gridDimX</name></member>
             <member><type>uint32_t</type>               <name>gridDimY</name></member>
@@ -5983,7 +5983,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceDrmPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
-            <member><type>void</type>* <name>pNext</name></member>
+            <member optional="true"><type>void</type>* <name>pNext</name></member>
             <member><type>VkBool32</type> <name>hasPrimary</name></member>
             <member><type>VkBool32</type> <name>hasRender</name></member>
             <member><type>int64_t</type> <name>primaryMajor</name></member>
@@ -5993,7 +5993,7 @@ typedef void <name>CAMetalLayer</name>;
         </type>
         <type category="struct" name="VkPhysicalDeviceRayTracingMotionBlurFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member>
-            <member noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
+            <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>rayTracingMotionBlur</name></member>
             <member><type>VkBool32</type>                           <name>rayTracingMotionBlurPipelineTraceRaysIndirect</name></member>
         </type>
@@ -7227,6 +7227,7 @@ typedef void <name>CAMetalLayer</name>;
         <enum value="14"      name="VK_DRIVER_ID_MOLTENVK"                      comment="MoltenVK"/>
         <enum value="15"      name="VK_DRIVER_ID_COREAVI_PROPRIETARY"           comment="Core Avionics &amp; Industrial Inc."/>
         <enum value="16"      name="VK_DRIVER_ID_JUICE_PROPRIETARY"             comment="Juice Technologies, Inc."/>
+        <enum value="17"      name="VK_DRIVER_ID_VERISILICON_PROPRIETARY"       comment="Verisilicon, Inc."/>
     </enums>
     <enums name="VkConditionalRenderingFlagBitsEXT" type="bitmask">
         <enum bitpos="0"    name="VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"/>
@@ -7260,9 +7261,10 @@ typedef void <name>CAMetalLayer</name>;
     </enums>
     <enums name="VkGeometryInstanceFlagBitsKHR" type="bitmask">
         <enum bitpos="0" name="VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR"/>
-        <enum bitpos="1" name="VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR"/>
+        <enum bitpos="1" name="VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR"/>
         <enum bitpos="2" name="VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR"/>
         <enum bitpos="3" name="VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR"/>
+        <enum            name="VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR" alias="VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR"/>
     </enums>
     <enums name="VkGeometryFlagBitsKHR" type="bitmask">
         <enum bitpos="0" name="VK_GEOMETRY_OPAQUE_BIT_KHR"/>
@@ -13704,7 +13706,7 @@ typedef void <name>CAMetalLayer</name>;
         </extension>
         <extension name="VK_KHR_acceleration_structure" number="151" type="device" requiresCore="1.1" requires="VK_EXT_descriptor_indexing,VK_KHR_buffer_device_address,VK_KHR_deferred_host_operations" author="KHR" contact="Daniel Koch @dgkoch" supported="vulkan" sortorder="1">
             <require>
-                <enum value="11"                                            name="VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION"/>
+                <enum value="12"                                            name="VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_acceleration_structure&quot;"     name="VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME"/>
                 <enum offset="7"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"/>
                 <enum offset="0"  extends="VkStructureType"                 name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR"/>
@@ -15686,7 +15688,7 @@ typedef void <name>CAMetalLayer</name>;
             <require>
                 <enum value="2"                                             name="VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION"/>
                 <enum value="&quot;VK_QCOM_render_pass_store_ops&quot;"     name="VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkAttachmentStoreOp"              name="VK_ATTACHMENT_STORE_OP_NONE_QCOM"/>
+                <enum extends="VkAttachmentStoreOp"                         name="VK_ATTACHMENT_STORE_OP_NONE_QCOM" alias="VK_ATTACHMENT_STORE_OP_NONE_EXT"/>
             </require>
         </extension>
         <extension name="VK_QCOM_extension_303" number="303" author="QCOM" contact="Bill Licea-Kane @wwlk" supported="disabled">
@@ -16552,10 +16554,12 @@ typedef void <name>CAMetalLayer</name>;
                 <enum value="&quot;VK_JUICE_extension_400&quot;"        name="VK_JUICE_EXTENSION_400_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_KHR_extension_401" number="401" author="KHR" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
+        <extension name="VK_EXT_load_store_op_none" number="401" author="EXT" type="device" contact="Shahbaz Youssefi @syoussefi" supported="vulkan">
             <require>
-                <enum value="0"                                         name="VK_KHR_EXTENSION_401_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_401&quot;"          name="VK_KHR_EXTENSION_401_EXTENSION_NAME"/>
+                <enum value="1"                                         name="VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_load_store_op_none&quot;"          name="VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkAttachmentLoadOp" name="VK_ATTACHMENT_LOAD_OP_NONE_EXT"/>
+                <enum offset="0" extends="VkAttachmentStoreOp" extnumber="302" name="VK_ATTACHMENT_STORE_OP_NONE_EXT"/>
             </require>
         </extension>
         <extension name="VK_FB_extension_402" number="402" author="FB" contact="Artem Bolgar @artyom17" supported="disabled">