build: Update to header 1.2.179

- Update known-good
- Generate source
- Add layers/gpu_vuids.h to list of sources with VUIDs in
  vk_validation_stats.py

Change-Id: I7c92b0608f4d7d81d7a62322586811259287b01f
diff --git a/build-android/known_good.json b/build-android/known_good.json
index 8bd836b..5a9675b 100755
--- a/build-android/known_good.json
+++ b/build-android/known_good.json
@@ -16,13 +16,13 @@
       "name" : "Vulkan-Headers",
       "url" : "https://github.com/KhronosGroup/Vulkan-Headers.git",
       "sub_dir" : "Vulkan-Headers",
-      "commit" : "v1.2.178"
+      "commit" : "v1.2.179"
     },
     {
       "name" : "Vulkan-Tools",
       "url" : "https://github.com/KhronosGroup/Vulkan-Tools.git",
       "sub_dir" : "Vulkan-Tools",
-      "commit" : "v1.2.178"
+      "commit" : "v1.2.179"
     },
     {
       "name" : "SPIRV-Tools",
diff --git a/layers/generated/best_practices.h b/layers/generated/best_practices.h
index ec3a200..e7ff9c3 100644
--- a/layers/generated/best_practices.h
+++ b/layers/generated/best_practices.h
@@ -1838,6 +1838,7 @@
 const layer_data::unordered_map<std::string, std::string> special_use_extensions = {
     {"VK_AMD_buffer_marker", "devtools"},
     {"VK_AMD_shader_info", "devtools"},
+    {"VK_EXT_custom_border_color", "glemulation, d3demulation"},
     {"VK_EXT_debug_marker", "debugging"},
     {"VK_EXT_debug_report", "debugging"},
     {"VK_EXT_debug_utils", "debugging"},
diff --git a/layers/generated/parameter_validation.cpp b/layers/generated/parameter_validation.cpp
index 631f426..e4d05e6 100644
--- a/layers/generated/parameter_validation.cpp
+++ b/layers/generated/parameter_validation.cpp
@@ -27,7 +27,7 @@
 
 #include "stateless_validation.h"
 
-const uint32_t GeneratedVulkanHeaderVersion = 178;
+const uint32_t GeneratedVulkanHeaderVersion = 179;
 
 const DECORATE_UNUSED VkAccessFlags AllVkAccessFlagBits = VK_ACCESS_INDIRECT_COMMAND_READ_BIT|VK_ACCESS_INDEX_READ_BIT|VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT|VK_ACCESS_UNIFORM_READ_BIT|VK_ACCESS_INPUT_ATTACHMENT_READ_BIT|VK_ACCESS_SHADER_READ_BIT|VK_ACCESS_SHADER_WRITE_BIT|VK_ACCESS_COLOR_ATTACHMENT_READ_BIT|VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT|VK_ACCESS_TRANSFER_READ_BIT|VK_ACCESS_TRANSFER_WRITE_BIT|VK_ACCESS_HOST_READ_BIT|VK_ACCESS_HOST_WRITE_BIT|VK_ACCESS_MEMORY_READ_BIT|VK_ACCESS_MEMORY_WRITE_BIT|VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT|VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT|VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT|VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT|VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT|VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR|VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR|VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV|VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV|VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV|VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT|VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR|VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV|VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV|VK_ACCESS_NONE_KHR;
 const DECORATE_UNUSED VkAttachmentDescriptionFlags AllVkAttachmentDescriptionFlagBits = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT;
@@ -8489,7 +8489,7 @@
     {
         skip |= validate_struct_pnext("vkGetPhysicalDeviceVideoFormatPropertiesKHR", "pVideoFormatInfo->pNext", NULL, pVideoFormatInfo->pNext, 0, NULL, GeneratedVulkanHeaderVersion, "VUID-VkPhysicalDeviceVideoFormatInfoKHR-pNext-pNext", kVUIDUndefined);
     }
-    skip |= validate_struct_type_array("vkGetPhysicalDeviceVideoFormatPropertiesKHR", "pVideoFormatPropertyCount", "pVideoFormatProperties", "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR", pVideoFormatPropertyCount, pVideoFormatProperties, VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR, true, true, false, "VUID-VkVideoFormatPropertiesKHR-sType-sType", "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatProperties-parameter", "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatPropertyCount-arraylength");
+    skip |= validate_struct_type_array("vkGetPhysicalDeviceVideoFormatPropertiesKHR", "pVideoFormatPropertyCount", "pVideoFormatProperties", "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR", pVideoFormatPropertyCount, pVideoFormatProperties, VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR, true, false, false, "VUID-VkVideoFormatPropertiesKHR-sType-sType", "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatProperties-parameter", kVUIDUndefined);
     if (pVideoFormatProperties != NULL)
     {
         for (uint32_t pVideoFormatPropertyIndex = 0; pVideoFormatPropertyIndex < *pVideoFormatPropertyCount; ++pVideoFormatPropertyIndex)
diff --git a/layers/generated/spirv_validation_helper.cpp b/layers/generated/spirv_validation_helper.cpp
index dfed89a..aefe06e 100644
--- a/layers/generated/spirv_validation_helper.cpp
+++ b/layers/generated/spirv_validation_helper.cpp
@@ -162,6 +162,7 @@
     {spv::CapabilityInt64, {0, &VkPhysicalDeviceFeatures::shaderInt64, nullptr, ""}},
     {spv::CapabilityInt64Atomics, {0, &VkPhysicalDeviceVulkan12Features::shaderBufferInt64Atomics, nullptr, ""}},
     {spv::CapabilityInt64Atomics, {0, &VkPhysicalDeviceVulkan12Features::shaderSharedInt64Atomics, nullptr, ""}},
+    {spv::CapabilityInt64Atomics, {0, &VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT::shaderImageInt64Atomics, nullptr, ""}},
     {spv::CapabilityInt64ImageEXT, {0, &VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT::shaderImageInt64Atomics, nullptr, ""}},
     {spv::CapabilityInt8, {0, &VkPhysicalDeviceVulkan12Features::shaderInt8, nullptr, ""}},
     {spv::CapabilityIntegerFunctions2INTEL, {0, &VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL::shaderIntegerFunctions2, nullptr, ""}},
diff --git a/layers/generated/vk_enum_string_helper.h b/layers/generated/vk_enum_string_helper.h
index e0af8a0..25c690f 100644
--- a/layers/generated/vk_enum_string_helper.h
+++ b/layers/generated/vk_enum_string_helper.h
@@ -1347,6 +1347,8 @@
             return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT";
         case VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT:
             return "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT";
+        case VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR:
+            return "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR";
         case VK_ACCESS_HOST_READ_BIT:
             return "VK_ACCESS_HOST_READ_BIT";
         case VK_ACCESS_HOST_WRITE_BIT:
@@ -1367,8 +1369,6 @@
             return "VK_ACCESS_SHADER_READ_BIT";
         case VK_ACCESS_SHADER_WRITE_BIT:
             return "VK_ACCESS_SHADER_WRITE_BIT";
-        case VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV:
-            return "VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV";
         case VK_ACCESS_TRANSFER_READ_BIT:
             return "VK_ACCESS_TRANSFER_READ_BIT";
         case VK_ACCESS_TRANSFER_WRITE_BIT:
@@ -1426,6 +1426,8 @@
             return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL";
         case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT:
             return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT";
+        case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR:
+            return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR";
         case VK_IMAGE_LAYOUT_GENERAL:
             return "VK_IMAGE_LAYOUT_GENERAL";
         case VK_IMAGE_LAYOUT_PREINITIALIZED:
@@ -1436,8 +1438,6 @@
             return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR";
         case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
             return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL";
-        case VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV:
-            return "VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV";
         case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR:
             return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR";
         case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL:
@@ -2423,12 +2423,12 @@
             return "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT";
         case VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT:
             return "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT";
+        case VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
+            return "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
         case VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT:
             return "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT";
         case VK_IMAGE_USAGE_SAMPLED_BIT:
             return "VK_IMAGE_USAGE_SAMPLED_BIT";
-        case VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV:
-            return "VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV";
         case VK_IMAGE_USAGE_STORAGE_BIT:
             return "VK_IMAGE_USAGE_STORAGE_BIT";
         case VK_IMAGE_USAGE_TRANSFER_DST_BIT:
@@ -2669,6 +2669,8 @@
             return "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT";
         case VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT:
             return "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT";
+        case VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR:
+            return "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR";
         case VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT:
             return "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT";
         case VK_PIPELINE_STAGE_HOST_BIT:
@@ -2681,8 +2683,6 @@
             return "VK_PIPELINE_STAGE_NONE_KHR";
         case VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR:
             return "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR";
-        case VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV:
-            return "VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV";
         case VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV:
             return "VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV";
         case VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT:
diff --git a/layers/generated/vk_validation_error_messages.h b/layers/generated/vk_validation_error_messages.h
index 09cea65..4984056 100644
--- a/layers/generated/vk_validation_error_messages.h
+++ b/layers/generated/vk_validation_error_messages.h
@@ -1,5 +1,5 @@
 /* THIS FILE IS GENERATED - DO NOT EDIT (scripts/vk_validation_stats.py) */
-/* Vulkan specification version: 1.2.178 */
+/* Vulkan specification version: 1.2.179 */
 /*
  * Vulkan
  *
@@ -290,7 +290,7 @@
     {"VUID-StandaloneSpirv-None-04641", "If the Scope for memory is Invocation, then memory semantics must be None", "1.2-extensions"},
     {"VUID-StandaloneSpirv-None-04642", "Scope for Non Uniform Group Operations must be limited to Subgroup", "1.2-extensions"},
     {"VUID-StandaloneSpirv-None-04643", "Storage Class must be limited to UniformConstant, Input, Uniform, Output, Workgroup, Private, Function, PushConstant, Image, StorageBuffer, RayPayloadKHR, IncomingRayPayloadKHR, HitAttributeKHR, CallableDataKHR, IncomingCallableDataKHR, ShaderRecordBufferKHR, or PhysicalStorageBuffer", "1.2-extensions"},
-    {"VUID-StandaloneSpirv-None-04644", "If the Storage Class is Output, then it must not be used in the RayGenerationKHR, IntersectionKHR, AnyHitKHR, ClosestHitKHR, MissKHR, or CallableKHR execution models", "1.2-extensions"},
+    {"VUID-StandaloneSpirv-None-04644", "If the Storage Class is Output, then it must not be used in the GlCompute, RayGenerationKHR, IntersectionKHR, AnyHitKHR, ClosestHitKHR, MissKHR, or CallableKHR execution models", "1.2-extensions"},
     {"VUID-StandaloneSpirv-None-04645", "If the Storage Class is Workgroup, then it must only be used in the task, mesh, or compute execution models", "1.2-extensions"},
     {"VUID-StandaloneSpirv-None-04667", "Structure types must not contain opaque types", "1.2-extensions"},
     {"VUID-StandaloneSpirv-None-04686", "The Pointer operand of all atomic instructions must have a Storage Class limited to Uniform, Workgroup, Image, StorageBuffer, or PhysicalStorageBuffer", "1.2-extensions"},
@@ -326,12 +326,11 @@
     {"VUID-StandaloneSpirv-OpVariable-04651", "Any OpVariable with an Initializer operand must have Output, Private, Function, or Workgroup as its Storage Class operand", "1.2-extensions"},
     {"VUID-StandaloneSpirv-OpVariable-04734", "Any OpVariable with an Initializer operand and Workgroup as its Storage Class operand must use OpConstantNull as the initializer.", "1.2-extensions"},
     {"VUID-StandaloneSpirv-OriginLowerLeft-04653", "The OriginLowerLeft execution mode must not be used; fragment entry points must declare OriginUpperLeft", "1.2-extensions"},
-    {"VUID-StandaloneSpirv-Patch-04671", "The Patch decoration must not be used on variables in the interface of a vertex, geometry, or fragment shader stage's entry point", "1.2-extensions"},
     {"VUID-StandaloneSpirv-PhysicalStorageBuffer64-04708", "If the PhysicalStorageBuffer64 addressing model is enabled, all instructions that support memory access operands and that use a physical pointer must include the Aligned operand", "1.2-extensions"},
     {"VUID-StandaloneSpirv-PhysicalStorageBuffer64-04709", "If the PhysicalStorageBuffer64 addressing model is enabled, any access chain instruction that accesses into a RowMajor matrix must only be used as the Pointer operand to OpLoad or OpStore", "1.2-extensions"},
     {"VUID-StandaloneSpirv-PhysicalStorageBuffer64-04710", "If the PhysicalStorageBuffer64 addressing model is enabled, OpConvertUToPtr and OpConvertPtrToU must use an integer type whose Width is 64", "1.2-extensions"},
     {"VUID-StandaloneSpirv-PixelCenterInteger-04654", "The PixelCenterInteger execution mode must not be used (pixels are always centered at half-integer coordinates)", "1.2-extensions"},
-    {"VUID-StandaloneSpirv-RayPayloadKHR-04698", "RayPayloadKHR storage class must only be used in ray generation, any-hit, closest hit or miss shaders", "1.2-extensions"},
+    {"VUID-StandaloneSpirv-RayPayloadKHR-04698", "RayPayloadKHR storage class must only be used in ray generation, closest hit or miss shaders", "1.2-extensions"},
     {"VUID-StandaloneSpirv-Result-04780", "The Result Type operand of any OpImageRead or OpImageSparseRead instruction must be a vector of four components", "1.2-extensions"},
     {"VUID-StandaloneSpirv-Stream-04694", "If any variables or block members in the output interface of the entry point being compiled are decorated with Stream, then all variables belonging to the same XfbBuffer must specify the same Stream value", "1.2-extensions"},
     {"VUID-StandaloneSpirv-SubpassData-04660", "The (u,v) coordinates used for a SubpassData must be the <id> of a constant vector (0,0), or if a layer coordinate is used, must be a vector that was formed with constant 0 for the u and v components", "1.2-extensions"},
@@ -1483,6 +1482,9 @@
     {"VUID-VkDescriptorUpdateTemplateEntry-descriptorType-parameter", "descriptorType must be a valid VkDescriptorType value", "1.2-extensions"},
     {"VUID-VkDescriptorUpdateTemplateEntry-dstArrayElement-00355", "dstArrayElement and descriptorCount must be less than or equal to the number of array elements in the descriptor set binding implicitly specified when using a descriptor update template to update descriptors, and all applicable consecutive bindings, as described by consecutive binding updates", "1.2-extensions"},
     {"VUID-VkDescriptorUpdateTemplateEntry-dstBinding-00354", "dstBinding must be a valid binding in the descriptor set layout implicitly specified when using a descriptor update template to update descriptors", "1.2-extensions"},
+    {"VUID-VkDeviceCreateInfo-None-04896", "If sparseImageInt64Atomics is enabled, shaderImageInt64Atomics must be enabled", "1.2-extensions"},
+    {"VUID-VkDeviceCreateInfo-None-04897", "If sparseImageFloat32Atomics is enabled, shaderImageFloat32Atomics must be enabled", "1.2-extensions"},
+    {"VUID-VkDeviceCreateInfo-None-04898", "If sparseImageFloat32AtomicAdd is enabled, shaderImageFloat32AtomicAdd must be enabled", "1.2-extensions"},
     {"VUID-VkDeviceCreateInfo-flags-zerobitmask", "flags must be 0", "1.2-extensions"},
     {"VUID-VkDeviceCreateInfo-fragmentDensityMap-04481", "If fragmentDensityMap is enabled, pipelineFragmentShadingRate must not be enabled", "1.2-extensions"},
     {"VUID-VkDeviceCreateInfo-fragmentDensityMap-04482", "If fragmentDensityMap is enabled, primitiveFragmentShadingRate must not be enabled", "1.2-extensions"},
@@ -1887,6 +1889,8 @@
     {"VUID-VkGraphicsPipelineCreateInfo-flags-03376", "flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-flags-03377", "flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-flags-03577", "flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR", "1.2-extensions"},
+    {"VUID-VkGraphicsPipelineCreateInfo-flags-04901", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass must be the last subpass in a subpass dependency chain", "1.2-extensions"},
+    {"VUID-VkGraphicsPipelineCreateInfo-flags-04902", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pResolveAttachments is not NULL, then each resolve attachment must be VK_ATTACHMENT_UNUSED", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-flags-parameter", "flags must be a valid combination of VkPipelineCreateFlagBits values", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-fragmentShadingRateNonTrivialCombinerOps-04506", "If the pipeline is being created with pre-rasterization shader state or fragment shader state, the fragmentShadingRateNonTrivialCombinerOps limit is not supported, and VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in pDynamicState->pDynamicStates, elements of VkPipelineFragmentShadingRateStateCreateInfoKHR::combinerOps must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-fragmentShadingRateNonTrivialCombinerOps-04573", "If the pipeline is being created with pre-rasterization shader state or fragment shader state, and the fragmentShadingRateNonTrivialCombinerOps limit is not supported and VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR is not included in pDynamicState->pDynamicStates, elements of VkPipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR", "1.2-extensions"},
@@ -1962,6 +1966,7 @@
     {"VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04503", "If the pipeline is being created with pre-rasterization shader state and the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT is not included in pDynamicState->pDynamicStates, and VkPipelineViewportStateCreateInfo::viewportCount is greater than 1, entry points specified in pStages must not write to the PrimitiveShadingRateKHR built-in", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04504", "If the pipeline is being created with pre-rasterization shader state and the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and entry points specified in pStages write to the ViewportIndex built-in, they must not also write to the PrimitiveShadingRateKHR built-in", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04505", "If the pipeline is being created with pre-rasterization shader state and the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and entry points specified in pStages write to the ViewportMaskNV built-in, they must not also write to the PrimitiveShadingRateKHR built-in", "1.2-extensions"},
+    {"VUID-VkGraphicsPipelineCreateInfo-rasterizationSamples-04899", "If the pipeline is being created with fragment shader state, and the VK_QCOM_render_pass_shader_resolve extension is enabled, and if subpass has any input attachments, and if the subpass description contains VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then the sample count of the input attachments must equal rasterizationSamples", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02319", "If the pipeline is being created with pre-rasterization shader state, and a VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream value other than zero is specified, all variables in the output interface of the entry point being compiled decorated with Position, PointSize, ClipDistance, or CullDistance must be decorated with identical Stream values that match the rasterizationStream", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02320", "If the pipeline is being created with pre-rasterization shader state, and VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream is zero, or not specified, all variables in the output interface of the entry point being compiled decorated with Position, PointSize, ClipDistance, or CullDistance must be decorated with a Stream value of zero, or must not specify the Stream decoration", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-rasterizerDiscardEnable-00750", "If the pipeline is being created with pre-rasterization shader state, and the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, pViewportState must be a valid pointer to a valid VkPipelineViewportStateCreateInfo structure", "1.2-extensions"},
@@ -1977,6 +1982,7 @@
     {"VUID-VkGraphicsPipelineCreateInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-sampleLocationsEnable-01524", "If the pipeline is being created with fragment shader state, and the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT structure included in the pNext chain of pMultisampleState is VK_TRUE, the fragment shader code must not statically use the extended instruction InterpolateAtSample", "1.2-extensions"},
+    {"VUID-VkGraphicsPipelineCreateInfo-sampleShadingEnable-04900", "If the pipeline is being created with fragment shader state, and the VK_QCOM_render_pass_shader_resolve extension is enabled, and if the subpass description contains VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then sampleShadingEnable must be false", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-stage-00726", "The stage member of each element of pStages must be unique", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-stage-00727", "If the pipeline is being created with pre-rasterization shader state the stage member of one element of pStages must be VK_SHADER_STAGE_VERTEX_BIT", "1.2-khr-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-stage-00728", "The stage member of each element of pStages must not be VK_SHADER_STAGE_COMPUTE_BIT", "1.2-extensions"},
@@ -2515,8 +2521,8 @@
     {"VUID-VkImportMemoryFdInfoKHR-fd-01520", "fd must obey any requirements listed for handleType in external memory handle types compatibility", "1.2-extensions"},
     {"VUID-VkImportMemoryFdInfoKHR-fd-01746", "The memory represented by fd must have been created from a physical device and driver that is compatible with device and handleType, as described in External memory handle types compatibility", "1.2-extensions"},
     {"VUID-VkImportMemoryFdInfoKHR-handleType-00667", "If handleType is not 0, it must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties", "1.2-extensions"},
-    {"VUID-VkImportMemoryFdInfoKHR-handleType-00669", "If handleType is not 0, it must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT.", "1.2-extensions"},
-    {"VUID-VkImportMemoryFdInfoKHR-handleType-00670", "If handleType is not 0, fd must be a valid POSIX file descriptor handle.", "1.2-extensions"},
+    {"VUID-VkImportMemoryFdInfoKHR-handleType-00669", "If handleType is not 0, it must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT", "1.2-extensions"},
+    {"VUID-VkImportMemoryFdInfoKHR-handleType-00670", "If handleType is not 0, fd must be a valid handle of the type specified by handleType", "1.2-extensions"},
     {"VUID-VkImportMemoryFdInfoKHR-handleType-parameter", "If handleType is not 0, handleType must be a valid VkExternalMemoryHandleTypeFlagBits value", "1.2-extensions"},
     {"VUID-VkImportMemoryFdInfoKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR", "1.2-extensions"},
     {"VUID-VkImportMemoryHostPointerInfoEXT-handleType-01747", "If handleType is not 0, it must be supported for import, as reported in VkExternalMemoryProperties", "1.2-extensions"},
@@ -2610,7 +2616,7 @@
     {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02980", "If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantOffset must be less than VkPhysicalDeviceLimits::maxPushConstantsSize", "1.2-extensions"},
     {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02981", "If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantSize must be less than or equal to VkPhysicalDeviceLimits::maxPushConstantsSize minus pushconstantOffset", "1.2-extensions"},
     {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02982", "If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified by pushconstantOffset and pushconstantSize and for each shader stage in pushconstantShaderStageFlags, there must be a push constant range in pushconstantPipelineLayout that includes that byte and that stage", "1.2-extensions"},
-    {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02983", "If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified by pushconstantOffset and pushconstantSize and for each push constant range that overlaps that byte, pushconstantShaderStageFlags must include all stages in that push constant range's VkPushConstantRange::pushconstantShaderStageFlags", "1.2-extensions"},
+    {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02983", "If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified by pushconstantOffset and pushconstantSize and for each push constant range that overlaps that byte, pushconstantShaderStageFlags must include all stages in that push constant range's VkPushConstantRange::stageFlags", "1.2-extensions"},
     {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02984", "If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV, indirectStateFlags must not be 0", "1.2-extensions"},
     {"VUID-VkIndirectCommandsLayoutTokenNV-tokenType-parameter", "tokenType must be a valid VkIndirectCommandsTokenTypeNV value", "1.2-extensions"},
     {"VUID-VkIndirectCommandsStreamNV-buffer-02942", "The buffer's usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set", "1.2-extensions"},
@@ -2802,7 +2808,7 @@
     {"VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-pNext", "pNext must be NULL", "1.2-extensions"},
     {"VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-sType-sType", "sType must be VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID", "1.2-extensions"},
     {"VUID-VkMemoryGetFdInfoKHR-handleType-00671", "handleType must have been included in VkExportMemoryAllocateInfo::handleTypes when memory was created", "1.2-extensions"},
-    {"VUID-VkMemoryGetFdInfoKHR-handleType-00672", "handleType must be defined as a POSIX file descriptor handle", "1.2-extensions"},
+    {"VUID-VkMemoryGetFdInfoKHR-handleType-00672", "handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT", "1.2-extensions"},
     {"VUID-VkMemoryGetFdInfoKHR-handleType-parameter", "handleType must be a valid VkExternalMemoryHandleTypeFlagBits value", "1.2-extensions"},
     {"VUID-VkMemoryGetFdInfoKHR-memory-parameter", "memory must be a valid VkDeviceMemory handle", "1.2-extensions"},
     {"VUID-VkMemoryGetFdInfoKHR-pNext-pNext", "pNext must be NULL", "1.2-extensions"},
@@ -3619,6 +3625,9 @@
     {"VUID-VkRenderPassCreateInfo2-attachment-03051", "If the attachment member of any element of pInputAttachments, pColorAttachments, pResolveAttachments or pDepthStencilAttachment, or any element of pPreserveAttachments in any given element of pSubpasses is not VK_ATTACHMENT_UNUSED, it must be less than attachmentCount", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-dstSubpass-02527", "The dstSubpass member of each element of pDependencies must be less than subpassCount", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-flags-04521", "If flags includes VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM, an element of pSubpasses includes an instance of VkFragmentShadingRateAttachmentInfoKHR in its pNext chain, and the pFragmentShadingRateAttachment member of that structure is not equal to NULL, the attachment member of pFragmentShadingRateAttachment must be VK_ATTACHMENT_UNUSED", "1.2-extensions"},
+    {"VUID-VkRenderPassCreateInfo2-flags-04907", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pResolveAttachments is not NULL, then each resolve attachment must be VK_ATTACHMENT_UNUSED", "1.2-extensions"},
+    {"VUID-VkRenderPassCreateInfo2-flags-04908", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pDepthStencilResolveAttachmentKHR is not NULL, then the depth/stencil resolve attachment must be VK_ATTACHMENT_UNUSED", "1.2-extensions"},
+    {"VUID-VkRenderPassCreateInfo2-flags-04909", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass must be the last subpass in a subpass dependency chain", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-flags-parameter", "flags must be a valid combination of VkRenderPassCreateFlagBits values", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-pAttachments-02522", "For any member of pAttachments with a loadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-pAttachments-02523", "For any member of pAttachments with a stencilLoadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, or VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL", "1.2-extensions"},
@@ -3633,8 +3642,10 @@
     {"VUID-VkRenderPassCreateInfo2-pDependencies-parameter", "If dependencyCount is not 0, pDependencies must be a valid pointer to an array of dependencyCount valid VkSubpassDependency2 structures", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-pNext-pNext", "pNext must be NULL or a pointer to a valid instance of VkRenderPassFragmentDensityMapCreateInfoEXT", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-pSubpasses-parameter", "pSubpasses must be a valid pointer to an array of subpassCount valid VkSubpassDescription2 structures", "1.2-extensions"},
+    {"VUID-VkRenderPassCreateInfo2-rasterizationSamples-04905", "If the pipeline is being created with fragment shader state, and the VK_QCOM_render_pass_shader_resolve extension is enabled, and if subpass has any input attachments, and if the subpass description contains VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then the sample count of the input attachments must equal rasterizationSamples", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-sType-sType", "sType must be VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.2-extensions"},
+    {"VUID-VkRenderPassCreateInfo2-sampleShadingEnable-04906", "If the pipeline is being created with fragment shader state, and the VK_QCOM_render_pass_shader_resolve extension is enabled, and if the subpass description contains VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then sampleShadingEnable must be false", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-srcSubpass-02526", "The srcSubpass member of each element of pDependencies must be less than subpassCount", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-subpassCount-arraylength", "subpassCount must be greater than 0", "1.2-extensions"},
     {"VUID-VkRenderPassCreateInfo2-viewMask-03057", "If the VkSubpassDescription2::viewMask member of all elements of pSubpasses is 0, correlatedViewMaskCount must be 0", "1.2-extensions"},
@@ -4028,8 +4039,6 @@
     {"VUID-VkSubpassDescription-flags-03341", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pResolveAttachments is not NULL, then each resolve attachment must be VK_ATTACHMENT_UNUSED", "1.2-extensions"},
     {"VUID-VkSubpassDescription-flags-03342", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pDepthStencilResolveAttachmentKHR is not NULL, then the depth/stencil resolve attachment must be VK_ATTACHMENT_UNUSED", "1.2-extensions"},
     {"VUID-VkSubpassDescription-flags-03343", "If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass must be the last subpass in a subpass dependency chain", "1.2-extensions"},
-    {"VUID-VkSubpassDescription-flags-03344", "If flags includes VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, then the sample count of the input attachments must equal rasterizationSamples", "1.2-extensions"},
-    {"VUID-VkSubpassDescription-flags-03345", "If flags includes VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, and if sampleShadingEnable is enabled (explicitly or implicitly) then minSampleShading must equal 0.0", "1.2-extensions"},
     {"VUID-VkSubpassDescription-flags-parameter", "flags must be a valid combination of VkSubpassDescriptionFlagBits values", "1.2-extensions"},
     {"VUID-VkSubpassDescription-layout-02519", "If any attachment is used by more than one VkAttachmentReference member, then each use must use the same layout", "1.2-extensions"},
     {"VUID-VkSubpassDescription-loadOp-00846", "If the first use of an attachment in this render pass is as an input attachment, and the attachment is not also used as a color or depth/stencil attachment in the same subpass, then loadOp must not be VK_ATTACHMENT_LOAD_OP_CLEAR", "1.2-extensions"},
@@ -4700,7 +4709,7 @@
     {"VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03703", "The range of memory backing the dstAccelerationStructure member of any element of pInfos that is accessed by this command must not overlap the memory backing the scratchData member of any element of pInfos (including the same element), which is accessed by this command", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03706", "The range of memory backing the dstAccelerationStructure member of any element of pInfos that is accessed by this command must not overlap the memory backing any acceleration structure referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR in any other element of pInfos, which is accessed by this command", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-dstAccelerationStructure-03800", "The dstAccelerationStructure member of any element of pInfos must be a valid VkAccelerationStructureKHR handle", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-firstVertex-03770", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, if the corresponding geometry uses indices, its firstVertex member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-firstVertex-03770", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, if the corresponding geometry uses indices, its firstVertex member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-infoCount-arraylength", "infoCount must be greater than 0", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-mode-04628", "The mode member of each element of pInfos must be a valid VkBuildAccelerationStructureModeKHR value", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03403", "The srcAccelerationStructure member of any element of pInfos must not be the same acceleration structure as the dstAccelerationStructure member of any other element of pInfos", "1.2-extensions"},
@@ -4716,17 +4725,17 @@
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03724", "For each element of pInfos, the buffer used to create each acceleration structure referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR must be bound to host-visible device memory", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03725", "If pInfos[i].mode is VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR, all addresses between pInfos[i].scratchData.hostAddress and pInfos[i].scratchData.hostAddress + N - 1 must be valid host memory, where N is given by the buildScratchSize member of the VkAccelerationStructureBuildSizesInfoKHR structure returned from a call to vkGetAccelerationStructureBuildSizesKHR with an identical VkAccelerationStructureBuildGeometryInfoKHR structure and primitive count", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03726", "If pInfos[i].mode is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, all addresses between pInfos[i].scratchData.hostAddress and pInfos[i].scratchData.hostAddress + N - 1 must be valid host memory, where N is given by the updateScratchSize member of the VkAccelerationStructureBuildSizesInfoKHR structure returned from a call to vkGetAccelerationStructureBuildSizesKHR with an identical VkAccelerationStructureBuildGeometryInfoKHR structure and primitive count", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03758", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its geometryCount member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03759", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its flags member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03760", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its type member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03761", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its geometryType member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03762", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its flags member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03763", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.vertexFormat member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03764", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.maxVertex member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03765", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.indexType member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03766", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was NULL when srcAccelerationStructure was last built, then it must be NULL.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03767", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was not NULL when srcAccelerationStructure was last built, then it may not be NULL.", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03768", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, and geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, then the value of each index referenced must be the same as the corresponding index value when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03758", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its geometryCount member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03759", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its flags member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03760", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its type member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03761", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its geometryType member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03762", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its flags member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03763", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.vertexFormat member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03764", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.maxVertex member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03765", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.indexType member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03766", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was NULL when srcAccelerationStructure was last built, then it must be NULL", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03767", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was not NULL when srcAccelerationStructure was last built, then it may not be NULL", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03768", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, and geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, then the value of each index referenced must be the same as the corresponding index value when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03771", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_TRIANGLES_KHR, geometry.triangles.vertexData.hostAddress must be a valid host address", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03772", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_TRIANGLES_KHR, if geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, geometry.triangles.indexData.hostAddress must be a valid host address", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-03773", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_TRIANGLES_KHR, if geometry.triangles.transformData.hostAddress is not 0, it must be a valid host address", "1.2-extensions"},
@@ -4741,7 +4750,7 @@
     {"VUID-vkBuildAccelerationStructuresKHR-pInfos-parameter", "pInfos must be a valid pointer to an array of infoCount valid VkAccelerationStructureBuildGeometryInfoKHR structures", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-ppBuildRangeInfos-03676", "Each element of ppBuildRangeInfos[i] must be a valid pointer to an array of pInfos[i].geometryCount VkAccelerationStructureBuildRangeInfoKHR structures", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-ppBuildRangeInfos-parameter", "ppBuildRangeInfos must be a valid pointer to an array of infoCount VkAccelerationStructureBuildRangeInfoKHR structures", "1.2-extensions"},
-    {"VUID-vkBuildAccelerationStructuresKHR-primitiveCount-03769", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, its primitiveCount member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkBuildAccelerationStructuresKHR-primitiveCount-03769", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, its primitiveCount member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-scratchData-03704", "The range of memory backing the scratchData member of any element of pInfos that is accessed by this command must not overlap the memory backing the scratchData member of any other element of pInfos, which is accessed by this command", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-scratchData-03705", "The range of memory backing the scratchData member of any element of pInfos that is accessed by this command must not overlap the memory backing the srcAccelerationStructure member of any element of pInfos with a mode equal to VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR (including the same element), which is accessed by this command", "1.2-extensions"},
     {"VUID-vkBuildAccelerationStructuresKHR-srcAccelerationStructure-04629", "If the srcAccelerationStructure member of any element of pInfos is not VK_NULL_HANDLE, the srcAccelerationStructure member must be a valid VkAccelerationStructureKHR handle", "1.2-extensions"},
@@ -5088,7 +5097,7 @@
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03703", "The range of memory backing the dstAccelerationStructure member of any element of pInfos that is accessed by this command must not overlap the memory backing the scratchData member of any element of pInfos (including the same element), which is accessed by this command", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03706", "The range of memory backing the dstAccelerationStructure member of any element of pInfos that is accessed by this command must not overlap the memory backing any acceleration structure referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR in any other element of pInfos, which is accessed by this command", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-dstAccelerationStructure-03800", "The dstAccelerationStructure member of any element of pInfos must be a valid VkAccelerationStructureKHR handle", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-firstVertex-03770", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, if the corresponding geometry uses indices, its firstVertex member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-firstVertex-03770", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, if the corresponding geometry uses indices, its firstVertex member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-geometry-03673", "The buffers from which the buffer device addresses for all of the geometry.triangles.vertexData, geometry.triangles.indexData, geometry.triangles.transformData, geometry.aabbs.data, and geometry.instances.data members of all pInfos[i].pGeometries and pInfos[i].ppGeometries are queried must have been created with the VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR usage flag", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-infoCount-arraylength", "infoCount must be greater than 0", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-mode-04628", "The mode member of each element of pInfos must be a valid VkBuildAccelerationStructureModeKHR value", "1.2-extensions"},
@@ -5121,17 +5130,17 @@
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03715", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, if geometry.arrayOfPointers is VK_FALSE, geometry.instances.data.deviceAddress must be aligned to 16 bytes", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03716", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, if geometry.arrayOfPointers is VK_TRUE, geometry.instances.data.deviceAddress must be aligned to 8 bytes", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03717", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, if geometry.arrayOfPointers is VK_TRUE, each element of geometry.instances.data.deviceAddress in device memory must be aligned to 16 bytes", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03758", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its geometryCount member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03759", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its flags member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03760", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its type member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03761", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its geometryType member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03762", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its flags member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03763", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.vertexFormat member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03764", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.maxVertex member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03765", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.indexType member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03766", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was NULL when srcAccelerationStructure was last built, then it must be NULL.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03767", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was not NULL when srcAccelerationStructure was last built, then it may not be NULL.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03768", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, and geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, then the value of each index referenced must be the same as the corresponding index value when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03758", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its geometryCount member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03759", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its flags member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03760", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its type member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03761", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its geometryType member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03762", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its flags member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03763", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.vertexFormat member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03764", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.maxVertex member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03765", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.indexType member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03766", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was NULL when srcAccelerationStructure was last built, then it must be NULL", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03767", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was not NULL when srcAccelerationStructure was last built, then it may not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03768", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, and geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, then the value of each index referenced must be the same as the corresponding index value when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03801", "For each element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, the corresponding {maxinstancecheck} must be less than or equal to VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxInstanceCount", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03802", "For each element of pInfos, its scratchData.deviceAddress member must be a valid device address obtained from vkGetBufferDeviceAddress", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03803", "For each element of pInfos, if scratchData.deviceAddress is the address of a non-sparse buffer then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.2-extensions"},
@@ -5151,7 +5160,7 @@
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-parameter", "pInfos must be a valid pointer to an array of infoCount valid VkAccelerationStructureBuildGeometryInfoKHR structures", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-ppMaxPrimitiveCounts-03653", "Each ppMaxPrimitiveCounts[i][j] must be greater than or equal to the the primitiveCount value specified by the VkAccelerationStructureBuildRangeInfoKHR structure located at pIndirectDeviceAddresses[i] + (j {times} pIndirectStrides[i])", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-ppMaxPrimitiveCounts-parameter", "ppMaxPrimitiveCounts must be a valid pointer to an array of infoCount uint32_t values", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-primitiveCount-03769", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, its primitiveCount member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-primitiveCount-03769", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, its primitiveCount member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-renderpass", "This command must only be called outside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-scratchData-03704", "The range of memory backing the scratchData member of any element of pInfos that is accessed by this command must not overlap the memory backing the scratchData member of any other element of pInfos, which is accessed by this command", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresIndirectKHR-scratchData-03705", "The range of memory backing the scratchData member of any element of pInfos that is accessed by this command must not overlap the memory backing the srcAccelerationStructure member of any element of pInfos with a mode equal to VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR (including the same element), which is accessed by this command", "1.2-extensions"},
@@ -5166,7 +5175,7 @@
     {"VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03703", "The range of memory backing the dstAccelerationStructure member of any element of pInfos that is accessed by this command must not overlap the memory backing the scratchData member of any element of pInfos (including the same element), which is accessed by this command", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03706", "The range of memory backing the dstAccelerationStructure member of any element of pInfos that is accessed by this command must not overlap the memory backing any acceleration structure referenced by the geometry.instances.data member of any element of pGeometries or ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR in any other element of pInfos, which is accessed by this command", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-dstAccelerationStructure-03800", "The dstAccelerationStructure member of any element of pInfos must be a valid VkAccelerationStructureKHR handle", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-firstVertex-03770", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, if the corresponding geometry uses indices, its firstVertex member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-firstVertex-03770", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, if the corresponding geometry uses indices, its firstVertex member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-geometry-03673", "The buffers from which the buffer device addresses for all of the geometry.triangles.vertexData, geometry.triangles.indexData, geometry.triangles.transformData, geometry.aabbs.data, and geometry.instances.data members of all pInfos[i].pGeometries and pInfos[i].ppGeometries are queried must have been created with the VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR usage flag", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-infoCount-arraylength", "infoCount must be greater than 0", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-mode-04628", "The mode member of each element of pInfos must be a valid VkBuildAccelerationStructureModeKHR value", "1.2-extensions"},
@@ -5191,17 +5200,17 @@
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03715", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, if geometry.arrayOfPointers is VK_FALSE, geometry.instances.data.deviceAddress must be aligned to 16 bytes", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03716", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, if geometry.arrayOfPointers is VK_TRUE, geometry.instances.data.deviceAddress must be aligned to 8 bytes", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03717", "For any element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, if geometry.arrayOfPointers is VK_TRUE, each element of geometry.instances.data.deviceAddress in device memory must be aligned to 16 bytes", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03758", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its geometryCount member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03759", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its flags member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03760", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its type member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03761", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its geometryType member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03762", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its flags member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03763", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.vertexFormat member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03764", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.maxVertex member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03765", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.indexType member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03766", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was NULL when srcAccelerationStructure was last built, then it must be NULL.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03767", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was not NULL when srcAccelerationStructure was last built, then it may not be NULL.", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03768", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, and geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, then the value of each index referenced must be the same as the corresponding index value when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03758", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its geometryCount member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03759", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its flags member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03760", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, its type member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03761", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its geometryType member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03762", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, its flags member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03763", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.vertexFormat member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03764", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.maxVertex member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03765", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, its geometry.triangles.indexType member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03766", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was NULL when srcAccelerationStructure was last built, then it must be NULL", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03767", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, if its geometry.triangles.transformData member was not NULL when srcAccelerationStructure was last built, then it may not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03768", "For each element of pInfos, if its mode member is VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR, then for each VkAccelerationStructureGeometryKHR structure referred to by its pGeometries or ppGeometries members, if geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, and geometry.triangles.indexType is not VK_INDEX_TYPE_NONE_KHR, then the value of each index referenced must be the same as the corresponding index value when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03801", "For each element of pInfos[i].pGeometries or pInfos[i].ppGeometries with a geometryType of VK_GEOMETRY_TYPE_INSTANCES_KHR, the corresponding {maxinstancecheck} must be less than or equal to VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxInstanceCount", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03802", "For each element of pInfos, its scratchData.deviceAddress member must be a valid device address obtained from vkGetBufferDeviceAddress", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03803", "For each element of pInfos, if scratchData.deviceAddress is the address of a non-sparse buffer then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.2-extensions"},
@@ -5221,7 +5230,7 @@
     {"VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-parameter", "pInfos must be a valid pointer to an array of infoCount valid VkAccelerationStructureBuildGeometryInfoKHR structures", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-ppBuildRangeInfos-03676", "Each element of ppBuildRangeInfos[i] must be a valid pointer to an array of pInfos[i].geometryCount VkAccelerationStructureBuildRangeInfoKHR structures", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-ppBuildRangeInfos-parameter", "ppBuildRangeInfos must be a valid pointer to an array of infoCount VkAccelerationStructureBuildRangeInfoKHR structures", "1.2-extensions"},
-    {"VUID-vkCmdBuildAccelerationStructuresKHR-primitiveCount-03769", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, its primitiveCount member must have the same value which was specified when srcAccelerationStructure was last built.", "1.2-extensions"},
+    {"VUID-vkCmdBuildAccelerationStructuresKHR-primitiveCount-03769", "For each VkAccelerationStructureBuildRangeInfoKHR referenced by this command, its primitiveCount member must have the same value which was specified when srcAccelerationStructure was last built", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-renderpass", "This command must only be called outside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-scratchData-03704", "The range of memory backing the scratchData member of any element of pInfos that is accessed by this command must not overlap the memory backing the scratchData member of any other element of pInfos, which is accessed by this command", "1.2-extensions"},
     {"VUID-vkCmdBuildAccelerationStructuresKHR-scratchData-03705", "The range of memory backing the scratchData member of any element of pInfos that is accessed by this command must not overlap the memory backing the srcAccelerationStructure member of any element of pInfos with a mode equal to VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR (including the same element), which is accessed by this command", "1.2-extensions"},
@@ -5326,7 +5335,7 @@
     {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support compute operations", "1.2-extensions"},
     {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.2-extensions"},
     {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.2-extensions"},
-    {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03739", "pInfo->dst.deviceAddress must be a valid device address for a buffer bound to device memory.", "1.2-extensions"},
+    {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03739", "pInfo->dst.deviceAddress must be a valid device address for a buffer bound to device memory", "1.2-extensions"},
     {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03740", "pInfo->dst.deviceAddress must be aligned to 256 bytes", "1.2-extensions"},
     {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-03741", "If the buffer pointed to by pInfo->dst.deviceAddress is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", "1.2-extensions"},
     {"VUID-vkCmdCopyAccelerationStructureToMemoryKHR-pInfo-parameter", "pInfo must be a valid pointer to a valid VkCopyAccelerationStructureToMemoryInfoKHR structure", "1.2-extensions"},
@@ -5677,6 +5686,9 @@
     {"VUID-vkCmdDispatchBase-baseGroupZ-00423", "baseGroupZ must be less than VkPhysicalDeviceLimits::maxComputeWorkGroupCount[2]", "1.2-extensions"},
     {"VUID-vkCmdDispatchBase-commandBuffer-02701", "If the VkPipeline object bound to the pipeline bind point used by this command requires any dynamic state, that state must have been set", "1.2-extensions"},
     {"VUID-vkCmdDispatchBase-commandBuffer-02707", "If commandBuffer is an unprotected command buffer, any resource accessed by the VkPipeline object bound to the pipeline bind point used by this command must not be a protected resource", "1.2-extensions"},
+    {"VUID-vkCmdDispatchBase-commandBuffer-02712", "If commandBuffer is a protected command buffer, any resource written to by the VkPipeline object bound to the pipeline bind point used by this command must not be an unprotected resource", "1.2-extensions"},
+    {"VUID-vkCmdDispatchBase-commandBuffer-02713", "If commandBuffer is a protected command buffer, pipeline stages other than the framebuffer-space and compute stages in the VkPipeline object bound to the pipeline bind point used by this command must not write to any resource", "1.2-extensions"},
+    {"VUID-vkCmdDispatchBase-commandBuffer-04617", "If any of the shader stages of the VkPipeline bound to the pipeline bind point used by this command uses the RayQueryKHR capability, then commandBuffer must not be a protected command buffer", "1.2-extensions"},
     {"VUID-vkCmdDispatchBase-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support compute operations", "1.2-extensions"},
     {"VUID-vkCmdDispatchBase-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.2-extensions"},
     {"VUID-vkCmdDispatchBase-commandBuffer-recording", "commandBuffer must be in the recording state", "1.2-extensions"},
@@ -5749,10 +5761,10 @@
     {"VUID-vkCmdDraw-None-04008", "If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE", "1.2-extensions"},
     {"VUID-vkCmdDraw-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDraw-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDraw-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDraw-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDraw-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDraw-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDraw-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDraw-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDraw-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDraw-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDraw-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDraw-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDraw-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -5772,23 +5784,23 @@
     {"VUID-vkCmdDraw-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDraw-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDraw-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDraw-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDraw-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDraw-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDraw-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDraw-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
-    {"VUID-vkCmdDraw-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDraw-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDraw-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDraw-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDraw-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDraw-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDraw-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDraw-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDraw-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDraw-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDraw-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDraw-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDraw-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDraw-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDraw-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDraw-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDraw-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDraw-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDraw-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDraw-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDraw-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDraw-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -5812,10 +5824,10 @@
     {"VUID-vkCmdDrawIndexed-None-04008", "If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -5836,23 +5848,23 @@
     {"VUID-vkCmdDrawIndexed-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-indexSize-00463", "(indexSize {times} (firstIndex + indexCount) + offset) must be less than or equal to the size of the bound index buffer, with indexSize being based on the type specified by indexType, where the index buffer, indexType, and offset are specified via vkCmdBindIndexBuffer", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexed-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexed-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexed-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -5876,10 +5888,10 @@
     {"VUID-vkCmdDrawIndexedIndirect-None-04008", "If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -5907,24 +5919,24 @@
     {"VUID-vkCmdDrawIndexedIndirect-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-firstInstance-00530", "If the drawIndirectFirstInstance feature is not enabled, all the firstInstance members of the VkDrawIndexedIndirectCommand structures accessed by this command must be 0", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-offset-02710", "offset must be a multiple of 4", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -5949,10 +5961,10 @@
     {"VUID-vkCmdDrawIndexedIndirectCount-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-04445", "If drawIndirectCount is not enabled this function must not be used", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -5982,26 +5994,26 @@
     {"VUID-vkCmdDrawIndexedIndirectCount-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-maxDrawCount-03143", "If maxDrawCount is greater than or equal to 1, (stride {times} (maxDrawCount - 1) + offset + sizeof(VkDrawIndexedIndirectCommand)) must be less than or equal to the size of buffer", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-offset-02710", "offset must be a multiple of 4", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-stride-03142", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndexedIndirectCommand)", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6025,10 +6037,10 @@
     {"VUID-vkCmdDrawIndirect-None-04008", "If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6056,24 +6068,24 @@
     {"VUID-vkCmdDrawIndirect-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-firstInstance-00478", "If the drawIndirectFirstInstance feature is not enabled, all the firstInstance members of the VkDrawIndirectCommand structures accessed by this command must be 0", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-offset-02710", "offset must be a multiple of 4", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirect-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirect-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirect-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6097,10 +6109,10 @@
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-04008", "If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6123,26 +6135,26 @@
     {"VUID-vkCmdDrawIndirectByteCountEXT-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-transformFeedback-02287", "VkPhysicalDeviceTransformFeedbackFeaturesEXT::transformFeedback must be enabled", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-transformFeedbackDraw-02288", "The implementation must support VkPhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackDraw", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-vertexStride-02289", "vertexStride must be greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxTransformFeedbackBufferDataStride", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6167,10 +6179,10 @@
     {"VUID-vkCmdDrawIndirectCount-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-04445", "If drawIndirectCount is not enabled this function must not be used", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6200,26 +6212,26 @@
     {"VUID-vkCmdDrawIndirectCount-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-maxDrawCount-03111", "If maxDrawCount is greater than or equal to 1, (stride {times} (maxDrawCount - 1) + offset + sizeof(VkDrawIndirectCommand)) must be less than or equal to the size of buffer", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-offset-02710", "offset must be a multiple of 4", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-stride-03110", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndirectCommand)", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawIndirectCount-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6241,10 +6253,10 @@
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04445", "If drawIndirectCount is not enabled this function must not be used", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6274,26 +6286,26 @@
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-maxDrawCount-02183", "If maxDrawCount is greater than or equal to 1, (stride {times} (maxDrawCount - 1) + offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-offset-02710", "offset must be a multiple of 4", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-stride-02182", "stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawMeshTasksIndirectCommandNV)", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6314,10 +6326,10 @@
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-02859", "There must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6344,24 +6356,24 @@
     {"VUID-vkCmdDrawMeshTasksIndirectNV-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-offset-02710", "offset must be a multiple of 4", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6382,10 +6394,10 @@
     {"VUID-vkCmdDrawMeshTasksNV-None-02859", "There must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6402,24 +6414,24 @@
     {"VUID-vkCmdDrawMeshTasksNV-filterCubic-02694", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-taskCount-02119", "taskCount must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -6549,10 +6561,10 @@
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04008", "If the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04115", "If a VkImageView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format.", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04584", "Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command, except for cases involving read-only access to depth/stencil attachments as described in the Render Pass chapter", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this draw command", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04875", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04876", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state enabled then vkCmdSetRasterizerDiscardEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04877", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then vkCmdSetDepthBiasEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-04879", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state enabled then vkCmdSetPrimitiveRestartEnableEXT must have been called in the current command buffer prior to this drawing command", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-04469", "If a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format.", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit channel width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64.", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471", "If a VkImageView with a VkFormat that has a channel width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32.", "1.2-extensions"},
@@ -6572,25 +6584,25 @@
     {"VUID-vkCmdExecuteGeneratedCommandsNV-filterCubicMinmax-02695", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-flags-02696", "Any VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-isPreprocessed-02908", "If isPreprocessed is VK_TRUE then vkCmdPreprocessGeneratedCommandsNV must have already been executed on the device, using the same pGeneratedCommandsInfo content as well as the content of the input buffers it references (all except VkGeneratedCommandsInfoNV::preprocessBuffer). Furthermore pGeneratedCommandsInfo`s indirectCommandsLayout must have been created with the VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV bit set", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this draw command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-logicOp-04878", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-magFilter-04553", "If a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688", "If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-mipmapMode-04770", "If a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-pGeneratedCommandsInfo-parameter", "pGeneratedCommandsInfo must be a valid pointer to a valid VkGeneratedCommandsInfoNV structure", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-pStrides-04884", "If the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this drawing command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-pipeline-02909", "VkGeneratedCommandsInfoNV::pipeline must match the current bound pipeline at VkGeneratedCommandsInfoNV::pipelineBindPoint", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this draw command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-primitiveFragmentShadingRateWithMultipleViewports-04552", "If the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must be 1", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-primitiveTopology-03420", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then vkCmdSetPrimitiveTopologyEXT must have been called in the current command buffer prior to this drawing command, and the primitiveTopology parameter of vkCmdSetPrimitiveTopologyEXT must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-04740", "If rasterization is not disabled in the bound graphics pipeline, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then VkPipelineMultisampleStateCreateInfo::rasterizationSamples must be the same as the current subpass color and/or depth/stencil attachments", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-02684", "The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-renderpass", "This command must only be called inside of a render pass instance", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-02689", "If the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-scissorCount-03418", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCountEXT must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04474", "If the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04475", "If the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command.", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-subpass-02685", "The subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this draw command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03417", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, then vkCmdSetViewportWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline", "1.2-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03419", "If the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled then both vkCmdSetViewportWithCountEXT and vkCmdSetScissorWithCountEXT must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCountEXT must match the scissorCount parameter of vkCmdSetScissorWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04137", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCountEXT", "1.2-extensions"},
@@ -7503,6 +7515,7 @@
     {"VUID-vkCmdWriteTimestamp-pipelineStage-04081", "If the shading rate image feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp-pipelineStage-parameter", "pipelineStage must be a valid VkPipelineStageFlagBits value", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp-query-00831", "If vkCmdWriteTimestamp is called within a render pass instance, the sum of query and the number of bits set in the current subpass's view mask must be less than or equal to the number of queries in queryPool", "1.2-extensions"},
+    {"VUID-vkCmdWriteTimestamp-query-04904", "query must be less than the number of queries in queryPool", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp-queryPool-00828", "The query identified by queryPool and query must be unavailable", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp-queryPool-01416", "queryPool must have been created with a queryType of VK_QUERY_TYPE_TIMESTAMP", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp-queryPool-parameter", "queryPool must be a valid VkQueryPool handle", "1.2-extensions"},
@@ -7513,6 +7526,7 @@
     {"VUID-vkCmdWriteTimestamp2KHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp2KHR-commonparent", "Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp2KHR-query-03865", "If vkCmdWriteTimestamp2KHR is called within a render pass instance, the sum of query and the number of bits set in the current subpass's view mask must be less than or equal to the number of queries in queryPool", "1.2-extensions"},
+    {"VUID-vkCmdWriteTimestamp2KHR-query-04903", "query must be less than the number of queries in queryPool", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp2KHR-queryPool-03861", "queryPool must have been created with a queryType of VK_QUERY_TYPE_TIMESTAMP", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp2KHR-queryPool-03862", "The query identified by queryPool and query must be unavailable", "1.2-extensions"},
     {"VUID-vkCmdWriteTimestamp2KHR-queryPool-parameter", "queryPool must be a valid VkQueryPool handle", "1.2-extensions"},
@@ -8506,8 +8520,7 @@
     {"VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-physicalDevice-parameter", "physicalDevice must be a valid VkPhysicalDevice handle", "1.2-extensions"},
     {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-imageUsage-04844", "The imageUsage enum of VkPhysicalDeviceVideoFormatInfoKHR must contain at least one of the following video image usage bit(s): VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR, VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR, VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, or VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR.", "1.2-extensions"},
     {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatInfo-parameter", "pVideoFormatInfo must be a valid pointer to a valid VkPhysicalDeviceVideoFormatInfoKHR structure", "1.2-extensions"},
-    {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatProperties-parameter", "If pVideoFormatProperties is not NULL, pVideoFormatProperties must be a valid pointer to an array of pVideoFormatPropertyCount VkVideoFormatPropertiesKHR structures", "1.2-extensions"},
-    {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatPropertyCount-arraylength", "If pVideoFormatProperties is not NULL, the value referenced by pVideoFormatPropertyCount must be greater than 0", "1.2-extensions"},
+    {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatProperties-parameter", "If the value referenced by pVideoFormatPropertyCount is not 0, and pVideoFormatProperties is not NULL, pVideoFormatProperties must be a valid pointer to an array of pVideoFormatPropertyCount VkVideoFormatPropertiesKHR structures", "1.2-extensions"},
     {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatPropertyCount-parameter", "pVideoFormatPropertyCount must be a valid pointer to a uint32_t value", "1.2-extensions"},
     {"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-physicalDevice-parameter", "physicalDevice must be a valid VkPhysicalDevice handle", "1.2-extensions"},
     {"VUID-vkGetPhysicalDeviceWaylandPresentationSupportKHR-display-parameter", "display must be a valid pointer to a wl_display value", "1.2-extensions"},
@@ -8768,6 +8781,8 @@
     {"VUID-vkQueueSubmit2KHR-commandBuffer-03879", "If a command recorded into the commandBuffer member of any element of the pCommandBufferInfos member of any element of pSubmits includes a Queue Family Transfer Acquire Operation, there must exist a previously submitted Queue Family Transfer Release Operation on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such acquire operations, and which happens before the acquire operation", "1.2-extensions"},
     {"VUID-vkQueueSubmit2KHR-commandBuffer-03880", "If a command recorded into the commandBuffer member of any element of the pCommandBufferInfos member of any element of pSubmits was a vkCmdBeginQuery whose queryPool was created with a queryType of VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, the profiling lock must have been held continuously on the VkDevice that queue was retrieved from, throughout recording of those command buffers", "1.2-extensions"},
     {"VUID-vkQueueSubmit2KHR-commonparent", "Both of fence, and queue that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice", "1.2-extensions"},
+    {"VUID-vkQueueSubmit2KHR-fence-04894", "If fence is not VK_NULL_HANDLE, fence must be unsignaled", "1.2-extensions"},
+    {"VUID-vkQueueSubmit2KHR-fence-04895", "If fence is not VK_NULL_HANDLE, fence must not be associated with any other queue command that has not yet completed execution on that queue", "1.2-extensions"},
     {"VUID-vkQueueSubmit2KHR-fence-parameter", "If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle", "1.2-extensions"},
     {"VUID-vkQueueSubmit2KHR-pSubmits-parameter", "If submitCount is not 0, pSubmits must be a valid pointer to an array of submitCount valid VkSubmitInfo2KHR structures", "1.2-extensions"},
     {"VUID-vkQueueSubmit2KHR-queue-parameter", "queue must be a valid VkQueue handle", "1.2-extensions"},
diff --git a/scripts/known_good.json b/scripts/known_good.json
index a76e784..10e5c9c 100755
--- a/scripts/known_good.json
+++ b/scripts/known_good.json
@@ -20,7 +20,7 @@
       "sub_dir": "Vulkan-Headers",
       "build_dir": "Vulkan-Headers/build",
       "install_dir": "Vulkan-Headers/build/install",
-      "commit": "v1.2.178"
+      "commit": "v1.2.179"
     },
     {
       "name": "SPIRV-Headers",
diff --git a/scripts/vk_validation_stats.py b/scripts/vk_validation_stats.py
index f8cb3e3..dde42a0 100755
--- a/scripts/vk_validation_stats.py
+++ b/scripts/vk_validation_stats.py
@@ -56,6 +56,7 @@
     'layers/core_validation.cpp',
     'layers/descriptor_sets.cpp',
     'layers/drawdispatch.cpp',
+    'layers/gpu_vuids.h',
     'layers/parameter_validation_utils.cpp',
     'layers/object_tracker_utils.cpp',
     'layers/shader_module.cpp',