build: Update to header 1.3.206

- Update known-good
- Generate source
diff --git a/build-android/known_good.json b/build-android/known_good.json
index 2022186..e564216 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.3.205"
+      "commit" : "v1.3.206"
     },
     {
       "name" : "Vulkan-Tools",
       "url" : "https://github.com/KhronosGroup/Vulkan-Tools.git",
       "sub_dir" : "Vulkan-Tools",
-      "commit" : "v1.3.205"
+      "commit" : "v1.3.206"
     },
     {
       "name" : "SPIRV-Tools",
diff --git a/layers/generated/parameter_validation.cpp b/layers/generated/parameter_validation.cpp
index d7e33f4..dd7d974 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 = 205;
+const uint32_t GeneratedVulkanHeaderVersion = 206;
 
 const 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_NONE|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 VkAttachmentDescriptionFlags AllVkAttachmentDescriptionFlagBits = VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT;
@@ -114,9 +114,6 @@
 #endif
 const VkDebugReportFlagsEXT AllVkDebugReportFlagBitsEXT = VK_DEBUG_REPORT_INFORMATION_BIT_EXT|VK_DEBUG_REPORT_WARNING_BIT_EXT|VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT|VK_DEBUG_REPORT_ERROR_BIT_EXT|VK_DEBUG_REPORT_DEBUG_BIT_EXT;
 #ifdef VK_ENABLE_BETA_EXTENSIONS
-const VkVideoEncodeH264CapabilityFlagsEXT AllVkVideoEncodeH264CapabilityFlagBitsEXT = VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT|VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT;
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
 const VkVideoEncodeH264CreateFlagsEXT AllVkVideoEncodeH264CreateFlagBitsEXT = VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT|VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT;
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -129,7 +126,7 @@
 const VkVideoEncodeH264RateControlStructureFlagsEXT AllVkVideoEncodeH264RateControlStructureFlagBitsEXT = VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT|VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT|VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT;
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
-const VkVideoEncodeH265CtbSizeFlagsEXT AllVkVideoEncodeH265CtbSizeFlagBitsEXT = VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT|VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT|VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT|VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT;
+const VkVideoEncodeH265CtbSizeFlagsEXT AllVkVideoEncodeH265CtbSizeFlagBitsEXT = VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT|VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT|VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT;
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 const VkVideoEncodeH265InputModeFlagsEXT AllVkVideoEncodeH265InputModeFlagBitsEXT = VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT|VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT|VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT;
@@ -140,6 +137,9 @@
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 const VkVideoEncodeH265RateControlStructureFlagsEXT AllVkVideoEncodeH265RateControlStructureFlagBitsEXT = VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT|VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT|VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT;
 #endif
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+const VkVideoEncodeH265TransformBlockSizeFlagsEXT AllVkVideoEncodeH265TransformBlockSizeFlagBitsEXT = VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT|VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT|VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT|VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT;
+#endif
 const VkExternalMemoryHandleTypeFlagsNV AllVkExternalMemoryHandleTypeFlagBitsNV = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV|VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV|VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV|VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV;
 const VkConditionalRenderingFlagsEXT AllVkConditionalRenderingFlagBitsEXT = VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT;
 const VkSurfaceCounterFlagsEXT AllVkSurfaceCounterFlagBitsEXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT|VK_SURFACE_COUNTER_VBLANK_EXT;
@@ -2350,68 +2350,6 @@
                 }
             }
 
-            if (is_const_param) {
-                VkPhysicalDeviceShaderIntegerDotProductProperties *structure = (VkPhysicalDeviceShaderIntegerDotProductProperties *) header;
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct8BitUnsignedAccelerated", structure->integerDotProduct8BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct8BitSignedAccelerated", structure->integerDotProduct8BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct8BitMixedSignednessAccelerated", structure->integerDotProduct8BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct4x8BitPackedUnsignedAccelerated", structure->integerDotProduct4x8BitPackedUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct4x8BitPackedSignedAccelerated", structure->integerDotProduct4x8BitPackedSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct4x8BitPackedMixedSignednessAccelerated", structure->integerDotProduct4x8BitPackedMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct16BitUnsignedAccelerated", structure->integerDotProduct16BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct16BitSignedAccelerated", structure->integerDotProduct16BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct16BitMixedSignednessAccelerated", structure->integerDotProduct16BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct32BitUnsignedAccelerated", structure->integerDotProduct32BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct32BitSignedAccelerated", structure->integerDotProduct32BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct32BitMixedSignednessAccelerated", structure->integerDotProduct32BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct64BitUnsignedAccelerated", structure->integerDotProduct64BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct64BitSignedAccelerated", structure->integerDotProduct64BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProduct64BitMixedSignednessAccelerated", structure->integerDotProduct64BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating8BitUnsignedAccelerated", structure->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating8BitSignedAccelerated", structure->integerDotProductAccumulatingSaturating8BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated", structure->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated", structure->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated", structure->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated", structure->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating16BitUnsignedAccelerated", structure->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating16BitSignedAccelerated", structure->integerDotProductAccumulatingSaturating16BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated", structure->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating32BitUnsignedAccelerated", structure->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating32BitSignedAccelerated", structure->integerDotProductAccumulatingSaturating32BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated", structure->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating64BitUnsignedAccelerated", structure->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating64BitSignedAccelerated", structure->integerDotProductAccumulatingSaturating64BitSignedAccelerated);
-
-                skip |= validate_bool32("VkPhysicalDeviceShaderIntegerDotProductProperties", "integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated", structure->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated);
-            }
         } break;
 
         // Validation code for VkPhysicalDeviceTexelBufferAlignmentProperties structure members
@@ -2877,6 +2815,17 @@
             }
         } break;
 
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+        // Validation code for VkVideoEncodeCapabilitiesKHR structure members
+        case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: { // Covers VUID-VkVideoEncodeCapabilitiesKHR-sType-sType
+            if (is_const_param) {
+                VkVideoEncodeCapabilitiesKHR *structure = (VkVideoEncodeCapabilitiesKHR *) header;
+                skip |= validate_flags("VkVideoEncodeCapabilitiesKHR", "rateControlModes", "VkVideoEncodeRateControlModeFlagBitsKHR", AllVkVideoEncodeRateControlModeFlagBitsKHR, structure->rateControlModes, kRequiredFlags, "VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-parameter", "VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-requiredbitmask");
+
+            }
+        } break;
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
         // No Validation code for VkVideoEncodeRateControlLayerInfoKHR structure members  -- Covers VUID-VkVideoEncodeRateControlLayerInfoKHR-sType-sType
 
 #ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -2983,12 +2932,12 @@
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: { // Covers VUID-VkVideoEncodeH264CapabilitiesEXT-sType-sType
             if (is_const_param) {
                 VkVideoEncodeH264CapabilitiesEXT *structure = (VkVideoEncodeH264CapabilitiesEXT *) header;
-                skip |= validate_flags("VkVideoEncodeH264CapabilitiesEXT", "flags", "VkVideoEncodeH264CapabilityFlagBitsEXT", AllVkVideoEncodeH264CapabilityFlagBitsEXT, structure->flags, kRequiredFlags, "VUID-VkVideoEncodeH264CapabilitiesEXT-flags-parameter", "VUID-VkVideoEncodeH264CapabilitiesEXT-flags-requiredbitmask");
-
                 skip |= validate_flags("VkVideoEncodeH264CapabilitiesEXT", "inputModeFlags", "VkVideoEncodeH264InputModeFlagBitsEXT", AllVkVideoEncodeH264InputModeFlagBitsEXT, structure->inputModeFlags, kRequiredFlags, "VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-parameter", "VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-requiredbitmask");
 
                 skip |= validate_flags("VkVideoEncodeH264CapabilitiesEXT", "outputModeFlags", "VkVideoEncodeH264OutputModeFlagBitsEXT", AllVkVideoEncodeH264OutputModeFlagBitsEXT, structure->outputModeFlags, kRequiredFlags, "VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-parameter", "VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-requiredbitmask");
 
+                skip |= validate_bool32("VkVideoEncodeH264CapabilitiesEXT", "motionVectorsOverPicBoundariesFlag", structure->motionVectorsOverPicBoundariesFlag);
+
             }
         } break;
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -3043,24 +2992,31 @@
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: { // Covers VUID-VkVideoEncodeH264VclFrameInfoEXT-sType-sType
             if (is_const_param) {
                 VkVideoEncodeH264VclFrameInfoEXT *structure = (VkVideoEncodeH264VclFrameInfoEXT *) header;
-                skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", "refDefaultFinalList0EntryCount", "pRefDefaultFinalList0Entries", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->refDefaultFinalList0EntryCount, structure->pRefDefaultFinalList0Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, true, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264VclFrameInfoEXT-pRefDefaultFinalList0Entries-parameter", "VUID-VkVideoEncodeH264VclFrameInfoEXT-refDefaultFinalList0EntryCount-arraylength");
+                skip |= validate_struct_type("VkVideoEncodeH264VclFrameInfoEXT", "pReferenceFinalLists", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT", structure->pReferenceFinalLists, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT, false, "VUID-VkVideoEncodeH264VclFrameInfoEXT-pReferenceFinalLists-parameter", "VUID-VkVideoEncodeH264ReferenceListsEXT-sType-sType");
 
-                if (structure->pRefDefaultFinalList0Entries != NULL)
+                if (structure->pReferenceFinalLists != NULL)
                 {
-                    for (uint32_t refDefaultFinalList0EntryIndex = 0; refDefaultFinalList0EntryIndex < structure->refDefaultFinalList0EntryCount; ++refDefaultFinalList0EntryIndex)
-                    {
-                        skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pRefDefaultFinalList0Entries[%i].pStdPictureInfo", ParameterName::IndexVector{ refDefaultFinalList0EntryIndex }), structure->pRefDefaultFinalList0Entries[refDefaultFinalList0EntryIndex].pStdPictureInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdPictureInfo-parameter");
-                    }
-                }
+                    skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", "pReferenceFinalLists->referenceList0EntryCount", "pReferenceFinalLists->pReferenceList0Entries", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pReferenceFinalLists->referenceList0EntryCount, structure->pReferenceFinalLists->pReferenceList0Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, false, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList0Entries-parameter", kVUIDUndefined);
 
-                skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", "refDefaultFinalList1EntryCount", "pRefDefaultFinalList1Entries", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->refDefaultFinalList1EntryCount, structure->pRefDefaultFinalList1Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, true, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264VclFrameInfoEXT-pRefDefaultFinalList1Entries-parameter", "VUID-VkVideoEncodeH264VclFrameInfoEXT-refDefaultFinalList1EntryCount-arraylength");
-
-                if (structure->pRefDefaultFinalList1Entries != NULL)
-                {
-                    for (uint32_t refDefaultFinalList1EntryIndex = 0; refDefaultFinalList1EntryIndex < structure->refDefaultFinalList1EntryCount; ++refDefaultFinalList1EntryIndex)
+                    if (structure->pReferenceFinalLists->pReferenceList0Entries != NULL)
                     {
-                        skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pRefDefaultFinalList1Entries[%i].pStdPictureInfo", ParameterName::IndexVector{ refDefaultFinalList1EntryIndex }), structure->pRefDefaultFinalList1Entries[refDefaultFinalList1EntryIndex].pStdPictureInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdPictureInfo-parameter");
+                        for (uint32_t referenceList0EntryIndex = 0; referenceList0EntryIndex < structure->pReferenceFinalLists->referenceList0EntryCount; ++referenceList0EntryIndex)
+                        {
+                            skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pReferenceFinalLists->pReferenceList0Entries[%i].pStdReferenceInfo", ParameterName::IndexVector{ referenceList0EntryIndex }), structure->pReferenceFinalLists->pReferenceList0Entries[referenceList0EntryIndex].pStdReferenceInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdReferenceInfo-parameter");
+                        }
                     }
+
+                    skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", "pReferenceFinalLists->referenceList1EntryCount", "pReferenceFinalLists->pReferenceList1Entries", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pReferenceFinalLists->referenceList1EntryCount, structure->pReferenceFinalLists->pReferenceList1Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, false, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList1Entries-parameter", kVUIDUndefined);
+
+                    if (structure->pReferenceFinalLists->pReferenceList1Entries != NULL)
+                    {
+                        for (uint32_t referenceList1EntryIndex = 0; referenceList1EntryIndex < structure->pReferenceFinalLists->referenceList1EntryCount; ++referenceList1EntryIndex)
+                        {
+                            skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pReferenceFinalLists->pReferenceList1Entries[%i].pStdReferenceInfo", ParameterName::IndexVector{ referenceList1EntryIndex }), structure->pReferenceFinalLists->pReferenceList1Entries[referenceList1EntryIndex].pStdReferenceInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdReferenceInfo-parameter");
+                        }
+                    }
+
+                    skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", "pReferenceFinalLists->pMemMgmtCtrlOperations", structure->pReferenceFinalLists->pMemMgmtCtrlOperations, "VUID-VkVideoEncodeH264ReferenceListsEXT-pMemMgmtCtrlOperations-parameter");
                 }
 
                 skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", "naluSliceEntryCount", "pNaluSliceEntries", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT", structure->naluSliceEntryCount, structure->pNaluSliceEntries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT, true, true, "VUID-VkVideoEncodeH264NaluSliceEXT-sType-sType", "VUID-VkVideoEncodeH264VclFrameInfoEXT-pNaluSliceEntries-parameter", "VUID-VkVideoEncodeH264VclFrameInfoEXT-naluSliceEntryCount-arraylength");
@@ -3069,36 +3025,38 @@
                 {
                     for (uint32_t naluSliceEntryIndex = 0; naluSliceEntryIndex < structure->naluSliceEntryCount; ++naluSliceEntryIndex)
                     {
+                        skip |= validate_struct_type("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists", ParameterName::IndexVector{ naluSliceEntryIndex }), "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT", structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT, false, "VUID-VkVideoEncodeH264NaluSliceEXT-pReferenceFinalLists-parameter", "VUID-VkVideoEncodeH264ReferenceListsEXT-sType-sType");
+
+                        if (structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists != NULL)
+                        {
+                            skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->referenceList0EntryCount", ParameterName::IndexVector{ naluSliceEntryIndex }), ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->pReferenceList0Entries", ParameterName::IndexVector{ naluSliceEntryIndex }), "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->referenceList0EntryCount, structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pReferenceList0Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, false, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList0Entries-parameter", kVUIDUndefined);
+
+                            if (structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pReferenceList0Entries != NULL)
+                            {
+                                for (uint32_t referenceList0EntryIndex = 0; referenceList0EntryIndex < structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->referenceList0EntryCount; ++referenceList0EntryIndex)
+                                {
+                                    skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->pReferenceList0Entries[%i].pStdReferenceInfo", ParameterName::IndexVector{ naluSliceEntryIndex, referenceList0EntryIndex }), structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pReferenceList0Entries[referenceList0EntryIndex].pStdReferenceInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdReferenceInfo-parameter");
+                                }
+                            }
+
+                            skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->referenceList1EntryCount", ParameterName::IndexVector{ naluSliceEntryIndex }), ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->pReferenceList1Entries", ParameterName::IndexVector{ naluSliceEntryIndex }), "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->referenceList1EntryCount, structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pReferenceList1Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, false, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList1Entries-parameter", kVUIDUndefined);
+
+                            if (structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pReferenceList1Entries != NULL)
+                            {
+                                for (uint32_t referenceList1EntryIndex = 0; referenceList1EntryIndex < structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->referenceList1EntryCount; ++referenceList1EntryIndex)
+                                {
+                                    skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->pReferenceList1Entries[%i].pStdReferenceInfo", ParameterName::IndexVector{ naluSliceEntryIndex, referenceList1EntryIndex }), structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pReferenceList1Entries[referenceList1EntryIndex].pStdReferenceInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdReferenceInfo-parameter");
+                                }
+                            }
+
+                            skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pReferenceFinalLists->pMemMgmtCtrlOperations", ParameterName::IndexVector{ naluSliceEntryIndex }), structure->pNaluSliceEntries[naluSliceEntryIndex].pReferenceFinalLists->pMemMgmtCtrlOperations, "VUID-VkVideoEncodeH264ReferenceListsEXT-pMemMgmtCtrlOperations-parameter");
+                        }
+
                         skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pSliceHeaderStd", ParameterName::IndexVector{ naluSliceEntryIndex }), structure->pNaluSliceEntries[naluSliceEntryIndex].pSliceHeaderStd, "VUID-VkVideoEncodeH264NaluSliceEXT-pSliceHeaderStd-parameter");
-
-                        skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].refFinalList0EntryCount", ParameterName::IndexVector{ naluSliceEntryIndex }), ParameterName("pNaluSliceEntries[%i].pRefFinalList0Entries", ParameterName::IndexVector{ naluSliceEntryIndex }), "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pNaluSliceEntries[naluSliceEntryIndex].refFinalList0EntryCount, structure->pNaluSliceEntries[naluSliceEntryIndex].pRefFinalList0Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, true, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264NaluSliceEXT-pRefFinalList0Entries-parameter", "VUID-VkVideoEncodeH264NaluSliceEXT-refFinalList0EntryCount-arraylength");
-
-                        if (structure->pNaluSliceEntries[naluSliceEntryIndex].pRefFinalList0Entries != NULL)
-                        {
-                            for (uint32_t refFinalList0EntryIndex = 0; refFinalList0EntryIndex < structure->pNaluSliceEntries[naluSliceEntryIndex].refFinalList0EntryCount; ++refFinalList0EntryIndex)
-                            {
-                                skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pRefFinalList0Entries[%i].pStdPictureInfo", ParameterName::IndexVector{ naluSliceEntryIndex, refFinalList0EntryIndex }), structure->pNaluSliceEntries[naluSliceEntryIndex].pRefFinalList0Entries[refFinalList0EntryIndex].pStdPictureInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdPictureInfo-parameter");
-                            }
-                        }
-
-                        skip |= validate_struct_type_array("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].refFinalList1EntryCount", ParameterName::IndexVector{ naluSliceEntryIndex }), ParameterName("pNaluSliceEntries[%i].pRefFinalList1Entries", ParameterName::IndexVector{ naluSliceEntryIndex }), "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pNaluSliceEntries[naluSliceEntryIndex].refFinalList1EntryCount, structure->pNaluSliceEntries[naluSliceEntryIndex].pRefFinalList1Entries, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, true, true, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "VUID-VkVideoEncodeH264NaluSliceEXT-pRefFinalList1Entries-parameter", "VUID-VkVideoEncodeH264NaluSliceEXT-refFinalList1EntryCount-arraylength");
-
-                        if (structure->pNaluSliceEntries[naluSliceEntryIndex].pRefFinalList1Entries != NULL)
-                        {
-                            for (uint32_t refFinalList1EntryIndex = 0; refFinalList1EntryIndex < structure->pNaluSliceEntries[naluSliceEntryIndex].refFinalList1EntryCount; ++refFinalList1EntryIndex)
-                            {
-                                skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", ParameterName("pNaluSliceEntries[%i].pRefFinalList1Entries[%i].pStdPictureInfo", ParameterName::IndexVector{ naluSliceEntryIndex, refFinalList1EntryIndex }), structure->pNaluSliceEntries[naluSliceEntryIndex].pRefFinalList1Entries[refFinalList1EntryIndex].pStdPictureInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdPictureInfo-parameter");
-                            }
-                        }
                     }
                 }
 
-                skip |= validate_struct_type("VkVideoEncodeH264VclFrameInfoEXT", "pCurrentPictureInfo", "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", structure->pCurrentPictureInfo, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT, true, "VUID-VkVideoEncodeH264VclFrameInfoEXT-pCurrentPictureInfo-parameter", "VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType");
-
-                if (structure->pCurrentPictureInfo != NULL)
-                {
-                    skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", "pCurrentPictureInfo->pStdPictureInfo", structure->pCurrentPictureInfo->pStdPictureInfo, "VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdPictureInfo-parameter");
-                }
+                skip |= validate_required_pointer("VkVideoEncodeH264VclFrameInfoEXT", "pCurrentPictureInfo", structure->pCurrentPictureInfo, "VUID-VkVideoEncodeH264VclFrameInfoEXT-pCurrentPictureInfo-parameter");
             }
         } break;
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -3149,14 +3107,14 @@
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: { // Covers VUID-VkVideoEncodeH265CapabilitiesEXT-sType-sType
             if (is_const_param) {
                 VkVideoEncodeH265CapabilitiesEXT *structure = (VkVideoEncodeH265CapabilitiesEXT *) header;
-                skip |= validate_reserved_flags("VkVideoEncodeH265CapabilitiesEXT", "flags", structure->flags, "VUID-VkVideoEncodeH265CapabilitiesEXT-flags-zerobitmask");
-
                 skip |= validate_flags("VkVideoEncodeH265CapabilitiesEXT", "inputModeFlags", "VkVideoEncodeH265InputModeFlagBitsEXT", AllVkVideoEncodeH265InputModeFlagBitsEXT, structure->inputModeFlags, kRequiredFlags, "VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-parameter", "VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-requiredbitmask");
 
                 skip |= validate_flags("VkVideoEncodeH265CapabilitiesEXT", "outputModeFlags", "VkVideoEncodeH265OutputModeFlagBitsEXT", AllVkVideoEncodeH265OutputModeFlagBitsEXT, structure->outputModeFlags, kRequiredFlags, "VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-parameter", "VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-requiredbitmask");
 
                 skip |= validate_flags("VkVideoEncodeH265CapabilitiesEXT", "ctbSizes", "VkVideoEncodeH265CtbSizeFlagBitsEXT", AllVkVideoEncodeH265CtbSizeFlagBitsEXT, structure->ctbSizes, kRequiredFlags, "VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-parameter", "VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-requiredbitmask");
 
+                skip |= validate_flags("VkVideoEncodeH265CapabilitiesEXT", "transformBlockSizes", "VkVideoEncodeH265TransformBlockSizeFlagBitsEXT", AllVkVideoEncodeH265TransformBlockSizeFlagBitsEXT, structure->transformBlockSizes, kRequiredFlags, "VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-parameter", "VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-requiredbitmask");
+
             }
         } break;
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -11105,9 +11063,9 @@
     skip |= validate_struct_type("vkGetPhysicalDeviceVideoCapabilitiesKHR", "pCapabilities", "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR", pCapabilities, VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR, true, "VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pCapabilities-parameter", "VUID-VkVideoCapabilitiesKHR-sType-sType");
     if (pCapabilities != NULL)
     {
-        const VkStructureType allowed_structs_VkVideoCapabilitiesKHR[] = { VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT, VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT };
+        const VkStructureType allowed_structs_VkVideoCapabilitiesKHR[] = { VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT, VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT, VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR };
 
-        skip |= validate_struct_pnext("vkGetPhysicalDeviceVideoCapabilitiesKHR", "pCapabilities->pNext", "VkVideoDecodeH264CapabilitiesEXT, VkVideoDecodeH265CapabilitiesEXT, VkVideoEncodeH264CapabilitiesEXT, VkVideoEncodeH265CapabilitiesEXT", pCapabilities->pNext, ARRAY_SIZE(allowed_structs_VkVideoCapabilitiesKHR), allowed_structs_VkVideoCapabilitiesKHR, GeneratedVulkanHeaderVersion, "VUID-VkVideoCapabilitiesKHR-pNext-pNext", "VUID-VkVideoCapabilitiesKHR-sType-unique", true, false);
+        skip |= validate_struct_pnext("vkGetPhysicalDeviceVideoCapabilitiesKHR", "pCapabilities->pNext", "VkVideoDecodeH264CapabilitiesEXT, VkVideoDecodeH265CapabilitiesEXT, VkVideoEncodeCapabilitiesKHR", pCapabilities->pNext, ARRAY_SIZE(allowed_structs_VkVideoCapabilitiesKHR), allowed_structs_VkVideoCapabilitiesKHR, GeneratedVulkanHeaderVersion, "VUID-VkVideoCapabilitiesKHR-pNext-pNext", "VUID-VkVideoCapabilitiesKHR-sType-unique", true, false);
     }
     return skip;
 }
diff --git a/layers/generated/spirv_validation_helper.cpp b/layers/generated/spirv_validation_helper.cpp
index 0dd5e2e..077fd32 100644
--- a/layers/generated/spirv_validation_helper.cpp
+++ b/layers/generated/spirv_validation_helper.cpp
@@ -308,6 +308,7 @@
     {"SPV_GOOGLE_decorate_string", {0, nullptr, &DeviceExtensions::vk_google_decorate_string, ""}},
     {"SPV_GOOGLE_hlsl_functionality1", {0, nullptr, &DeviceExtensions::vk_google_hlsl_functionality1, ""}},
     {"SPV_GOOGLE_user_type", {0, nullptr, &DeviceExtensions::vk_google_user_type, ""}},
+    {"SPV_INTEL_shader_integer_functions", {0, nullptr, &DeviceExtensions::vk_intel_shader_integer_functions2, ""}},
     {"SPV_KHR_16bit_storage", {VK_API_VERSION_1_1, nullptr, nullptr, ""}},
     {"SPV_KHR_16bit_storage", {0, nullptr, &DeviceExtensions::vk_khr_16bit_storage, ""}},
     {"SPV_KHR_8bit_storage", {VK_API_VERSION_1_2, nullptr, nullptr, ""}},
diff --git a/layers/generated/vk_enum_string_helper.h b/layers/generated/vk_enum_string_helper.h
index 0839d25..902981b 100644
--- a/layers/generated/vk_enum_string_helper.h
+++ b/layers/generated/vk_enum_string_helper.h
@@ -1338,6 +1338,10 @@
             return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR";
 #endif // VK_ENABLE_BETA_EXTENSIONS
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+        case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR:
+            return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT";
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -1366,6 +1370,10 @@
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT";
 #endif // VK_ENABLE_BETA_EXTENSIONS
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+        case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT:
+            return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT";
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT:
             return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT";
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -7083,32 +7091,32 @@
 
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 
-static inline const char* string_VkVideoEncodeRateControlFlagBitsKHR(VkVideoEncodeRateControlFlagBitsKHR input_value)
+static inline const char* string_VkVideoEncodeCapabilityFlagBitsKHR(VkVideoEncodeCapabilityFlagBitsKHR input_value)
 {
     switch (input_value)
     {
-        case VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR:
-            return "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR";
-        case VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR:
-            return "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR";
+        case VK_VIDEO_ENCODE_CAPABILITY_DEFAULT_KHR:
+            return "VK_VIDEO_ENCODE_CAPABILITY_DEFAULT_KHR";
+        case VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR:
+            return "VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR";
         default:
-            return "Unhandled VkVideoEncodeRateControlFlagBitsKHR";
+            return "Unhandled VkVideoEncodeCapabilityFlagBitsKHR";
     }
 }
 
-static inline std::string string_VkVideoEncodeRateControlFlagsKHR(VkVideoEncodeRateControlFlagsKHR input_value)
+static inline std::string string_VkVideoEncodeCapabilityFlagsKHR(VkVideoEncodeCapabilityFlagsKHR input_value)
 {
     std::string ret;
     int index = 0;
     while(input_value) {
         if (input_value & 1) {
             if( !ret.empty()) ret.append("|");
-            ret.append(string_VkVideoEncodeRateControlFlagBitsKHR(static_cast<VkVideoEncodeRateControlFlagBitsKHR>(1U << index)));
+            ret.append(string_VkVideoEncodeCapabilityFlagBitsKHR(static_cast<VkVideoEncodeCapabilityFlagBitsKHR>(1U << index)));
         }
         ++index;
         input_value >>= 1;
     }
-    if( ret.empty()) ret.append(string_VkVideoEncodeRateControlFlagBitsKHR(static_cast<VkVideoEncodeRateControlFlagBitsKHR>(0)));
+    if( ret.empty()) ret.append(string_VkVideoEncodeCapabilityFlagBitsKHR(static_cast<VkVideoEncodeCapabilityFlagBitsKHR>(0)));
     return ret;
 }
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -7148,6 +7156,39 @@
 }
 #endif // VK_ENABLE_BETA_EXTENSIONS
 
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+
+static inline const char* string_VkVideoEncodeRateControlFlagBitsKHR(VkVideoEncodeRateControlFlagBitsKHR input_value)
+{
+    switch (input_value)
+    {
+        case VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR:
+            return "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR";
+        case VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR:
+            return "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR";
+        default:
+            return "Unhandled VkVideoEncodeRateControlFlagBitsKHR";
+    }
+}
+
+static inline std::string string_VkVideoEncodeRateControlFlagsKHR(VkVideoEncodeRateControlFlagsKHR input_value)
+{
+    std::string ret;
+    int index = 0;
+    while(input_value) {
+        if (input_value & 1) {
+            if( !ret.empty()) ret.append("|");
+            ret.append(string_VkVideoEncodeRateControlFlagBitsKHR(static_cast<VkVideoEncodeRateControlFlagBitsKHR>(1U << index)));
+        }
+        ++index;
+        input_value >>= 1;
+    }
+    if( ret.empty()) ret.append(string_VkVideoEncodeRateControlFlagBitsKHR(static_cast<VkVideoEncodeRateControlFlagBitsKHR>(0)));
+    return ret;
+}
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
 static inline const char* string_VkPipelineStageFlagBits2KHR(uint64_t input_value)
 {
     switch (input_value)
@@ -7644,16 +7685,40 @@
             return "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT";
         case VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT:
             return "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT";
-        case VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT:
-            return "VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT";
         case VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT:
             return "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT";
         case VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT:
             return "VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT";
         case VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT:
             return "VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT";
-        case VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT:
-            return "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT";
         default:
             return "Unhandled VkVideoEncodeH264CapabilityFlagBitsEXT";
     }
@@ -7817,6 +7882,83 @@
 
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 
+static inline const char* string_VkVideoEncodeH265CapabilityFlagBitsEXT(VkVideoEncodeH265CapabilityFlagBitsEXT input_value)
+{
+    switch (input_value)
+    {
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT";
+        default:
+            return "Unhandled VkVideoEncodeH265CapabilityFlagBitsEXT";
+    }
+}
+
+static inline std::string string_VkVideoEncodeH265CapabilityFlagsEXT(VkVideoEncodeH265CapabilityFlagsEXT input_value)
+{
+    std::string ret;
+    int index = 0;
+    while(input_value) {
+        if (input_value & 1) {
+            if( !ret.empty()) ret.append("|");
+            ret.append(string_VkVideoEncodeH265CapabilityFlagBitsEXT(static_cast<VkVideoEncodeH265CapabilityFlagBitsEXT>(1U << index)));
+        }
+        ++index;
+        input_value >>= 1;
+    }
+    if( ret.empty()) ret.append(string_VkVideoEncodeH265CapabilityFlagBitsEXT(static_cast<VkVideoEncodeH265CapabilityFlagBitsEXT>(0)));
+    return ret;
+}
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+
 static inline const char* string_VkVideoEncodeH265InputModeFlagBitsEXT(VkVideoEncodeH265InputModeFlagBitsEXT input_value)
 {
     switch (input_value)
@@ -7897,8 +8039,6 @@
             return "VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT";
         case VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT:
             return "VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT";
-        case VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT:
-            return "VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT";
         default:
             return "Unhandled VkVideoEncodeH265CtbSizeFlagBitsEXT";
     }
@@ -7924,6 +8064,43 @@
 
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 
+static inline const char* string_VkVideoEncodeH265TransformBlockSizeFlagBitsEXT(VkVideoEncodeH265TransformBlockSizeFlagBitsEXT input_value)
+{
+    switch (input_value)
+    {
+        case VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT";
+        case VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT:
+            return "VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT";
+        default:
+            return "Unhandled VkVideoEncodeH265TransformBlockSizeFlagBitsEXT";
+    }
+}
+
+static inline std::string string_VkVideoEncodeH265TransformBlockSizeFlagsEXT(VkVideoEncodeH265TransformBlockSizeFlagsEXT input_value)
+{
+    std::string ret;
+    int index = 0;
+    while(input_value) {
+        if (input_value & 1) {
+            if( !ret.empty()) ret.append("|");
+            ret.append(string_VkVideoEncodeH265TransformBlockSizeFlagBitsEXT(static_cast<VkVideoEncodeH265TransformBlockSizeFlagBitsEXT>(1U << index)));
+        }
+        ++index;
+        input_value >>= 1;
+    }
+    if( ret.empty()) ret.append(string_VkVideoEncodeH265TransformBlockSizeFlagBitsEXT(static_cast<VkVideoEncodeH265TransformBlockSizeFlagBitsEXT>(0)));
+    return ret;
+}
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+
 static inline const char* string_VkVideoEncodeH265RateControlStructureFlagBitsEXT(VkVideoEncodeH265RateControlStructureFlagBitsEXT input_value)
 {
     switch (input_value)
diff --git a/layers/generated/vk_safe_struct.cpp b/layers/generated/vk_safe_struct.cpp
index e643780..4434877 100644
--- a/layers/generated/vk_safe_struct.cpp
+++ b/layers/generated/vk_safe_struct.cpp
@@ -27427,6 +27427,88 @@
 #ifdef VK_ENABLE_BETA_EXTENSIONS
 
 
+safe_VkVideoEncodeCapabilitiesKHR::safe_VkVideoEncodeCapabilitiesKHR(const VkVideoEncodeCapabilitiesKHR* in_struct) :
+    sType(in_struct->sType),
+    flags(in_struct->flags),
+    rateControlModes(in_struct->rateControlModes),
+    rateControlLayerCount(in_struct->rateControlLayerCount),
+    qualityLevelCount(in_struct->qualityLevelCount),
+    inputImageDataFillAlignment(in_struct->inputImageDataFillAlignment)
+{
+    pNext = SafePnextCopy(in_struct->pNext);
+}
+
+safe_VkVideoEncodeCapabilitiesKHR::safe_VkVideoEncodeCapabilitiesKHR() :
+    sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR),
+    pNext(nullptr),
+    flags(),
+    rateControlModes(),
+    rateControlLayerCount(),
+    qualityLevelCount(),
+    inputImageDataFillAlignment()
+{}
+
+safe_VkVideoEncodeCapabilitiesKHR::safe_VkVideoEncodeCapabilitiesKHR(const safe_VkVideoEncodeCapabilitiesKHR& copy_src)
+{
+    sType = copy_src.sType;
+    flags = copy_src.flags;
+    rateControlModes = copy_src.rateControlModes;
+    rateControlLayerCount = copy_src.rateControlLayerCount;
+    qualityLevelCount = copy_src.qualityLevelCount;
+    inputImageDataFillAlignment = copy_src.inputImageDataFillAlignment;
+    pNext = SafePnextCopy(copy_src.pNext);
+}
+
+safe_VkVideoEncodeCapabilitiesKHR& safe_VkVideoEncodeCapabilitiesKHR::operator=(const safe_VkVideoEncodeCapabilitiesKHR& copy_src)
+{
+    if (&copy_src == this) return *this;
+
+    if (pNext)
+        FreePnextChain(pNext);
+
+    sType = copy_src.sType;
+    flags = copy_src.flags;
+    rateControlModes = copy_src.rateControlModes;
+    rateControlLayerCount = copy_src.rateControlLayerCount;
+    qualityLevelCount = copy_src.qualityLevelCount;
+    inputImageDataFillAlignment = copy_src.inputImageDataFillAlignment;
+    pNext = SafePnextCopy(copy_src.pNext);
+
+    return *this;
+}
+
+safe_VkVideoEncodeCapabilitiesKHR::~safe_VkVideoEncodeCapabilitiesKHR()
+{
+    if (pNext)
+        FreePnextChain(pNext);
+}
+
+void safe_VkVideoEncodeCapabilitiesKHR::initialize(const VkVideoEncodeCapabilitiesKHR* in_struct)
+{
+    sType = in_struct->sType;
+    flags = in_struct->flags;
+    rateControlModes = in_struct->rateControlModes;
+    rateControlLayerCount = in_struct->rateControlLayerCount;
+    qualityLevelCount = in_struct->qualityLevelCount;
+    inputImageDataFillAlignment = in_struct->inputImageDataFillAlignment;
+    pNext = SafePnextCopy(in_struct->pNext);
+}
+
+void safe_VkVideoEncodeCapabilitiesKHR::initialize(const safe_VkVideoEncodeCapabilitiesKHR* copy_src)
+{
+    sType = copy_src->sType;
+    flags = copy_src->flags;
+    rateControlModes = copy_src->rateControlModes;
+    rateControlLayerCount = copy_src->rateControlLayerCount;
+    qualityLevelCount = copy_src->qualityLevelCount;
+    inputImageDataFillAlignment = copy_src->inputImageDataFillAlignment;
+    pNext = SafePnextCopy(copy_src->pNext);
+}
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+
+
 safe_VkVideoEncodeRateControlLayerInfoKHR::safe_VkVideoEncodeRateControlLayerInfoKHR(const VkVideoEncodeRateControlLayerInfoKHR* in_struct) :
     sType(in_struct->sType),
     averageBitrate(in_struct->averageBitrate),
@@ -28971,13 +29053,14 @@
     flags(in_struct->flags),
     inputModeFlags(in_struct->inputModeFlags),
     outputModeFlags(in_struct->outputModeFlags),
-    minPictureSizeInMbs(in_struct->minPictureSizeInMbs),
-    maxPictureSizeInMbs(in_struct->maxPictureSizeInMbs),
-    inputImageDataAlignment(in_struct->inputImageDataAlignment),
-    maxNumL0ReferenceForP(in_struct->maxNumL0ReferenceForP),
-    maxNumL0ReferenceForB(in_struct->maxNumL0ReferenceForB),
-    maxNumL1Reference(in_struct->maxNumL1Reference),
-    qualityLevelCount(in_struct->qualityLevelCount),
+    maxPPictureL0ReferenceCount(in_struct->maxPPictureL0ReferenceCount),
+    maxBPictureL0ReferenceCount(in_struct->maxBPictureL0ReferenceCount),
+    maxL1ReferenceCount(in_struct->maxL1ReferenceCount),
+    motionVectorsOverPicBoundariesFlag(in_struct->motionVectorsOverPicBoundariesFlag),
+    maxBytesPerPicDenom(in_struct->maxBytesPerPicDenom),
+    maxBitsPerMbDenom(in_struct->maxBitsPerMbDenom),
+    log2MaxMvLengthHorizontal(in_struct->log2MaxMvLengthHorizontal),
+    log2MaxMvLengthVertical(in_struct->log2MaxMvLengthVertical),
     stdExtensionVersion(in_struct->stdExtensionVersion)
 {
     pNext = SafePnextCopy(in_struct->pNext);
@@ -28989,13 +29072,14 @@
     flags(),
     inputModeFlags(),
     outputModeFlags(),
-    minPictureSizeInMbs(),
-    maxPictureSizeInMbs(),
-    inputImageDataAlignment(),
-    maxNumL0ReferenceForP(),
-    maxNumL0ReferenceForB(),
-    maxNumL1Reference(),
-    qualityLevelCount(),
+    maxPPictureL0ReferenceCount(),
+    maxBPictureL0ReferenceCount(),
+    maxL1ReferenceCount(),
+    motionVectorsOverPicBoundariesFlag(),
+    maxBytesPerPicDenom(),
+    maxBitsPerMbDenom(),
+    log2MaxMvLengthHorizontal(),
+    log2MaxMvLengthVertical(),
     stdExtensionVersion()
 {}
 
@@ -29005,13 +29089,14 @@
     flags = copy_src.flags;
     inputModeFlags = copy_src.inputModeFlags;
     outputModeFlags = copy_src.outputModeFlags;
-    minPictureSizeInMbs = copy_src.minPictureSizeInMbs;
-    maxPictureSizeInMbs = copy_src.maxPictureSizeInMbs;
-    inputImageDataAlignment = copy_src.inputImageDataAlignment;
-    maxNumL0ReferenceForP = copy_src.maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = copy_src.maxNumL0ReferenceForB;
-    maxNumL1Reference = copy_src.maxNumL1Reference;
-    qualityLevelCount = copy_src.qualityLevelCount;
+    maxPPictureL0ReferenceCount = copy_src.maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = copy_src.maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = copy_src.maxL1ReferenceCount;
+    motionVectorsOverPicBoundariesFlag = copy_src.motionVectorsOverPicBoundariesFlag;
+    maxBytesPerPicDenom = copy_src.maxBytesPerPicDenom;
+    maxBitsPerMbDenom = copy_src.maxBitsPerMbDenom;
+    log2MaxMvLengthHorizontal = copy_src.log2MaxMvLengthHorizontal;
+    log2MaxMvLengthVertical = copy_src.log2MaxMvLengthVertical;
     stdExtensionVersion = copy_src.stdExtensionVersion;
     pNext = SafePnextCopy(copy_src.pNext);
 }
@@ -29027,13 +29112,14 @@
     flags = copy_src.flags;
     inputModeFlags = copy_src.inputModeFlags;
     outputModeFlags = copy_src.outputModeFlags;
-    minPictureSizeInMbs = copy_src.minPictureSizeInMbs;
-    maxPictureSizeInMbs = copy_src.maxPictureSizeInMbs;
-    inputImageDataAlignment = copy_src.inputImageDataAlignment;
-    maxNumL0ReferenceForP = copy_src.maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = copy_src.maxNumL0ReferenceForB;
-    maxNumL1Reference = copy_src.maxNumL1Reference;
-    qualityLevelCount = copy_src.qualityLevelCount;
+    maxPPictureL0ReferenceCount = copy_src.maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = copy_src.maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = copy_src.maxL1ReferenceCount;
+    motionVectorsOverPicBoundariesFlag = copy_src.motionVectorsOverPicBoundariesFlag;
+    maxBytesPerPicDenom = copy_src.maxBytesPerPicDenom;
+    maxBitsPerMbDenom = copy_src.maxBitsPerMbDenom;
+    log2MaxMvLengthHorizontal = copy_src.log2MaxMvLengthHorizontal;
+    log2MaxMvLengthVertical = copy_src.log2MaxMvLengthVertical;
     stdExtensionVersion = copy_src.stdExtensionVersion;
     pNext = SafePnextCopy(copy_src.pNext);
 
@@ -29052,13 +29138,14 @@
     flags = in_struct->flags;
     inputModeFlags = in_struct->inputModeFlags;
     outputModeFlags = in_struct->outputModeFlags;
-    minPictureSizeInMbs = in_struct->minPictureSizeInMbs;
-    maxPictureSizeInMbs = in_struct->maxPictureSizeInMbs;
-    inputImageDataAlignment = in_struct->inputImageDataAlignment;
-    maxNumL0ReferenceForP = in_struct->maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = in_struct->maxNumL0ReferenceForB;
-    maxNumL1Reference = in_struct->maxNumL1Reference;
-    qualityLevelCount = in_struct->qualityLevelCount;
+    maxPPictureL0ReferenceCount = in_struct->maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = in_struct->maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = in_struct->maxL1ReferenceCount;
+    motionVectorsOverPicBoundariesFlag = in_struct->motionVectorsOverPicBoundariesFlag;
+    maxBytesPerPicDenom = in_struct->maxBytesPerPicDenom;
+    maxBitsPerMbDenom = in_struct->maxBitsPerMbDenom;
+    log2MaxMvLengthHorizontal = in_struct->log2MaxMvLengthHorizontal;
+    log2MaxMvLengthVertical = in_struct->log2MaxMvLengthVertical;
     stdExtensionVersion = in_struct->stdExtensionVersion;
     pNext = SafePnextCopy(in_struct->pNext);
 }
@@ -29069,13 +29156,14 @@
     flags = copy_src->flags;
     inputModeFlags = copy_src->inputModeFlags;
     outputModeFlags = copy_src->outputModeFlags;
-    minPictureSizeInMbs = copy_src->minPictureSizeInMbs;
-    maxPictureSizeInMbs = copy_src->maxPictureSizeInMbs;
-    inputImageDataAlignment = copy_src->inputImageDataAlignment;
-    maxNumL0ReferenceForP = copy_src->maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = copy_src->maxNumL0ReferenceForB;
-    maxNumL1Reference = copy_src->maxNumL1Reference;
-    qualityLevelCount = copy_src->qualityLevelCount;
+    maxPPictureL0ReferenceCount = copy_src->maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = copy_src->maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = copy_src->maxL1ReferenceCount;
+    motionVectorsOverPicBoundariesFlag = copy_src->motionVectorsOverPicBoundariesFlag;
+    maxBytesPerPicDenom = copy_src->maxBytesPerPicDenom;
+    maxBitsPerMbDenom = copy_src->maxBitsPerMbDenom;
+    log2MaxMvLengthHorizontal = copy_src->log2MaxMvLengthHorizontal;
+    log2MaxMvLengthVertical = copy_src->log2MaxMvLengthVertical;
     stdExtensionVersion = copy_src->stdExtensionVersion;
     pNext = SafePnextCopy(copy_src->pNext);
 }
@@ -29384,11 +29472,11 @@
 safe_VkVideoEncodeH264DpbSlotInfoEXT::safe_VkVideoEncodeH264DpbSlotInfoEXT(const VkVideoEncodeH264DpbSlotInfoEXT* in_struct) :
     sType(in_struct->sType),
     slotIndex(in_struct->slotIndex),
-    pStdPictureInfo(nullptr)
+    pStdReferenceInfo(nullptr)
 {
     pNext = SafePnextCopy(in_struct->pNext);
-    if (in_struct->pStdPictureInfo) {
-        pStdPictureInfo = new StdVideoEncodeH264PictureInfo(*in_struct->pStdPictureInfo);
+    if (in_struct->pStdReferenceInfo) {
+        pStdReferenceInfo = new StdVideoEncodeH264ReferenceInfo(*in_struct->pStdReferenceInfo);
     }
 }
 
@@ -29396,17 +29484,17 @@
     sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT),
     pNext(nullptr),
     slotIndex(),
-    pStdPictureInfo(nullptr)
+    pStdReferenceInfo(nullptr)
 {}
 
 safe_VkVideoEncodeH264DpbSlotInfoEXT::safe_VkVideoEncodeH264DpbSlotInfoEXT(const safe_VkVideoEncodeH264DpbSlotInfoEXT& copy_src)
 {
     sType = copy_src.sType;
     slotIndex = copy_src.slotIndex;
-    pStdPictureInfo = nullptr;
+    pStdReferenceInfo = nullptr;
     pNext = SafePnextCopy(copy_src.pNext);
-    if (copy_src.pStdPictureInfo) {
-        pStdPictureInfo = new StdVideoEncodeH264PictureInfo(*copy_src.pStdPictureInfo);
+    if (copy_src.pStdReferenceInfo) {
+        pStdReferenceInfo = new StdVideoEncodeH264ReferenceInfo(*copy_src.pStdReferenceInfo);
     }
 }
 
@@ -29414,17 +29502,17 @@
 {
     if (&copy_src == this) return *this;
 
-    if (pStdPictureInfo)
-        delete pStdPictureInfo;
+    if (pStdReferenceInfo)
+        delete pStdReferenceInfo;
     if (pNext)
         FreePnextChain(pNext);
 
     sType = copy_src.sType;
     slotIndex = copy_src.slotIndex;
-    pStdPictureInfo = nullptr;
+    pStdReferenceInfo = nullptr;
     pNext = SafePnextCopy(copy_src.pNext);
-    if (copy_src.pStdPictureInfo) {
-        pStdPictureInfo = new StdVideoEncodeH264PictureInfo(*copy_src.pStdPictureInfo);
+    if (copy_src.pStdReferenceInfo) {
+        pStdReferenceInfo = new StdVideoEncodeH264ReferenceInfo(*copy_src.pStdReferenceInfo);
     }
 
     return *this;
@@ -29432,8 +29520,8 @@
 
 safe_VkVideoEncodeH264DpbSlotInfoEXT::~safe_VkVideoEncodeH264DpbSlotInfoEXT()
 {
-    if (pStdPictureInfo)
-        delete pStdPictureInfo;
+    if (pStdReferenceInfo)
+        delete pStdReferenceInfo;
     if (pNext)
         FreePnextChain(pNext);
 }
@@ -29442,10 +29530,10 @@
 {
     sType = in_struct->sType;
     slotIndex = in_struct->slotIndex;
-    pStdPictureInfo = nullptr;
+    pStdReferenceInfo = nullptr;
     pNext = SafePnextCopy(in_struct->pNext);
-    if (in_struct->pStdPictureInfo) {
-        pStdPictureInfo = new StdVideoEncodeH264PictureInfo(*in_struct->pStdPictureInfo);
+    if (in_struct->pStdReferenceInfo) {
+        pStdReferenceInfo = new StdVideoEncodeH264ReferenceInfo(*in_struct->pStdReferenceInfo);
     }
 }
 
@@ -29453,10 +29541,179 @@
 {
     sType = copy_src->sType;
     slotIndex = copy_src->slotIndex;
-    pStdPictureInfo = nullptr;
+    pStdReferenceInfo = nullptr;
     pNext = SafePnextCopy(copy_src->pNext);
-    if (copy_src->pStdPictureInfo) {
-        pStdPictureInfo = new StdVideoEncodeH264PictureInfo(*copy_src->pStdPictureInfo);
+    if (copy_src->pStdReferenceInfo) {
+        pStdReferenceInfo = new StdVideoEncodeH264ReferenceInfo(*copy_src->pStdReferenceInfo);
+    }
+}
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+
+
+safe_VkVideoEncodeH264ReferenceListsEXT::safe_VkVideoEncodeH264ReferenceListsEXT(const VkVideoEncodeH264ReferenceListsEXT* in_struct) :
+    sType(in_struct->sType),
+    referenceList0EntryCount(in_struct->referenceList0EntryCount),
+    pReferenceList0Entries(nullptr),
+    referenceList1EntryCount(in_struct->referenceList1EntryCount),
+    pReferenceList1Entries(nullptr),
+    pMemMgmtCtrlOperations(nullptr)
+{
+    pNext = SafePnextCopy(in_struct->pNext);
+    if (referenceList0EntryCount && in_struct->pReferenceList0Entries) {
+        pReferenceList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList0EntryCount];
+        for (uint32_t i = 0; i < referenceList0EntryCount; ++i) {
+            pReferenceList0Entries[i].initialize(&in_struct->pReferenceList0Entries[i]);
+        }
+    }
+    if (referenceList1EntryCount && in_struct->pReferenceList1Entries) {
+        pReferenceList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList1EntryCount];
+        for (uint32_t i = 0; i < referenceList1EntryCount; ++i) {
+            pReferenceList1Entries[i].initialize(&in_struct->pReferenceList1Entries[i]);
+        }
+    }
+    if (in_struct->pMemMgmtCtrlOperations) {
+        pMemMgmtCtrlOperations = new StdVideoEncodeH264RefMemMgmtCtrlOperations(*in_struct->pMemMgmtCtrlOperations);
+    }
+}
+
+safe_VkVideoEncodeH264ReferenceListsEXT::safe_VkVideoEncodeH264ReferenceListsEXT() :
+    sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT),
+    pNext(nullptr),
+    referenceList0EntryCount(),
+    pReferenceList0Entries(nullptr),
+    referenceList1EntryCount(),
+    pReferenceList1Entries(nullptr),
+    pMemMgmtCtrlOperations(nullptr)
+{}
+
+safe_VkVideoEncodeH264ReferenceListsEXT::safe_VkVideoEncodeH264ReferenceListsEXT(const safe_VkVideoEncodeH264ReferenceListsEXT& copy_src)
+{
+    sType = copy_src.sType;
+    referenceList0EntryCount = copy_src.referenceList0EntryCount;
+    pReferenceList0Entries = nullptr;
+    referenceList1EntryCount = copy_src.referenceList1EntryCount;
+    pReferenceList1Entries = nullptr;
+    pMemMgmtCtrlOperations = nullptr;
+    pNext = SafePnextCopy(copy_src.pNext);
+    if (referenceList0EntryCount && copy_src.pReferenceList0Entries) {
+        pReferenceList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList0EntryCount];
+        for (uint32_t i = 0; i < referenceList0EntryCount; ++i) {
+            pReferenceList0Entries[i].initialize(&copy_src.pReferenceList0Entries[i]);
+        }
+    }
+    if (referenceList1EntryCount && copy_src.pReferenceList1Entries) {
+        pReferenceList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList1EntryCount];
+        for (uint32_t i = 0; i < referenceList1EntryCount; ++i) {
+            pReferenceList1Entries[i].initialize(&copy_src.pReferenceList1Entries[i]);
+        }
+    }
+    if (copy_src.pMemMgmtCtrlOperations) {
+        pMemMgmtCtrlOperations = new StdVideoEncodeH264RefMemMgmtCtrlOperations(*copy_src.pMemMgmtCtrlOperations);
+    }
+}
+
+safe_VkVideoEncodeH264ReferenceListsEXT& safe_VkVideoEncodeH264ReferenceListsEXT::operator=(const safe_VkVideoEncodeH264ReferenceListsEXT& copy_src)
+{
+    if (&copy_src == this) return *this;
+
+    if (pReferenceList0Entries)
+        delete[] pReferenceList0Entries;
+    if (pReferenceList1Entries)
+        delete[] pReferenceList1Entries;
+    if (pMemMgmtCtrlOperations)
+        delete pMemMgmtCtrlOperations;
+    if (pNext)
+        FreePnextChain(pNext);
+
+    sType = copy_src.sType;
+    referenceList0EntryCount = copy_src.referenceList0EntryCount;
+    pReferenceList0Entries = nullptr;
+    referenceList1EntryCount = copy_src.referenceList1EntryCount;
+    pReferenceList1Entries = nullptr;
+    pMemMgmtCtrlOperations = nullptr;
+    pNext = SafePnextCopy(copy_src.pNext);
+    if (referenceList0EntryCount && copy_src.pReferenceList0Entries) {
+        pReferenceList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList0EntryCount];
+        for (uint32_t i = 0; i < referenceList0EntryCount; ++i) {
+            pReferenceList0Entries[i].initialize(&copy_src.pReferenceList0Entries[i]);
+        }
+    }
+    if (referenceList1EntryCount && copy_src.pReferenceList1Entries) {
+        pReferenceList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList1EntryCount];
+        for (uint32_t i = 0; i < referenceList1EntryCount; ++i) {
+            pReferenceList1Entries[i].initialize(&copy_src.pReferenceList1Entries[i]);
+        }
+    }
+    if (copy_src.pMemMgmtCtrlOperations) {
+        pMemMgmtCtrlOperations = new StdVideoEncodeH264RefMemMgmtCtrlOperations(*copy_src.pMemMgmtCtrlOperations);
+    }
+
+    return *this;
+}
+
+safe_VkVideoEncodeH264ReferenceListsEXT::~safe_VkVideoEncodeH264ReferenceListsEXT()
+{
+    if (pReferenceList0Entries)
+        delete[] pReferenceList0Entries;
+    if (pReferenceList1Entries)
+        delete[] pReferenceList1Entries;
+    if (pMemMgmtCtrlOperations)
+        delete pMemMgmtCtrlOperations;
+    if (pNext)
+        FreePnextChain(pNext);
+}
+
+void safe_VkVideoEncodeH264ReferenceListsEXT::initialize(const VkVideoEncodeH264ReferenceListsEXT* in_struct)
+{
+    sType = in_struct->sType;
+    referenceList0EntryCount = in_struct->referenceList0EntryCount;
+    pReferenceList0Entries = nullptr;
+    referenceList1EntryCount = in_struct->referenceList1EntryCount;
+    pReferenceList1Entries = nullptr;
+    pMemMgmtCtrlOperations = nullptr;
+    pNext = SafePnextCopy(in_struct->pNext);
+    if (referenceList0EntryCount && in_struct->pReferenceList0Entries) {
+        pReferenceList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList0EntryCount];
+        for (uint32_t i = 0; i < referenceList0EntryCount; ++i) {
+            pReferenceList0Entries[i].initialize(&in_struct->pReferenceList0Entries[i]);
+        }
+    }
+    if (referenceList1EntryCount && in_struct->pReferenceList1Entries) {
+        pReferenceList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList1EntryCount];
+        for (uint32_t i = 0; i < referenceList1EntryCount; ++i) {
+            pReferenceList1Entries[i].initialize(&in_struct->pReferenceList1Entries[i]);
+        }
+    }
+    if (in_struct->pMemMgmtCtrlOperations) {
+        pMemMgmtCtrlOperations = new StdVideoEncodeH264RefMemMgmtCtrlOperations(*in_struct->pMemMgmtCtrlOperations);
+    }
+}
+
+void safe_VkVideoEncodeH264ReferenceListsEXT::initialize(const safe_VkVideoEncodeH264ReferenceListsEXT* copy_src)
+{
+    sType = copy_src->sType;
+    referenceList0EntryCount = copy_src->referenceList0EntryCount;
+    pReferenceList0Entries = nullptr;
+    referenceList1EntryCount = copy_src->referenceList1EntryCount;
+    pReferenceList1Entries = nullptr;
+    pMemMgmtCtrlOperations = nullptr;
+    pNext = SafePnextCopy(copy_src->pNext);
+    if (referenceList0EntryCount && copy_src->pReferenceList0Entries) {
+        pReferenceList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList0EntryCount];
+        for (uint32_t i = 0; i < referenceList0EntryCount; ++i) {
+            pReferenceList0Entries[i].initialize(&copy_src->pReferenceList0Entries[i]);
+        }
+    }
+    if (referenceList1EntryCount && copy_src->pReferenceList1Entries) {
+        pReferenceList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[referenceList1EntryCount];
+        for (uint32_t i = 0; i < referenceList1EntryCount; ++i) {
+            pReferenceList1Entries[i].initialize(&copy_src->pReferenceList1Entries[i]);
+        }
+    }
+    if (copy_src->pMemMgmtCtrlOperations) {
+        pMemMgmtCtrlOperations = new StdVideoEncodeH264RefMemMgmtCtrlOperations(*copy_src->pMemMgmtCtrlOperations);
     }
 }
 #endif // VK_ENABLE_BETA_EXTENSIONS
@@ -29466,117 +29723,71 @@
 
 safe_VkVideoEncodeH264NaluSliceEXT::safe_VkVideoEncodeH264NaluSliceEXT(const VkVideoEncodeH264NaluSliceEXT* in_struct) :
     sType(in_struct->sType),
-    pSliceHeaderStd(nullptr),
     mbCount(in_struct->mbCount),
-    refFinalList0EntryCount(in_struct->refFinalList0EntryCount),
-    pRefFinalList0Entries(nullptr),
-    refFinalList1EntryCount(in_struct->refFinalList1EntryCount),
-    pRefFinalList1Entries(nullptr)
+    pReferenceFinalLists(nullptr),
+    pSliceHeaderStd(nullptr)
 {
     pNext = SafePnextCopy(in_struct->pNext);
+    if (in_struct->pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(in_struct->pReferenceFinalLists);
     if (in_struct->pSliceHeaderStd) {
         pSliceHeaderStd = new StdVideoEncodeH264SliceHeader(*in_struct->pSliceHeaderStd);
     }
-    if (refFinalList0EntryCount && in_struct->pRefFinalList0Entries) {
-        pRefFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList0EntryCount];
-        for (uint32_t i = 0; i < refFinalList0EntryCount; ++i) {
-            pRefFinalList0Entries[i].initialize(&in_struct->pRefFinalList0Entries[i]);
-        }
-    }
-    if (refFinalList1EntryCount && in_struct->pRefFinalList1Entries) {
-        pRefFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList1EntryCount];
-        for (uint32_t i = 0; i < refFinalList1EntryCount; ++i) {
-            pRefFinalList1Entries[i].initialize(&in_struct->pRefFinalList1Entries[i]);
-        }
-    }
 }
 
 safe_VkVideoEncodeH264NaluSliceEXT::safe_VkVideoEncodeH264NaluSliceEXT() :
     sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT),
     pNext(nullptr),
-    pSliceHeaderStd(nullptr),
     mbCount(),
-    refFinalList0EntryCount(),
-    pRefFinalList0Entries(nullptr),
-    refFinalList1EntryCount(),
-    pRefFinalList1Entries(nullptr)
+    pReferenceFinalLists(nullptr),
+    pSliceHeaderStd(nullptr)
 {}
 
 safe_VkVideoEncodeH264NaluSliceEXT::safe_VkVideoEncodeH264NaluSliceEXT(const safe_VkVideoEncodeH264NaluSliceEXT& copy_src)
 {
     sType = copy_src.sType;
-    pSliceHeaderStd = nullptr;
     mbCount = copy_src.mbCount;
-    refFinalList0EntryCount = copy_src.refFinalList0EntryCount;
-    pRefFinalList0Entries = nullptr;
-    refFinalList1EntryCount = copy_src.refFinalList1EntryCount;
-    pRefFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
+    pSliceHeaderStd = nullptr;
     pNext = SafePnextCopy(copy_src.pNext);
+    if (copy_src.pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(*copy_src.pReferenceFinalLists);
     if (copy_src.pSliceHeaderStd) {
         pSliceHeaderStd = new StdVideoEncodeH264SliceHeader(*copy_src.pSliceHeaderStd);
     }
-    if (refFinalList0EntryCount && copy_src.pRefFinalList0Entries) {
-        pRefFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList0EntryCount];
-        for (uint32_t i = 0; i < refFinalList0EntryCount; ++i) {
-            pRefFinalList0Entries[i].initialize(&copy_src.pRefFinalList0Entries[i]);
-        }
-    }
-    if (refFinalList1EntryCount && copy_src.pRefFinalList1Entries) {
-        pRefFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList1EntryCount];
-        for (uint32_t i = 0; i < refFinalList1EntryCount; ++i) {
-            pRefFinalList1Entries[i].initialize(&copy_src.pRefFinalList1Entries[i]);
-        }
-    }
 }
 
 safe_VkVideoEncodeH264NaluSliceEXT& safe_VkVideoEncodeH264NaluSliceEXT::operator=(const safe_VkVideoEncodeH264NaluSliceEXT& copy_src)
 {
     if (&copy_src == this) return *this;
 
+    if (pReferenceFinalLists)
+        delete pReferenceFinalLists;
     if (pSliceHeaderStd)
         delete pSliceHeaderStd;
-    if (pRefFinalList0Entries)
-        delete[] pRefFinalList0Entries;
-    if (pRefFinalList1Entries)
-        delete[] pRefFinalList1Entries;
     if (pNext)
         FreePnextChain(pNext);
 
     sType = copy_src.sType;
-    pSliceHeaderStd = nullptr;
     mbCount = copy_src.mbCount;
-    refFinalList0EntryCount = copy_src.refFinalList0EntryCount;
-    pRefFinalList0Entries = nullptr;
-    refFinalList1EntryCount = copy_src.refFinalList1EntryCount;
-    pRefFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
+    pSliceHeaderStd = nullptr;
     pNext = SafePnextCopy(copy_src.pNext);
+    if (copy_src.pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(*copy_src.pReferenceFinalLists);
     if (copy_src.pSliceHeaderStd) {
         pSliceHeaderStd = new StdVideoEncodeH264SliceHeader(*copy_src.pSliceHeaderStd);
     }
-    if (refFinalList0EntryCount && copy_src.pRefFinalList0Entries) {
-        pRefFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList0EntryCount];
-        for (uint32_t i = 0; i < refFinalList0EntryCount; ++i) {
-            pRefFinalList0Entries[i].initialize(&copy_src.pRefFinalList0Entries[i]);
-        }
-    }
-    if (refFinalList1EntryCount && copy_src.pRefFinalList1Entries) {
-        pRefFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList1EntryCount];
-        for (uint32_t i = 0; i < refFinalList1EntryCount; ++i) {
-            pRefFinalList1Entries[i].initialize(&copy_src.pRefFinalList1Entries[i]);
-        }
-    }
 
     return *this;
 }
 
 safe_VkVideoEncodeH264NaluSliceEXT::~safe_VkVideoEncodeH264NaluSliceEXT()
 {
+    if (pReferenceFinalLists)
+        delete pReferenceFinalLists;
     if (pSliceHeaderStd)
         delete pSliceHeaderStd;
-    if (pRefFinalList0Entries)
-        delete[] pRefFinalList0Entries;
-    if (pRefFinalList1Entries)
-        delete[] pRefFinalList1Entries;
     if (pNext)
         FreePnextChain(pNext);
 }
@@ -29584,55 +29795,29 @@
 void safe_VkVideoEncodeH264NaluSliceEXT::initialize(const VkVideoEncodeH264NaluSliceEXT* in_struct)
 {
     sType = in_struct->sType;
-    pSliceHeaderStd = nullptr;
     mbCount = in_struct->mbCount;
-    refFinalList0EntryCount = in_struct->refFinalList0EntryCount;
-    pRefFinalList0Entries = nullptr;
-    refFinalList1EntryCount = in_struct->refFinalList1EntryCount;
-    pRefFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
+    pSliceHeaderStd = nullptr;
     pNext = SafePnextCopy(in_struct->pNext);
+    if (in_struct->pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(in_struct->pReferenceFinalLists);
     if (in_struct->pSliceHeaderStd) {
         pSliceHeaderStd = new StdVideoEncodeH264SliceHeader(*in_struct->pSliceHeaderStd);
     }
-    if (refFinalList0EntryCount && in_struct->pRefFinalList0Entries) {
-        pRefFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList0EntryCount];
-        for (uint32_t i = 0; i < refFinalList0EntryCount; ++i) {
-            pRefFinalList0Entries[i].initialize(&in_struct->pRefFinalList0Entries[i]);
-        }
-    }
-    if (refFinalList1EntryCount && in_struct->pRefFinalList1Entries) {
-        pRefFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList1EntryCount];
-        for (uint32_t i = 0; i < refFinalList1EntryCount; ++i) {
-            pRefFinalList1Entries[i].initialize(&in_struct->pRefFinalList1Entries[i]);
-        }
-    }
 }
 
 void safe_VkVideoEncodeH264NaluSliceEXT::initialize(const safe_VkVideoEncodeH264NaluSliceEXT* copy_src)
 {
     sType = copy_src->sType;
-    pSliceHeaderStd = nullptr;
     mbCount = copy_src->mbCount;
-    refFinalList0EntryCount = copy_src->refFinalList0EntryCount;
-    pRefFinalList0Entries = nullptr;
-    refFinalList1EntryCount = copy_src->refFinalList1EntryCount;
-    pRefFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
+    pSliceHeaderStd = nullptr;
     pNext = SafePnextCopy(copy_src->pNext);
+    if (copy_src->pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(*copy_src->pReferenceFinalLists);
     if (copy_src->pSliceHeaderStd) {
         pSliceHeaderStd = new StdVideoEncodeH264SliceHeader(*copy_src->pSliceHeaderStd);
     }
-    if (refFinalList0EntryCount && copy_src->pRefFinalList0Entries) {
-        pRefFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList0EntryCount];
-        for (uint32_t i = 0; i < refFinalList0EntryCount; ++i) {
-            pRefFinalList0Entries[i].initialize(&copy_src->pRefFinalList0Entries[i]);
-        }
-    }
-    if (refFinalList1EntryCount && copy_src->pRefFinalList1Entries) {
-        pRefFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refFinalList1EntryCount];
-        for (uint32_t i = 0; i < refFinalList1EntryCount; ++i) {
-            pRefFinalList1Entries[i].initialize(&copy_src->pRefFinalList1Entries[i]);
-        }
-    }
 }
 #endif // VK_ENABLE_BETA_EXTENSIONS
 
@@ -29641,44 +29826,29 @@
 
 safe_VkVideoEncodeH264VclFrameInfoEXT::safe_VkVideoEncodeH264VclFrameInfoEXT(const VkVideoEncodeH264VclFrameInfoEXT* in_struct) :
     sType(in_struct->sType),
-    refDefaultFinalList0EntryCount(in_struct->refDefaultFinalList0EntryCount),
-    pRefDefaultFinalList0Entries(nullptr),
-    refDefaultFinalList1EntryCount(in_struct->refDefaultFinalList1EntryCount),
-    pRefDefaultFinalList1Entries(nullptr),
+    pReferenceFinalLists(nullptr),
     naluSliceEntryCount(in_struct->naluSliceEntryCount),
     pNaluSliceEntries(nullptr),
     pCurrentPictureInfo(nullptr)
 {
     pNext = SafePnextCopy(in_struct->pNext);
-    if (refDefaultFinalList0EntryCount && in_struct->pRefDefaultFinalList0Entries) {
-        pRefDefaultFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList0EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList0EntryCount; ++i) {
-            pRefDefaultFinalList0Entries[i].initialize(&in_struct->pRefDefaultFinalList0Entries[i]);
-        }
-    }
-    if (refDefaultFinalList1EntryCount && in_struct->pRefDefaultFinalList1Entries) {
-        pRefDefaultFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList1EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList1EntryCount; ++i) {
-            pRefDefaultFinalList1Entries[i].initialize(&in_struct->pRefDefaultFinalList1Entries[i]);
-        }
-    }
+    if (in_struct->pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(in_struct->pReferenceFinalLists);
     if (naluSliceEntryCount && in_struct->pNaluSliceEntries) {
         pNaluSliceEntries = new safe_VkVideoEncodeH264NaluSliceEXT[naluSliceEntryCount];
         for (uint32_t i = 0; i < naluSliceEntryCount; ++i) {
             pNaluSliceEntries[i].initialize(&in_struct->pNaluSliceEntries[i]);
         }
     }
-    if (in_struct->pCurrentPictureInfo)
-        pCurrentPictureInfo = new safe_VkVideoEncodeH264DpbSlotInfoEXT(in_struct->pCurrentPictureInfo);
+    if (in_struct->pCurrentPictureInfo) {
+        pCurrentPictureInfo = new StdVideoEncodeH264PictureInfo(*in_struct->pCurrentPictureInfo);
+    }
 }
 
 safe_VkVideoEncodeH264VclFrameInfoEXT::safe_VkVideoEncodeH264VclFrameInfoEXT() :
     sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT),
     pNext(nullptr),
-    refDefaultFinalList0EntryCount(),
-    pRefDefaultFinalList0Entries(nullptr),
-    refDefaultFinalList1EntryCount(),
-    pRefDefaultFinalList1Entries(nullptr),
+    pReferenceFinalLists(nullptr),
     naluSliceEntryCount(),
     pNaluSliceEntries(nullptr),
     pCurrentPictureInfo(nullptr)
@@ -29687,44 +29857,30 @@
 safe_VkVideoEncodeH264VclFrameInfoEXT::safe_VkVideoEncodeH264VclFrameInfoEXT(const safe_VkVideoEncodeH264VclFrameInfoEXT& copy_src)
 {
     sType = copy_src.sType;
-    refDefaultFinalList0EntryCount = copy_src.refDefaultFinalList0EntryCount;
-    pRefDefaultFinalList0Entries = nullptr;
-    refDefaultFinalList1EntryCount = copy_src.refDefaultFinalList1EntryCount;
-    pRefDefaultFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
     naluSliceEntryCount = copy_src.naluSliceEntryCount;
     pNaluSliceEntries = nullptr;
     pCurrentPictureInfo = nullptr;
     pNext = SafePnextCopy(copy_src.pNext);
-    if (refDefaultFinalList0EntryCount && copy_src.pRefDefaultFinalList0Entries) {
-        pRefDefaultFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList0EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList0EntryCount; ++i) {
-            pRefDefaultFinalList0Entries[i].initialize(&copy_src.pRefDefaultFinalList0Entries[i]);
-        }
-    }
-    if (refDefaultFinalList1EntryCount && copy_src.pRefDefaultFinalList1Entries) {
-        pRefDefaultFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList1EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList1EntryCount; ++i) {
-            pRefDefaultFinalList1Entries[i].initialize(&copy_src.pRefDefaultFinalList1Entries[i]);
-        }
-    }
+    if (copy_src.pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(*copy_src.pReferenceFinalLists);
     if (naluSliceEntryCount && copy_src.pNaluSliceEntries) {
         pNaluSliceEntries = new safe_VkVideoEncodeH264NaluSliceEXT[naluSliceEntryCount];
         for (uint32_t i = 0; i < naluSliceEntryCount; ++i) {
             pNaluSliceEntries[i].initialize(&copy_src.pNaluSliceEntries[i]);
         }
     }
-    if (copy_src.pCurrentPictureInfo)
-        pCurrentPictureInfo = new safe_VkVideoEncodeH264DpbSlotInfoEXT(*copy_src.pCurrentPictureInfo);
+    if (copy_src.pCurrentPictureInfo) {
+        pCurrentPictureInfo = new StdVideoEncodeH264PictureInfo(*copy_src.pCurrentPictureInfo);
+    }
 }
 
 safe_VkVideoEncodeH264VclFrameInfoEXT& safe_VkVideoEncodeH264VclFrameInfoEXT::operator=(const safe_VkVideoEncodeH264VclFrameInfoEXT& copy_src)
 {
     if (&copy_src == this) return *this;
 
-    if (pRefDefaultFinalList0Entries)
-        delete[] pRefDefaultFinalList0Entries;
-    if (pRefDefaultFinalList1Entries)
-        delete[] pRefDefaultFinalList1Entries;
+    if (pReferenceFinalLists)
+        delete pReferenceFinalLists;
     if (pNaluSliceEntries)
         delete[] pNaluSliceEntries;
     if (pCurrentPictureInfo)
@@ -29733,44 +29889,30 @@
         FreePnextChain(pNext);
 
     sType = copy_src.sType;
-    refDefaultFinalList0EntryCount = copy_src.refDefaultFinalList0EntryCount;
-    pRefDefaultFinalList0Entries = nullptr;
-    refDefaultFinalList1EntryCount = copy_src.refDefaultFinalList1EntryCount;
-    pRefDefaultFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
     naluSliceEntryCount = copy_src.naluSliceEntryCount;
     pNaluSliceEntries = nullptr;
     pCurrentPictureInfo = nullptr;
     pNext = SafePnextCopy(copy_src.pNext);
-    if (refDefaultFinalList0EntryCount && copy_src.pRefDefaultFinalList0Entries) {
-        pRefDefaultFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList0EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList0EntryCount; ++i) {
-            pRefDefaultFinalList0Entries[i].initialize(&copy_src.pRefDefaultFinalList0Entries[i]);
-        }
-    }
-    if (refDefaultFinalList1EntryCount && copy_src.pRefDefaultFinalList1Entries) {
-        pRefDefaultFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList1EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList1EntryCount; ++i) {
-            pRefDefaultFinalList1Entries[i].initialize(&copy_src.pRefDefaultFinalList1Entries[i]);
-        }
-    }
+    if (copy_src.pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(*copy_src.pReferenceFinalLists);
     if (naluSliceEntryCount && copy_src.pNaluSliceEntries) {
         pNaluSliceEntries = new safe_VkVideoEncodeH264NaluSliceEXT[naluSliceEntryCount];
         for (uint32_t i = 0; i < naluSliceEntryCount; ++i) {
             pNaluSliceEntries[i].initialize(&copy_src.pNaluSliceEntries[i]);
         }
     }
-    if (copy_src.pCurrentPictureInfo)
-        pCurrentPictureInfo = new safe_VkVideoEncodeH264DpbSlotInfoEXT(*copy_src.pCurrentPictureInfo);
+    if (copy_src.pCurrentPictureInfo) {
+        pCurrentPictureInfo = new StdVideoEncodeH264PictureInfo(*copy_src.pCurrentPictureInfo);
+    }
 
     return *this;
 }
 
 safe_VkVideoEncodeH264VclFrameInfoEXT::~safe_VkVideoEncodeH264VclFrameInfoEXT()
 {
-    if (pRefDefaultFinalList0Entries)
-        delete[] pRefDefaultFinalList0Entries;
-    if (pRefDefaultFinalList1Entries)
-        delete[] pRefDefaultFinalList1Entries;
+    if (pReferenceFinalLists)
+        delete pReferenceFinalLists;
     if (pNaluSliceEntries)
         delete[] pNaluSliceEntries;
     if (pCurrentPictureInfo)
@@ -29782,67 +29924,43 @@
 void safe_VkVideoEncodeH264VclFrameInfoEXT::initialize(const VkVideoEncodeH264VclFrameInfoEXT* in_struct)
 {
     sType = in_struct->sType;
-    refDefaultFinalList0EntryCount = in_struct->refDefaultFinalList0EntryCount;
-    pRefDefaultFinalList0Entries = nullptr;
-    refDefaultFinalList1EntryCount = in_struct->refDefaultFinalList1EntryCount;
-    pRefDefaultFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
     naluSliceEntryCount = in_struct->naluSliceEntryCount;
     pNaluSliceEntries = nullptr;
     pCurrentPictureInfo = nullptr;
     pNext = SafePnextCopy(in_struct->pNext);
-    if (refDefaultFinalList0EntryCount && in_struct->pRefDefaultFinalList0Entries) {
-        pRefDefaultFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList0EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList0EntryCount; ++i) {
-            pRefDefaultFinalList0Entries[i].initialize(&in_struct->pRefDefaultFinalList0Entries[i]);
-        }
-    }
-    if (refDefaultFinalList1EntryCount && in_struct->pRefDefaultFinalList1Entries) {
-        pRefDefaultFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList1EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList1EntryCount; ++i) {
-            pRefDefaultFinalList1Entries[i].initialize(&in_struct->pRefDefaultFinalList1Entries[i]);
-        }
-    }
+    if (in_struct->pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(in_struct->pReferenceFinalLists);
     if (naluSliceEntryCount && in_struct->pNaluSliceEntries) {
         pNaluSliceEntries = new safe_VkVideoEncodeH264NaluSliceEXT[naluSliceEntryCount];
         for (uint32_t i = 0; i < naluSliceEntryCount; ++i) {
             pNaluSliceEntries[i].initialize(&in_struct->pNaluSliceEntries[i]);
         }
     }
-    if (in_struct->pCurrentPictureInfo)
-        pCurrentPictureInfo = new safe_VkVideoEncodeH264DpbSlotInfoEXT(in_struct->pCurrentPictureInfo);
+    if (in_struct->pCurrentPictureInfo) {
+        pCurrentPictureInfo = new StdVideoEncodeH264PictureInfo(*in_struct->pCurrentPictureInfo);
+    }
 }
 
 void safe_VkVideoEncodeH264VclFrameInfoEXT::initialize(const safe_VkVideoEncodeH264VclFrameInfoEXT* copy_src)
 {
     sType = copy_src->sType;
-    refDefaultFinalList0EntryCount = copy_src->refDefaultFinalList0EntryCount;
-    pRefDefaultFinalList0Entries = nullptr;
-    refDefaultFinalList1EntryCount = copy_src->refDefaultFinalList1EntryCount;
-    pRefDefaultFinalList1Entries = nullptr;
+    pReferenceFinalLists = nullptr;
     naluSliceEntryCount = copy_src->naluSliceEntryCount;
     pNaluSliceEntries = nullptr;
     pCurrentPictureInfo = nullptr;
     pNext = SafePnextCopy(copy_src->pNext);
-    if (refDefaultFinalList0EntryCount && copy_src->pRefDefaultFinalList0Entries) {
-        pRefDefaultFinalList0Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList0EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList0EntryCount; ++i) {
-            pRefDefaultFinalList0Entries[i].initialize(&copy_src->pRefDefaultFinalList0Entries[i]);
-        }
-    }
-    if (refDefaultFinalList1EntryCount && copy_src->pRefDefaultFinalList1Entries) {
-        pRefDefaultFinalList1Entries = new safe_VkVideoEncodeH264DpbSlotInfoEXT[refDefaultFinalList1EntryCount];
-        for (uint32_t i = 0; i < refDefaultFinalList1EntryCount; ++i) {
-            pRefDefaultFinalList1Entries[i].initialize(&copy_src->pRefDefaultFinalList1Entries[i]);
-        }
-    }
+    if (copy_src->pReferenceFinalLists)
+        pReferenceFinalLists = new safe_VkVideoEncodeH264ReferenceListsEXT(*copy_src->pReferenceFinalLists);
     if (naluSliceEntryCount && copy_src->pNaluSliceEntries) {
         pNaluSliceEntries = new safe_VkVideoEncodeH264NaluSliceEXT[naluSliceEntryCount];
         for (uint32_t i = 0; i < naluSliceEntryCount; ++i) {
             pNaluSliceEntries[i].initialize(&copy_src->pNaluSliceEntries[i]);
         }
     }
-    if (copy_src->pCurrentPictureInfo)
-        pCurrentPictureInfo = new safe_VkVideoEncodeH264DpbSlotInfoEXT(*copy_src->pCurrentPictureInfo);
+    if (copy_src->pCurrentPictureInfo) {
+        pCurrentPictureInfo = new StdVideoEncodeH264PictureInfo(*copy_src->pCurrentPictureInfo);
+    }
 }
 #endif // VK_ENABLE_BETA_EXTENSIONS
 
@@ -30201,12 +30319,22 @@
     inputModeFlags(in_struct->inputModeFlags),
     outputModeFlags(in_struct->outputModeFlags),
     ctbSizes(in_struct->ctbSizes),
-    inputImageDataAlignment(in_struct->inputImageDataAlignment),
-    maxNumL0ReferenceForP(in_struct->maxNumL0ReferenceForP),
-    maxNumL0ReferenceForB(in_struct->maxNumL0ReferenceForB),
-    maxNumL1Reference(in_struct->maxNumL1Reference),
-    maxNumSubLayers(in_struct->maxNumSubLayers),
-    qualityLevelCount(in_struct->qualityLevelCount),
+    transformBlockSizes(in_struct->transformBlockSizes),
+    maxPPictureL0ReferenceCount(in_struct->maxPPictureL0ReferenceCount),
+    maxBPictureL0ReferenceCount(in_struct->maxBPictureL0ReferenceCount),
+    maxL1ReferenceCount(in_struct->maxL1ReferenceCount),
+    maxSubLayersCount(in_struct->maxSubLayersCount),
+    minLog2MinLumaCodingBlockSizeMinus3(in_struct->minLog2MinLumaCodingBlockSizeMinus3),
+    maxLog2MinLumaCodingBlockSizeMinus3(in_struct->maxLog2MinLumaCodingBlockSizeMinus3),
+    minLog2MinLumaTransformBlockSizeMinus2(in_struct->minLog2MinLumaTransformBlockSizeMinus2),
+    maxLog2MinLumaTransformBlockSizeMinus2(in_struct->maxLog2MinLumaTransformBlockSizeMinus2),
+    minMaxTransformHierarchyDepthInter(in_struct->minMaxTransformHierarchyDepthInter),
+    maxMaxTransformHierarchyDepthInter(in_struct->maxMaxTransformHierarchyDepthInter),
+    minMaxTransformHierarchyDepthIntra(in_struct->minMaxTransformHierarchyDepthIntra),
+    maxMaxTransformHierarchyDepthIntra(in_struct->maxMaxTransformHierarchyDepthIntra),
+    maxDiffCuQpDeltaDepth(in_struct->maxDiffCuQpDeltaDepth),
+    minMaxNumMergeCand(in_struct->minMaxNumMergeCand),
+    maxMaxNumMergeCand(in_struct->maxMaxNumMergeCand),
     stdExtensionVersion(in_struct->stdExtensionVersion)
 {
     pNext = SafePnextCopy(in_struct->pNext);
@@ -30219,12 +30347,22 @@
     inputModeFlags(),
     outputModeFlags(),
     ctbSizes(),
-    inputImageDataAlignment(),
-    maxNumL0ReferenceForP(),
-    maxNumL0ReferenceForB(),
-    maxNumL1Reference(),
-    maxNumSubLayers(),
-    qualityLevelCount(),
+    transformBlockSizes(),
+    maxPPictureL0ReferenceCount(),
+    maxBPictureL0ReferenceCount(),
+    maxL1ReferenceCount(),
+    maxSubLayersCount(),
+    minLog2MinLumaCodingBlockSizeMinus3(),
+    maxLog2MinLumaCodingBlockSizeMinus3(),
+    minLog2MinLumaTransformBlockSizeMinus2(),
+    maxLog2MinLumaTransformBlockSizeMinus2(),
+    minMaxTransformHierarchyDepthInter(),
+    maxMaxTransformHierarchyDepthInter(),
+    minMaxTransformHierarchyDepthIntra(),
+    maxMaxTransformHierarchyDepthIntra(),
+    maxDiffCuQpDeltaDepth(),
+    minMaxNumMergeCand(),
+    maxMaxNumMergeCand(),
     stdExtensionVersion()
 {}
 
@@ -30235,12 +30373,22 @@
     inputModeFlags = copy_src.inputModeFlags;
     outputModeFlags = copy_src.outputModeFlags;
     ctbSizes = copy_src.ctbSizes;
-    inputImageDataAlignment = copy_src.inputImageDataAlignment;
-    maxNumL0ReferenceForP = copy_src.maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = copy_src.maxNumL0ReferenceForB;
-    maxNumL1Reference = copy_src.maxNumL1Reference;
-    maxNumSubLayers = copy_src.maxNumSubLayers;
-    qualityLevelCount = copy_src.qualityLevelCount;
+    transformBlockSizes = copy_src.transformBlockSizes;
+    maxPPictureL0ReferenceCount = copy_src.maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = copy_src.maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = copy_src.maxL1ReferenceCount;
+    maxSubLayersCount = copy_src.maxSubLayersCount;
+    minLog2MinLumaCodingBlockSizeMinus3 = copy_src.minLog2MinLumaCodingBlockSizeMinus3;
+    maxLog2MinLumaCodingBlockSizeMinus3 = copy_src.maxLog2MinLumaCodingBlockSizeMinus3;
+    minLog2MinLumaTransformBlockSizeMinus2 = copy_src.minLog2MinLumaTransformBlockSizeMinus2;
+    maxLog2MinLumaTransformBlockSizeMinus2 = copy_src.maxLog2MinLumaTransformBlockSizeMinus2;
+    minMaxTransformHierarchyDepthInter = copy_src.minMaxTransformHierarchyDepthInter;
+    maxMaxTransformHierarchyDepthInter = copy_src.maxMaxTransformHierarchyDepthInter;
+    minMaxTransformHierarchyDepthIntra = copy_src.minMaxTransformHierarchyDepthIntra;
+    maxMaxTransformHierarchyDepthIntra = copy_src.maxMaxTransformHierarchyDepthIntra;
+    maxDiffCuQpDeltaDepth = copy_src.maxDiffCuQpDeltaDepth;
+    minMaxNumMergeCand = copy_src.minMaxNumMergeCand;
+    maxMaxNumMergeCand = copy_src.maxMaxNumMergeCand;
     stdExtensionVersion = copy_src.stdExtensionVersion;
     pNext = SafePnextCopy(copy_src.pNext);
 }
@@ -30257,12 +30405,22 @@
     inputModeFlags = copy_src.inputModeFlags;
     outputModeFlags = copy_src.outputModeFlags;
     ctbSizes = copy_src.ctbSizes;
-    inputImageDataAlignment = copy_src.inputImageDataAlignment;
-    maxNumL0ReferenceForP = copy_src.maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = copy_src.maxNumL0ReferenceForB;
-    maxNumL1Reference = copy_src.maxNumL1Reference;
-    maxNumSubLayers = copy_src.maxNumSubLayers;
-    qualityLevelCount = copy_src.qualityLevelCount;
+    transformBlockSizes = copy_src.transformBlockSizes;
+    maxPPictureL0ReferenceCount = copy_src.maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = copy_src.maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = copy_src.maxL1ReferenceCount;
+    maxSubLayersCount = copy_src.maxSubLayersCount;
+    minLog2MinLumaCodingBlockSizeMinus3 = copy_src.minLog2MinLumaCodingBlockSizeMinus3;
+    maxLog2MinLumaCodingBlockSizeMinus3 = copy_src.maxLog2MinLumaCodingBlockSizeMinus3;
+    minLog2MinLumaTransformBlockSizeMinus2 = copy_src.minLog2MinLumaTransformBlockSizeMinus2;
+    maxLog2MinLumaTransformBlockSizeMinus2 = copy_src.maxLog2MinLumaTransformBlockSizeMinus2;
+    minMaxTransformHierarchyDepthInter = copy_src.minMaxTransformHierarchyDepthInter;
+    maxMaxTransformHierarchyDepthInter = copy_src.maxMaxTransformHierarchyDepthInter;
+    minMaxTransformHierarchyDepthIntra = copy_src.minMaxTransformHierarchyDepthIntra;
+    maxMaxTransformHierarchyDepthIntra = copy_src.maxMaxTransformHierarchyDepthIntra;
+    maxDiffCuQpDeltaDepth = copy_src.maxDiffCuQpDeltaDepth;
+    minMaxNumMergeCand = copy_src.minMaxNumMergeCand;
+    maxMaxNumMergeCand = copy_src.maxMaxNumMergeCand;
     stdExtensionVersion = copy_src.stdExtensionVersion;
     pNext = SafePnextCopy(copy_src.pNext);
 
@@ -30282,12 +30440,22 @@
     inputModeFlags = in_struct->inputModeFlags;
     outputModeFlags = in_struct->outputModeFlags;
     ctbSizes = in_struct->ctbSizes;
-    inputImageDataAlignment = in_struct->inputImageDataAlignment;
-    maxNumL0ReferenceForP = in_struct->maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = in_struct->maxNumL0ReferenceForB;
-    maxNumL1Reference = in_struct->maxNumL1Reference;
-    maxNumSubLayers = in_struct->maxNumSubLayers;
-    qualityLevelCount = in_struct->qualityLevelCount;
+    transformBlockSizes = in_struct->transformBlockSizes;
+    maxPPictureL0ReferenceCount = in_struct->maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = in_struct->maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = in_struct->maxL1ReferenceCount;
+    maxSubLayersCount = in_struct->maxSubLayersCount;
+    minLog2MinLumaCodingBlockSizeMinus3 = in_struct->minLog2MinLumaCodingBlockSizeMinus3;
+    maxLog2MinLumaCodingBlockSizeMinus3 = in_struct->maxLog2MinLumaCodingBlockSizeMinus3;
+    minLog2MinLumaTransformBlockSizeMinus2 = in_struct->minLog2MinLumaTransformBlockSizeMinus2;
+    maxLog2MinLumaTransformBlockSizeMinus2 = in_struct->maxLog2MinLumaTransformBlockSizeMinus2;
+    minMaxTransformHierarchyDepthInter = in_struct->minMaxTransformHierarchyDepthInter;
+    maxMaxTransformHierarchyDepthInter = in_struct->maxMaxTransformHierarchyDepthInter;
+    minMaxTransformHierarchyDepthIntra = in_struct->minMaxTransformHierarchyDepthIntra;
+    maxMaxTransformHierarchyDepthIntra = in_struct->maxMaxTransformHierarchyDepthIntra;
+    maxDiffCuQpDeltaDepth = in_struct->maxDiffCuQpDeltaDepth;
+    minMaxNumMergeCand = in_struct->minMaxNumMergeCand;
+    maxMaxNumMergeCand = in_struct->maxMaxNumMergeCand;
     stdExtensionVersion = in_struct->stdExtensionVersion;
     pNext = SafePnextCopy(in_struct->pNext);
 }
@@ -30299,12 +30467,22 @@
     inputModeFlags = copy_src->inputModeFlags;
     outputModeFlags = copy_src->outputModeFlags;
     ctbSizes = copy_src->ctbSizes;
-    inputImageDataAlignment = copy_src->inputImageDataAlignment;
-    maxNumL0ReferenceForP = copy_src->maxNumL0ReferenceForP;
-    maxNumL0ReferenceForB = copy_src->maxNumL0ReferenceForB;
-    maxNumL1Reference = copy_src->maxNumL1Reference;
-    maxNumSubLayers = copy_src->maxNumSubLayers;
-    qualityLevelCount = copy_src->qualityLevelCount;
+    transformBlockSizes = copy_src->transformBlockSizes;
+    maxPPictureL0ReferenceCount = copy_src->maxPPictureL0ReferenceCount;
+    maxBPictureL0ReferenceCount = copy_src->maxBPictureL0ReferenceCount;
+    maxL1ReferenceCount = copy_src->maxL1ReferenceCount;
+    maxSubLayersCount = copy_src->maxSubLayersCount;
+    minLog2MinLumaCodingBlockSizeMinus3 = copy_src->minLog2MinLumaCodingBlockSizeMinus3;
+    maxLog2MinLumaCodingBlockSizeMinus3 = copy_src->maxLog2MinLumaCodingBlockSizeMinus3;
+    minLog2MinLumaTransformBlockSizeMinus2 = copy_src->minLog2MinLumaTransformBlockSizeMinus2;
+    maxLog2MinLumaTransformBlockSizeMinus2 = copy_src->maxLog2MinLumaTransformBlockSizeMinus2;
+    minMaxTransformHierarchyDepthInter = copy_src->minMaxTransformHierarchyDepthInter;
+    maxMaxTransformHierarchyDepthInter = copy_src->maxMaxTransformHierarchyDepthInter;
+    minMaxTransformHierarchyDepthIntra = copy_src->minMaxTransformHierarchyDepthIntra;
+    maxMaxTransformHierarchyDepthIntra = copy_src->maxMaxTransformHierarchyDepthIntra;
+    maxDiffCuQpDeltaDepth = copy_src->maxDiffCuQpDeltaDepth;
+    minMaxNumMergeCand = copy_src->minMaxNumMergeCand;
+    maxMaxNumMergeCand = copy_src->maxMaxNumMergeCand;
     stdExtensionVersion = copy_src->stdExtensionVersion;
     pNext = SafePnextCopy(copy_src->pNext);
 }
@@ -52393,6 +52571,9 @@
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR:
             safe_pNext = new safe_VkPhysicalDevicePortabilitySubsetPropertiesKHR(reinterpret_cast<const VkPhysicalDevicePortabilitySubsetPropertiesKHR *>(pNext));
             break;
+        case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR:
+            safe_pNext = new safe_VkVideoEncodeCapabilitiesKHR(reinterpret_cast<const VkVideoEncodeCapabilitiesKHR *>(pNext));
+            break;
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR:
             safe_pNext = new safe_VkVideoEncodeRateControlLayerInfoKHR(reinterpret_cast<const VkVideoEncodeRateControlLayerInfoKHR *>(pNext));
             break;
@@ -53551,6 +53732,9 @@
         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR:
             delete reinterpret_cast<const safe_VkPhysicalDevicePortabilitySubsetPropertiesKHR *>(header);
             break;
+        case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR:
+            delete reinterpret_cast<const safe_VkVideoEncodeCapabilitiesKHR *>(header);
+            break;
         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR:
             delete reinterpret_cast<const safe_VkVideoEncodeRateControlLayerInfoKHR *>(header);
             break;
diff --git a/layers/generated/vk_safe_struct.h b/layers/generated/vk_safe_struct.h
index 8bc93cd..1062897 100644
--- a/layers/generated/vk_safe_struct.h
+++ b/layers/generated/vk_safe_struct.h
@@ -5905,6 +5905,27 @@
 #endif // VK_ENABLE_BETA_EXTENSIONS
 
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+struct safe_VkVideoEncodeCapabilitiesKHR {
+    VkStructureType sType;
+    const void* pNext;
+    VkVideoEncodeCapabilityFlagsKHR flags;
+    VkVideoEncodeRateControlModeFlagsKHR rateControlModes;
+    uint8_t rateControlLayerCount;
+    uint8_t qualityLevelCount;
+    VkExtent2D inputImageDataFillAlignment;
+    safe_VkVideoEncodeCapabilitiesKHR(const VkVideoEncodeCapabilitiesKHR* in_struct);
+    safe_VkVideoEncodeCapabilitiesKHR(const safe_VkVideoEncodeCapabilitiesKHR& copy_src);
+    safe_VkVideoEncodeCapabilitiesKHR& operator=(const safe_VkVideoEncodeCapabilitiesKHR& copy_src);
+    safe_VkVideoEncodeCapabilitiesKHR();
+    ~safe_VkVideoEncodeCapabilitiesKHR();
+    void initialize(const VkVideoEncodeCapabilitiesKHR* in_struct);
+    void initialize(const safe_VkVideoEncodeCapabilitiesKHR* copy_src);
+    VkVideoEncodeCapabilitiesKHR *ptr() { return reinterpret_cast<VkVideoEncodeCapabilitiesKHR *>(this); }
+    VkVideoEncodeCapabilitiesKHR const *ptr() const { return reinterpret_cast<VkVideoEncodeCapabilitiesKHR const *>(this); }
+};
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
 struct safe_VkVideoEncodeRateControlLayerInfoKHR {
     VkStructureType sType;
     const void* pNext;
@@ -6294,13 +6315,14 @@
     VkVideoEncodeH264CapabilityFlagsEXT flags;
     VkVideoEncodeH264InputModeFlagsEXT inputModeFlags;
     VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags;
-    VkExtent2D minPictureSizeInMbs;
-    VkExtent2D maxPictureSizeInMbs;
-    VkExtent2D inputImageDataAlignment;
-    uint8_t maxNumL0ReferenceForP;
-    uint8_t maxNumL0ReferenceForB;
-    uint8_t maxNumL1Reference;
-    uint8_t qualityLevelCount;
+    uint8_t maxPPictureL0ReferenceCount;
+    uint8_t maxBPictureL0ReferenceCount;
+    uint8_t maxL1ReferenceCount;
+    VkBool32 motionVectorsOverPicBoundariesFlag;
+    uint32_t maxBytesPerPicDenom;
+    uint32_t maxBitsPerMbDenom;
+    uint32_t log2MaxMvLengthHorizontal;
+    uint32_t log2MaxMvLengthVertical;
     VkExtensionProperties stdExtensionVersion;
     safe_VkVideoEncodeH264CapabilitiesEXT(const VkVideoEncodeH264CapabilitiesEXT* in_struct);
     safe_VkVideoEncodeH264CapabilitiesEXT(const safe_VkVideoEncodeH264CapabilitiesEXT& copy_src);
@@ -6377,7 +6399,7 @@
     VkStructureType sType;
     const void* pNext;
     int8_t slotIndex;
-    const StdVideoEncodeH264PictureInfo* pStdPictureInfo;
+    const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo;
     safe_VkVideoEncodeH264DpbSlotInfoEXT(const VkVideoEncodeH264DpbSlotInfoEXT* in_struct);
     safe_VkVideoEncodeH264DpbSlotInfoEXT(const safe_VkVideoEncodeH264DpbSlotInfoEXT& copy_src);
     safe_VkVideoEncodeH264DpbSlotInfoEXT& operator=(const safe_VkVideoEncodeH264DpbSlotInfoEXT& copy_src);
@@ -6391,15 +6413,33 @@
 #endif // VK_ENABLE_BETA_EXTENSIONS
 
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+struct safe_VkVideoEncodeH264ReferenceListsEXT {
+    VkStructureType sType;
+    const void* pNext;
+    uint8_t referenceList0EntryCount;
+    safe_VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries;
+    uint8_t referenceList1EntryCount;
+    safe_VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries;
+    const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
+    safe_VkVideoEncodeH264ReferenceListsEXT(const VkVideoEncodeH264ReferenceListsEXT* in_struct);
+    safe_VkVideoEncodeH264ReferenceListsEXT(const safe_VkVideoEncodeH264ReferenceListsEXT& copy_src);
+    safe_VkVideoEncodeH264ReferenceListsEXT& operator=(const safe_VkVideoEncodeH264ReferenceListsEXT& copy_src);
+    safe_VkVideoEncodeH264ReferenceListsEXT();
+    ~safe_VkVideoEncodeH264ReferenceListsEXT();
+    void initialize(const VkVideoEncodeH264ReferenceListsEXT* in_struct);
+    void initialize(const safe_VkVideoEncodeH264ReferenceListsEXT* copy_src);
+    VkVideoEncodeH264ReferenceListsEXT *ptr() { return reinterpret_cast<VkVideoEncodeH264ReferenceListsEXT *>(this); }
+    VkVideoEncodeH264ReferenceListsEXT const *ptr() const { return reinterpret_cast<VkVideoEncodeH264ReferenceListsEXT const *>(this); }
+};
+#endif // VK_ENABLE_BETA_EXTENSIONS
+
+#ifdef VK_ENABLE_BETA_EXTENSIONS
 struct safe_VkVideoEncodeH264NaluSliceEXT {
     VkStructureType sType;
     const void* pNext;
-    const StdVideoEncodeH264SliceHeader* pSliceHeaderStd;
     uint32_t mbCount;
-    uint8_t refFinalList0EntryCount;
-    safe_VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries;
-    uint8_t refFinalList1EntryCount;
-    safe_VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries;
+    safe_VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists;
+    const StdVideoEncodeH264SliceHeader* pSliceHeaderStd;
     safe_VkVideoEncodeH264NaluSliceEXT(const VkVideoEncodeH264NaluSliceEXT* in_struct);
     safe_VkVideoEncodeH264NaluSliceEXT(const safe_VkVideoEncodeH264NaluSliceEXT& copy_src);
     safe_VkVideoEncodeH264NaluSliceEXT& operator=(const safe_VkVideoEncodeH264NaluSliceEXT& copy_src);
@@ -6416,13 +6456,10 @@
 struct safe_VkVideoEncodeH264VclFrameInfoEXT {
     VkStructureType sType;
     const void* pNext;
-    uint8_t refDefaultFinalList0EntryCount;
-    safe_VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries;
-    uint8_t refDefaultFinalList1EntryCount;
-    safe_VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries;
+    safe_VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists;
     uint32_t naluSliceEntryCount;
     safe_VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries;
-    safe_VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo;
+    const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo;
     safe_VkVideoEncodeH264VclFrameInfoEXT(const VkVideoEncodeH264VclFrameInfoEXT* in_struct);
     safe_VkVideoEncodeH264VclFrameInfoEXT(const safe_VkVideoEncodeH264VclFrameInfoEXT& copy_src);
     safe_VkVideoEncodeH264VclFrameInfoEXT& operator=(const safe_VkVideoEncodeH264VclFrameInfoEXT& copy_src);
@@ -6526,12 +6563,22 @@
     VkVideoEncodeH265InputModeFlagsEXT inputModeFlags;
     VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags;
     VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes;
-    VkExtent2D inputImageDataAlignment;
-    uint8_t maxNumL0ReferenceForP;
-    uint8_t maxNumL0ReferenceForB;
-    uint8_t maxNumL1Reference;
-    uint8_t maxNumSubLayers;
-    uint8_t qualityLevelCount;
+    VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes;
+    uint8_t maxPPictureL0ReferenceCount;
+    uint8_t maxBPictureL0ReferenceCount;
+    uint8_t maxL1ReferenceCount;
+    uint8_t maxSubLayersCount;
+    uint8_t minLog2MinLumaCodingBlockSizeMinus3;
+    uint8_t maxLog2MinLumaCodingBlockSizeMinus3;
+    uint8_t minLog2MinLumaTransformBlockSizeMinus2;
+    uint8_t maxLog2MinLumaTransformBlockSizeMinus2;
+    uint8_t minMaxTransformHierarchyDepthInter;
+    uint8_t maxMaxTransformHierarchyDepthInter;
+    uint8_t minMaxTransformHierarchyDepthIntra;
+    uint8_t maxMaxTransformHierarchyDepthIntra;
+    uint8_t maxDiffCuQpDeltaDepth;
+    uint8_t minMaxNumMergeCand;
+    uint8_t maxMaxNumMergeCand;
     VkExtensionProperties stdExtensionVersion;
     safe_VkVideoEncodeH265CapabilitiesEXT(const VkVideoEncodeH265CapabilitiesEXT* in_struct);
     safe_VkVideoEncodeH265CapabilitiesEXT(const safe_VkVideoEncodeH265CapabilitiesEXT& copy_src);
diff --git a/layers/generated/vk_typemap_helper.h b/layers/generated/vk_typemap_helper.h
index 4f99c9b..39c328d 100644
--- a/layers/generated/vk_typemap_helper.h
+++ b/layers/generated/vk_typemap_helper.h
@@ -2925,6 +2925,17 @@
 
 #endif // VK_ENABLE_BETA_EXTENSIONS
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+// Map type VkVideoEncodeCapabilitiesKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR
+template <> struct LvlTypeMap<VkVideoEncodeCapabilitiesKHR> {
+    static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR;
+};
+
+template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR> {
+    typedef VkVideoEncodeCapabilitiesKHR Type;
+};
+
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
 // Map type VkVideoEncodeRateControlLayerInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR
 template <> struct LvlTypeMap<VkVideoEncodeRateControlLayerInfoKHR> {
     static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR;
@@ -3182,6 +3193,17 @@
 
 #endif // VK_ENABLE_BETA_EXTENSIONS
 #ifdef VK_ENABLE_BETA_EXTENSIONS
+// Map type VkVideoEncodeH264ReferenceListsEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT
+template <> struct LvlTypeMap<VkVideoEncodeH264ReferenceListsEXT> {
+    static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT;
+};
+
+template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT> {
+    typedef VkVideoEncodeH264ReferenceListsEXT Type;
+};
+
+#endif // VK_ENABLE_BETA_EXTENSIONS
+#ifdef VK_ENABLE_BETA_EXTENSIONS
 // Map type VkVideoEncodeH264NaluSliceEXT to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT
 template <> struct LvlTypeMap<VkVideoEncodeH264NaluSliceEXT> {
     static const VkStructureType kSType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT;
diff --git a/layers/generated/vk_validation_error_messages.h b/layers/generated/vk_validation_error_messages.h
index 32aa2c1..0256af4 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.3.205 */
+/* Vulkan specification version: 1.3.206 */
 /*
  * Vulkan
  *
@@ -302,6 +302,9 @@
     {"VUID-RuntimeSpirv-OpTraceRayKHR-06358", "For OpTraceRayKHR instructions, RayOrigin, RayDirection, RayTmin, and RayTmax operands must not contain NaNs.", "1.3-extensions"},
     {"VUID-RuntimeSpirv-OpTraceRayKHR-06359", "For OpTraceRayKHR instructions, Acceleration Structure must be an acceleration structure built as a top-level acceleration structure.", "1.3-extensions"},
     {"VUID-RuntimeSpirv-OpTraceRayKHR-06360", "For OpTraceRayKHR instructions, if Acceleration Structure was built with VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV in flags, the pipeline must have been created with VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV set", "1.3-extensions"},
+    {"VUID-RuntimeSpirv-OpTraceRayKHR-06552", "For OpTraceRayKHR instructions, the Rayflags operand must not contain both SkipTrianglesKHR and SkipAABBsKHR", "1.3-extensions"},
+    {"VUID-RuntimeSpirv-OpTraceRayKHR-06553", "For OpTraceRayKHR instructions, if the Rayflags operand contains SkipTrianglesKHR, the pipeline must not have been created with VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR set", "1.3-extensions"},
+    {"VUID-RuntimeSpirv-OpTraceRayKHR-06554", "For OpTraceRayKHR instructions, if the Rayflags operand contains SkipAABBsKHR, the pipeline must not have been created with VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR set", "1.3-extensions"},
     {"VUID-RuntimeSpirv-OpTraceRayMotionNV-06361", "For OpTraceRayMotionNV instructions, all components of the RayOrigin and RayDirection operands must be finite floating-point values.", "1.3-extensions"},
     {"VUID-RuntimeSpirv-OpTraceRayMotionNV-06362", "For OpTraceRayMotionNV instructions, the RayTmin and RayTmax operands must be non-negative floating-point values.", "1.3-extensions"},
     {"VUID-RuntimeSpirv-OpTraceRayMotionNV-06363", "For OpTraceRayMotionNV instructions, the RayTmin operand must be less than or equal to the RayTmax operand.", "1.3-extensions"},
@@ -968,6 +971,7 @@
     {"VUID-VkBufferCreateInfo-flags-00918", "If flags contains VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, it must also contain VK_BUFFER_CREATE_SPARSE_BINDING_BIT", "1.3-extensions"},
     {"VUID-VkBufferCreateInfo-flags-01887", "If the protected memory feature is not enabled, flags must not contain VK_BUFFER_CREATE_PROTECTED_BIT", "1.3-extensions"},
     {"VUID-VkBufferCreateInfo-flags-03338", "If flags includes VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, the bufferDeviceAddressCaptureReplay or VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::bufferDeviceAddressCaptureReplay feature must be enabled", "1.3-extensions"},
+    {"VUID-VkBufferCreateInfo-flags-06549", "If flags includes VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, the bufferDeviceAddressCaptureReplay feature must be enabled", "1.3-khr-extensions"},
     {"VUID-VkBufferCreateInfo-flags-parameter", "flags must be a valid combination of VkBufferCreateFlagBits values", "1.3-extensions"},
     {"VUID-VkBufferCreateInfo-opaqueCaptureAddress-03337", "If VkBufferOpaqueCaptureAddressCreateInfo::opaqueCaptureAddress is not zero, flags must include VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT", "1.3-extensions"},
     {"VUID-VkBufferCreateInfo-pNext-00920", "If the pNext chain includes a VkExternalMemoryBufferCreateInfo structure, its handleTypes member must only contain bits that are also in VkExternalBufferProperties::externalMemoryProperties.compatibleHandleTypes, as returned by vkGetPhysicalDeviceExternalBufferProperties with pExternalBufferInfo->handleType equal to any one of the handle types specified in VkExternalMemoryBufferCreateInfo::handleTypes", "1.3-extensions"},
@@ -1209,6 +1213,7 @@
     {"VUID-VkCommandBufferInheritanceRenderingInfo-colorAttachmentCount-06004", "If colorAttachmentCount is not 0, rasterizationSamples must be a valid VkSampleCountFlagBits value", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-depthAttachmentFormat-06007", "If depthAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format with potential format features that include VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-depthAttachmentFormat-06200", "If depthAttachmentFormat is not VK_FORMAT_UNDEFINED and stencilAttachmentFormat is not VK_FORMAT_UNDEFINED, depthAttachmentFormat must equal stencilAttachmentFormat", "1.3-extensions"},
+    {"VUID-VkCommandBufferInheritanceRenderingInfo-depthAttachmentFormat-06540", "If depthAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format that includes a depth aspect", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-depthAttachmentFormat-parameter", "depthAttachmentFormat must be a valid VkFormat value", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-flags-parameter", "flags must be a valid combination of VkRenderingFlagBits values", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-multiview-06008", "If the multiview feature is not enabled, viewMask must be 0", "1.3-extensions"},
@@ -1217,6 +1222,7 @@
     {"VUID-VkCommandBufferInheritanceRenderingInfo-rasterizationSamples-parameter", "If rasterizationSamples is not 0, rasterizationSamples must be a valid VkSampleCountFlagBits value", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-stencilAttachmentFormat-06199", "If stencilAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format with potential format features that include VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"},
+    {"VUID-VkCommandBufferInheritanceRenderingInfo-stencilAttachmentFormat-06541", "If stencilAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format that includes a stencil aspect", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-stencilAttachmentFormat-parameter", "stencilAttachmentFormat must be a valid VkFormat value", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-variableMultisampleRate-06005", "If the variableMultisampleRate feature is not enabled, rasterizationSamples must be a valid VkSampleCountFlagBits value", "1.3-extensions"},
     {"VUID-VkCommandBufferInheritanceRenderingInfo-viewMask-06009", "The index of the most significant bit in viewMask must be less than maxMultiviewViewCount", "1.3-extensions"},
@@ -2193,7 +2199,7 @@
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-01523", "If the pipeline is being created with fragment shader state, and no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT, and the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT structure included in the pNext chain of pMultisampleState is VK_TRUE, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-01715", "If the pipeline is being created with pre-rasterization shader state, and no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV, and the viewportWScalingEnable member of a VkPipelineViewportWScalingStateCreateInfoNV structure, included in the pNext chain of pViewportState, is VK_TRUE, the pViewportWScalings member of the VkPipelineViewportWScalingStateCreateInfoNV must be a pointer to an array of VkPipelineViewportWScalingStateCreateInfoNV::viewportCount valid VkViewportWScalingNV structures", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-02510", "If the pipeline is being created with fragment shader state, and the VK_EXT_depth_range_unrestricted extension is not enabled and no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_DEPTH_BOUNDS, and the depthBoundsTestEnable member of pDepthStencilState is VK_TRUE, the minDepthBounds and maxDepthBounds members of pDepthStencilState must be between 0.0 and 1.0, inclusive", "1.3-extensions"},
-    {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03378", "If the extendedDynamicState feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_CULL_MODE, VK_DYNAMIC_STATE_FRONT_FACE, VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, or VK_DYNAMIC_STATE_STENCIL_OP", "1.3-extensions"},
+    {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03378", "If the extendedDynamicState feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_CULL_MODE, VK_DYNAMIC_STATE_FRONT_FACE, VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, or VK_DYNAMIC_STATE_STENCIL_OP", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03379", "If the pipeline is being created with pre-rasterization shader state, and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT is included in the pDynamicStates array then viewportCount must be zero", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03380", "If the pipeline is being created with pre-rasterization shader state, and VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT is included in the pDynamicStates array then scissorCount must be zero", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03578", "All elements of the pDynamicStates member of pDynamicState must not be VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR", "1.3-extensions"},
@@ -2206,7 +2212,7 @@
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04133", "If the pipeline is being created with pre-rasterization shader state, and VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT is included in the pDynamicStates array then VK_DYNAMIC_STATE_SCISSOR must not be present", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04800", "If the colorWriteEnable feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04807", "If the pipeline is being created with pre-rasterization shader state and the vertexInputDynamicState feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_VERTEX_INPUT_EXT", "1.3-extensions"},
-    {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04868", "If the extendedDynamicState2 feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, or VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE", "1.3-extensions"},
+    {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04868", "If the extendedDynamicState2 feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, or VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE", "1.2-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04869", "If the extendedDynamicState2LogicOp feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_LOGIC_OP_EXT", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04870", "If the extendedDynamicState2PatchControlPoints feature is not enabled, there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT", "1.3-extensions"},
     {"VUID-VkGraphicsPipelineCreateInfo-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAttachmentSampleCountInfoAMD, VkGraphicsPipelineShaderGroupsCreateInfoNV, VkMultiviewPerViewAttributesInfoNVX, VkPipelineCompilerControlCreateInfoAMD, VkPipelineCreationFeedbackCreateInfo, VkPipelineDiscardRectangleStateCreateInfoEXT, VkPipelineFragmentShadingRateEnumStateCreateInfoNV, VkPipelineFragmentShadingRateStateCreateInfoKHR, VkPipelineRenderingCreateInfo, or VkPipelineRepresentativeFragmentTestStateCreateInfoNV", "1.3-extensions"},
@@ -3707,12 +3713,14 @@
     {"VUID-VkPipelineRasterizationStateStreamCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-depthAttachmentFormat-06065", "If depthAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format with potential format features that include VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-depthAttachmentFormat-06165", "If depthAttachmentFormat is not VK_FORMAT_UNDEFINED and stencilAttachmentFormat is not VK_FORMAT_UNDEFINED, depthAttachmentFormat must equal stencilAttachmentFormat", "1.3-extensions"},
+    {"VUID-VkPipelineRenderingCreateInfo-depthAttachmentFormat-06544", "If depthAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format that includes a depth aspect", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-depthAttachmentFormat-parameter", "depthAttachmentFormat must be a valid VkFormat value", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-multiview-06066", "If the multiview feature is not enabled, viewMask must be 0", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-pColorAttachmentFormats-06064", "If any element of pColorAttachmentFormats is not VK_FORMAT_UNDEFINED, it must be a format with potential format features that include VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT", "1.3-khr-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-pColorAttachmentFormats-parameter", "If colorAttachmentCount is not 0, pColorAttachmentFormats must be a valid pointer to an array of colorAttachmentCount valid VkFormat values", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-sType-sType", "sType must be VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-stencilAttachmentFormat-06164", "If stencilAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format with potential format features that include VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT", "1.3-extensions"},
+    {"VUID-VkPipelineRenderingCreateInfo-stencilAttachmentFormat-06545", "If stencilAttachmentFormat is not VK_FORMAT_UNDEFINED, it must be a format that includes a stencil aspect", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-stencilAttachmentFormat-parameter", "stencilAttachmentFormat must be a valid VkFormat value", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfo-viewMask-06067", "The index of the most significant bit in viewMask must be less than maxMultiviewViewCount", "1.3-extensions"},
     {"VUID-VkPipelineRenderingCreateInfoKHR-pColorAttachmentFormats-06495", "If any element of pColorAttachmentFormats is not VK_FORMAT_UNDEFINED, it must be a format with potential format features that includes either VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV", "1.3-extensions"},
@@ -3903,6 +3911,7 @@
     {"VUID-VkRayTracingPipelineCreateInfoKHR-flags-04721", "If flags includes VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, each element of pLibraryInfo->pLibraries must have been created with the VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR bit set", "1.3-extensions"},
     {"VUID-VkRayTracingPipelineCreateInfoKHR-flags-04722", "If flags includes VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, each element of pLibraryInfo->pLibraries must have been created with the VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR bit set", "1.3-extensions"},
     {"VUID-VkRayTracingPipelineCreateInfoKHR-flags-04723", "If flags includes VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, each element of pLibraryInfo->pLibraries must have been created with the VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR bit set", "1.3-extensions"},
+    {"VUID-VkRayTracingPipelineCreateInfoKHR-flags-06546", "flags must not include both VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR and VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR", "1.3-extensions"},
     {"VUID-VkRayTracingPipelineCreateInfoKHR-flags-parameter", "flags must be a valid combination of VkPipelineCreateFlagBits values", "1.3-extensions"},
     {"VUID-VkRayTracingPipelineCreateInfoKHR-layout-03427", "layout must be consistent with all shaders specified in pStages", "1.3-extensions"},
     {"VUID-VkRayTracingPipelineCreateInfoKHR-layout-03428", "The number of resources in layout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources", "1.3-extensions"},
@@ -4190,6 +4199,7 @@
     {"VUID-VkRenderingInfo-pDepthAttachment-06102", "If pDepthAttachment is not NULL and pDepthAttachment->imageView is not VK_NULL_HANDLE, pDepthAttachment->resolveMode must be one of the bits set in VkPhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModes", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pDepthAttachment-06104", "If pDepthAttachment or pStencilAttachment are both not NULL, pDepthAttachment->imageView and pStencilAttachment->imageView are both not VK_NULL_HANDLE, and VkPhysicalDeviceDepthStencilResolveProperties::independentResolveNone is VK_FALSE, the resolveMode of both structures must be the same value", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pDepthAttachment-06105", "If pDepthAttachment or pStencilAttachment are both not NULL, pDepthAttachment->imageView and pStencilAttachment->imageView are both not VK_NULL_HANDLE, VkPhysicalDeviceDepthStencilResolveProperties::independentResolve is VK_FALSE, and the resolveMode of neither structure is VK_RESOLVE_MODE_NONE, the resolveMode of both structures must be the same value", "1.3-extensions"},
+    {"VUID-VkRenderingInfo-pDepthAttachment-06547", "If pDepthAttachment is not NULL and pDepthAttachment->imageView is not VK_NULL_HANDLE, pDepthAttachment->imageView must have been created with a format that includes a depth aspect", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pDepthAttachment-parameter", "If pDepthAttachment is not NULL, pDepthAttachment must be a valid pointer to a valid VkRenderingAttachmentInfo structure", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pNext-06077", "If the pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, renderArea.offset.x must be greater than or equal to 0", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pNext-06078", "If the pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, renderArea.offset.y must be greater than or equal to 0", "1.3-extensions"},
@@ -4211,6 +4221,7 @@
     {"VUID-VkRenderingInfo-pStencilAttachment-06095", "If pStencilAttachment is not NULL, pStencilAttachment->imageView is not VK_NULL_HANDLE, and pStencilAttachment->resolveMode is not VK_RESOLVE_MODE_NONE, pStencilAttachment->resolveImageLayout must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pStencilAttachment-06099", "If pStencilAttachment is not NULL, pStencilAttachment->imageView is not VK_NULL_HANDLE, and pStencilAttachment->resolveMode is not VK_RESOLVE_MODE_NONE, pStencilAttachment->resolveImageLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pStencilAttachment-06103", "If pStencilAttachment is not NULL and pStencilAttachment->imageView is not VK_NULL_HANDLE, pStencilAttachment->resolveMode must be one of the bits set in VkPhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModes", "1.3-extensions"},
+    {"VUID-VkRenderingInfo-pStencilAttachment-06548", "If pStencilAttachment is not NULL and pStencilAttachment->imageView is not VK_NULL_HANDLE, pStencilAttachment->imageView must have been created with a format that includes a stencil aspect", "1.3-extensions"},
     {"VUID-VkRenderingInfo-pStencilAttachment-parameter", "If pStencilAttachment is not NULL, pStencilAttachment must be a valid pointer to a valid VkRenderingAttachmentInfo structure", "1.3-extensions"},
     {"VUID-VkRenderingInfo-renderArea-06071", "renderArea.offset.x must be greater than or equal to 0", "default"},
     {"VUID-VkRenderingInfo-renderArea-06072", "renderArea.offset.y must be greater than or equal to 0", "default"},
@@ -4868,7 +4879,7 @@
     {"VUID-VkVideoBindMemoryKHR-memory-parameter", "memory must be a valid VkDeviceMemory handle", "1.3-extensions"},
     {"VUID-VkVideoBindMemoryKHR-pNext-pNext", "pNext must be NULL", "1.3-extensions"},
     {"VUID-VkVideoBindMemoryKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR", "1.3-extensions"},
-    {"VUID-VkVideoCapabilitiesKHR-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkVideoDecodeH264CapabilitiesEXT, VkVideoDecodeH265CapabilitiesEXT, VkVideoEncodeH264CapabilitiesEXT, or VkVideoEncodeH265CapabilitiesEXT", "1.3-extensions"},
+    {"VUID-VkVideoCapabilitiesKHR-pNext-pNext", "Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkVideoDecodeH264CapabilitiesEXT, VkVideoDecodeH265CapabilitiesEXT, or VkVideoEncodeCapabilitiesKHR", "1.3-extensions"},
     {"VUID-VkVideoCapabilitiesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR", "1.3-extensions"},
     {"VUID-VkVideoCapabilitiesKHR-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.3-extensions"},
     {"VUID-VkVideoCodingControlInfoKHR-flags-06518", "The first command buffer submitted for a newly created video session must set the VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR bit in VkVideoCodingControlInfoKHR::flags to reset the session device context before any video decode or encode operations are performed on the session.", "1.3-extensions"},
@@ -4939,8 +4950,9 @@
     {"VUID-VkVideoDecodeInfoKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR", "1.3-extensions"},
     {"VUID-VkVideoDecodeInfoKHR-sType-unique", "The sType value of each struct in the pNext chain must be unique", "1.3-extensions"},
     {"VUID-VkVideoDecodeInfoKHR-srcBuffer-parameter", "srcBuffer must be a valid VkBuffer handle", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264CapabilitiesEXT-flags-parameter", "flags must be a valid combination of VkVideoEncodeH264CapabilityFlagBitsEXT values", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264CapabilitiesEXT-flags-requiredbitmask", "flags must not be 0", "1.3-extensions"},
+    {"VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-parameter", "rateControlModes must be a valid combination of VkVideoEncodeRateControlModeFlagBitsKHR values", "1.3-extensions"},
+    {"VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-requiredbitmask", "rateControlModes must not be 0", "1.3-extensions"},
+    {"VUID-VkVideoEncodeCapabilitiesKHR-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-parameter", "inputModeFlags must be a valid combination of VkVideoEncodeH264InputModeFlagBitsEXT values", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-requiredbitmask", "inputModeFlags must not be 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-parameter", "outputModeFlags must be a valid combination of VkVideoEncodeH264OutputModeFlagBitsEXT values", "1.3-extensions"},
@@ -4948,17 +4960,14 @@
     {"VUID-VkVideoEncodeH264CapabilitiesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264CapabilitiesEXT-stdExtensionVersion-parameter", "stdExtensionVersion must be a valid VkExtensionProperties structure", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264DpbSlotInfoEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdPictureInfo-parameter", "pStdPictureInfo must be a valid pointer to a valid StdVideoEncodeH264PictureInfo value", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264DpbSlotInfoEXT-pStdReferenceInfo-parameter", "pStdReferenceInfo must be a valid pointer to a valid StdVideoEncodeH264ReferenceInfo value", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264DpbSlotInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264EmitPictureParametersEXT-ppsIdEntries-parameter", "ppsIdEntries must be a valid pointer to an array of ppsIdEntryCount uint8_t values", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264EmitPictureParametersEXT-ppsIdEntryCount-arraylength", "ppsIdEntryCount must be greater than 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264EmitPictureParametersEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264NaluSliceEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264NaluSliceEXT-pRefFinalList0Entries-parameter", "pRefFinalList0Entries must be a valid pointer to an array of refFinalList0EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264NaluSliceEXT-pRefFinalList1Entries-parameter", "pRefFinalList1Entries must be a valid pointer to an array of refFinalList1EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264NaluSliceEXT-pReferenceFinalLists-parameter", "If pReferenceFinalLists is not NULL, pReferenceFinalLists must be a valid pointer to a valid VkVideoEncodeH264ReferenceListsEXT structure", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264NaluSliceEXT-pSliceHeaderStd-parameter", "pSliceHeaderStd must be a valid pointer to a valid StdVideoEncodeH264SliceHeader value", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264NaluSliceEXT-refFinalList0EntryCount-arraylength", "refFinalList0EntryCount must be greater than 0", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264NaluSliceEXT-refFinalList1EntryCount-arraylength", "refFinalList1EntryCount must be greater than 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264NaluSliceEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264ProfileEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264RateControlInfoEXT-chainrequirement", "VkVideoEncodeH264RateControlInfoEXT must be included in the pNext chain of VkVideoEncodeRateControlInfoKHR if and only if VkVideoEncodeRateControlInfoKHR::rateControlMode is not VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR and the bound video session was created with VkVideoProfileKHR::videoCodecOperation set to VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT.", "1.3-extensions"},
@@ -4972,6 +4981,11 @@
     {"VUID-VkVideoEncodeH264RateControlLayerInfoEXT-rateControlMode-06474", "When VkVideoEncodeRateControlInfoKHR::rateControlMode is VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, both useMinQp and useMaxQp must be set to VK_TRUE.", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264RateControlLayerInfoEXT-rateControlMode-06475", "When VkVideoEncodeRateControlInfoKHR::rateControlMode is VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, the values provided in minQP must be identical to those provided in maxQp.", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264RateControlLayerInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264ReferenceListsEXT-pMemMgmtCtrlOperations-parameter", "pMemMgmtCtrlOperations must be a valid pointer to a valid StdVideoEncodeH264RefMemMgmtCtrlOperations value", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264ReferenceListsEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList0Entries-parameter", "If referenceList0EntryCount is not 0, pReferenceList0Entries must be a valid pointer to an array of referenceList0EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList1Entries-parameter", "If referenceList1EntryCount is not 0, pReferenceList1Entries must be a valid pointer to an array of referenceList1EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264ReferenceListsEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264SessionCreateInfoEXT-flags-parameter", "flags must be a valid combination of VkVideoEncodeH264CreateFlagBitsEXT values", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264SessionCreateInfoEXT-flags-requiredbitmask", "flags must not be 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264SessionCreateInfoEXT-pStdExtensionVersion-parameter", "pStdExtensionVersion must be a valid pointer to a valid VkExtensionProperties structure", "1.3-extensions"},
@@ -4991,22 +5005,20 @@
     {"VUID-VkVideoEncodeH264SessionParametersCreateInfoEXT-pParametersAddInfo-parameter", "If pParametersAddInfo is not NULL, pParametersAddInfo must be a valid pointer to a valid VkVideoEncodeH264SessionParametersAddInfoEXT structure", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264SessionParametersCreateInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264VclFrameInfoEXT-naluSliceEntryCount-arraylength", "naluSliceEntryCount must be greater than 0", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-pCurrentPictureInfo-parameter", "pCurrentPictureInfo must be a valid pointer to a valid VkVideoEncodeH264DpbSlotInfoEXT structure", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-pCurrentPictureInfo-parameter", "pCurrentPictureInfo must be a valid pointer to a valid StdVideoEncodeH264PictureInfo value", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264VclFrameInfoEXT-pNaluSliceEntries-parameter", "pNaluSliceEntries must be a valid pointer to an array of naluSliceEntryCount valid VkVideoEncodeH264NaluSliceEXT structures", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-pRefDefaultFinalList0Entries-parameter", "pRefDefaultFinalList0Entries must be a valid pointer to an array of refDefaultFinalList0EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-pRefDefaultFinalList1Entries-parameter", "pRefDefaultFinalList1Entries must be a valid pointer to an array of refDefaultFinalList1EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-refDefaultFinalList0EntryCount-arraylength", "refDefaultFinalList0EntryCount must be greater than 0", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-refDefaultFinalList1EntryCount-arraylength", "refDefaultFinalList1EntryCount must be greater than 0", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH264VclFrameInfoEXT-pReferenceFinalLists-parameter", "If pReferenceFinalLists is not NULL, pReferenceFinalLists must be a valid pointer to a valid VkVideoEncodeH264ReferenceListsEXT structure", "1.3-extensions"},
     {"VUID-VkVideoEncodeH264VclFrameInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-parameter", "ctbSizes must be a valid combination of VkVideoEncodeH265CtbSizeFlagBitsEXT values", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-requiredbitmask", "ctbSizes must not be 0", "1.3-extensions"},
-    {"VUID-VkVideoEncodeH265CapabilitiesEXT-flags-zerobitmask", "flags must be 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-parameter", "inputModeFlags must be a valid combination of VkVideoEncodeH265InputModeFlagBitsEXT values", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-requiredbitmask", "inputModeFlags must not be 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-parameter", "outputModeFlags must be a valid combination of VkVideoEncodeH265OutputModeFlagBitsEXT values", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-requiredbitmask", "outputModeFlags must not be 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265CapabilitiesEXT-stdExtensionVersion-parameter", "stdExtensionVersion must be a valid VkExtensionProperties structure", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-parameter", "transformBlockSizes must be a valid combination of VkVideoEncodeH265TransformBlockSizeFlagBitsEXT values", "1.3-extensions"},
+    {"VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-requiredbitmask", "transformBlockSizes must not be 0", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265DpbSlotInfoEXT-pNext-pNext", "pNext must be NULL", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265DpbSlotInfoEXT-pStdReferenceInfo-parameter", "pStdReferenceInfo must be a valid pointer to a valid StdVideoEncodeH265ReferenceInfo value", "1.3-extensions"},
     {"VUID-VkVideoEncodeH265DpbSlotInfoEXT-sType-sType", "sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT", "1.3-extensions"},
@@ -6353,6 +6365,7 @@
     {"VUID-vkCmdDecodeVideoKHR-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdDecodeVideoKHR-pFrameInfo-parameter", "pFrameInfo must be a valid pointer to a valid VkVideoDecodeInfoKHR structure", "1.3-extensions"},
     {"VUID-vkCmdDecodeVideoKHR-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"},
+    {"VUID-vkCmdDispatch-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDispatch-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDispatch-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdDispatch-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -6368,9 +6381,10 @@
     {"VUID-vkCmdDispatch-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.3-extensions"},
     {"VUID-vkCmdDispatch-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.3-extensions"},
     {"VUID-vkCmdDispatch-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatch-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdDispatch-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.3-extensions"},
-    {"VUID-vkCmdDispatch-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDispatch-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatch-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatch-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDispatch-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDispatch-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDispatch-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6396,6 +6410,7 @@
     {"VUID-vkCmdDispatch-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"},
     {"VUID-vkCmdDispatch-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.3-extensions"},
     {"VUID-vkCmdDispatch-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.3-extensions"},
+    {"VUID-vkCmdDispatchBase-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDispatchBase-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDispatchBase-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdDispatchBase-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -6411,9 +6426,10 @@
     {"VUID-vkCmdDispatchBase-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.3-extensions"},
     {"VUID-vkCmdDispatchBase-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.3-extensions"},
     {"VUID-vkCmdDispatchBase-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatchBase-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdDispatchBase-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.3-extensions"},
-    {"VUID-vkCmdDispatchBase-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDispatchBase-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatchBase-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatchBase-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDispatchBase-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDispatchBase-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDispatchBase-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6443,6 +6459,7 @@
     {"VUID-vkCmdDispatchBase-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"},
     {"VUID-vkCmdDispatchBase-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.3-extensions"},
     {"VUID-vkCmdDispatchBase-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.3-extensions"},
+    {"VUID-vkCmdDispatchIndirect-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -6458,9 +6475,10 @@
     {"VUID-vkCmdDispatchIndirect-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.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-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.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatchIndirect-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-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.3-extensions"},
-    {"VUID-vkCmdDispatchIndirect-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDispatchIndirect-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatchIndirect-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDispatchIndirect-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6487,6 +6505,7 @@
     {"VUID-vkCmdDispatchIndirect-renderpass", "This command must only be called outside of a render pass instance", "1.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-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.3-extensions"},
     {"VUID-vkCmdDispatchIndirect-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.3-extensions"},
+    {"VUID-vkCmdDraw-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDraw-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDraw-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDraw-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -6515,9 +6534,10 @@
     {"VUID-vkCmdDraw-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDraw-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDraw-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDraw-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDraw-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDraw-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDraw-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDraw-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDraw-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDraw-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDraw-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6581,6 +6601,7 @@
     {"VUID-vkCmdDraw-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDraw-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDraw-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexed-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -6609,9 +6630,10 @@
     {"VUID-vkCmdDrawIndexed-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexed-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawIndexed-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawIndexed-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexed-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexed-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawIndexed-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawIndexed-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6676,6 +6698,7 @@
     {"VUID-vkCmdDrawIndexed-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexed-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -6704,9 +6727,10 @@
     {"VUID-vkCmdDrawIndexedIndirect-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirect-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirect-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6779,6 +6803,7 @@
     {"VUID-vkCmdDrawIndexedIndirect-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirect-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -6808,9 +6833,10 @@
     {"VUID-vkCmdDrawIndexedIndirectCount-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6887,6 +6913,7 @@
     {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndexedIndirectCount-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirect-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -6915,9 +6942,10 @@
     {"VUID-vkCmdDrawIndirect-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirect-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawIndirect-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawIndirect-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirect-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirect-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawIndirect-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawIndirect-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -6990,6 +7018,7 @@
     {"VUID-vkCmdDrawIndirect-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirect-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7018,9 +7047,10 @@
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7090,6 +7120,7 @@
     {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectByteCountEXT-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7119,9 +7150,10 @@
     {"VUID-vkCmdDrawIndirectCount-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawIndirectCount-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawIndirectCount-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7198,6 +7230,7 @@
     {"VUID-vkCmdDrawIndirectCount-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawIndirectCount-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7220,9 +7253,10 @@
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7296,6 +7330,7 @@
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7317,9 +7352,10 @@
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7388,6 +7424,7 @@
     {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7409,9 +7446,10 @@
     {"VUID-vkCmdDrawMeshTasksNV-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawMeshTasksNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMeshTasksNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7470,6 +7508,7 @@
     {"VUID-vkCmdDrawMeshTasksNV-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMeshTasksNV-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiEXT-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7499,9 +7538,10 @@
     {"VUID-vkCmdDrawMultiEXT-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiEXT-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-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.3-extensions"},
-    {"VUID-vkCmdDrawMultiEXT-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawMultiEXT-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiEXT-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiEXT-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7568,6 +7608,7 @@
     {"VUID-vkCmdDrawMultiEXT-viewportCount-04138", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-viewportCount-04139", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT 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 vkCmdSetViewportWithCount", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiEXT-viewportCount-04140", "If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiIndexedEXT-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7597,9 +7638,10 @@
     {"VUID-vkCmdDrawMultiIndexedEXT-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiIndexedEXT-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-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.3-extensions"},
-    {"VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdDrawMultiIndexedEXT-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -7805,6 +7847,7 @@
     {"VUID-vkCmdExecuteCommands-pStencilAttachment-06030", "If vkCmdExecuteCommands is being called within a render pass instance begun with vkCmdBeginRendering, if the VkRenderingInfo::pStencilAttachment->imageView parameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of the stencilAttachmentFormat member of the VkCommandBufferInheritanceRenderingInfo structure included in the pNext chain of VkCommandBufferBeginInfo::pInheritanceInfo used to begin recording each element of pCommandBuffers must be equal to the format used to create that image view", "1.3-extensions"},
     {"VUID-vkCmdExecuteCommands-variableSampleLocations-06023", "If the variableSampleLocations limit is not supported, and any element of pCommandBuffers contains any suspended render pass instances, where a graphics pipeline has been bound, any pipelines bound in the render pass instance that resumes it, or any subsequent render pass instances that resume from that one and so on, must use the same sample locations", "1.3-extensions"},
     {"VUID-vkCmdExecuteCommands-viewMask-06031", "If vkCmdExecuteCommands is being called within a render pass instance begun with vkCmdBeginRendering, the viewMask member of the VkCommandBufferInheritanceRenderingInfo structure included in the pNext chain of VkCommandBufferBeginInfo::pInheritanceInfo used to begin recording each element of pCommandBuffers must be equal to the VkRenderingInfo::viewMask parameter to vkCmdBeginRendering", "1.3-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-02686", "Every input attachment used by the current subpass must be bound to the pipeline via a descriptor set", "1.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
@@ -7834,9 +7877,10 @@
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-06537", "Memory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command", "1.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-06538", "If any recorded command in the current subpass will write to an image subresource as an attachment, this command must not read from the memory backing that image subresource in any other way than as an attachment", "1.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-None-06539", "If any recorded command in the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, this command must not write to that image subresource as an attachment", "1.3-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-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.3-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -8167,7 +8211,7 @@
     {"VUID-vkCmdSetColorWriteEnableEXT-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetColorWriteEnableEXT-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetColorWriteEnableEXT-pColorWriteEnables-parameter", "pColorWriteEnables must be a valid pointer to an array of attachmentCount VkBool32 values", "1.3-extensions"},
-    {"VUID-vkCmdSetCullMode-None-03384", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetCullMode-None-03384", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetCullMode-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetCullMode-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetCullMode-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8176,7 +8220,7 @@
     {"VUID-vkCmdSetDepthBias-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBias-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBias-depthBiasClamp-00790", "If the depth bias clamping feature is not enabled, depthBiasClamp must be 0.0", "1.3-extensions"},
-    {"VUID-vkCmdSetDepthBiasEnable-None-04872", "The extendedDynamicState2 feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetDepthBiasEnable-None-04872", "The extendedDynamicState2 feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetDepthBiasEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBiasEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBiasEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8187,20 +8231,20 @@
     {"VUID-vkCmdSetDepthBounds-maxDepthBounds-02509", "maxDepthBounds must be between 0.0 and 1.0, inclusive", "1.3-khr-extensions"},
     {"VUID-vkCmdSetDepthBounds-minDepthBounds-00600", "Unless the VK_EXT_depth_range_unrestricted extension is enabled minDepthBounds must be between 0.0 and 1.0, inclusive", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBounds-minDepthBounds-02508", "minDepthBounds must be between 0.0 and 1.0, inclusive", "1.3-khr-extensions"},
-    {"VUID-vkCmdSetDepthBoundsTestEnable-None-03349", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetDepthBoundsTestEnable-None-03349", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetDepthBoundsTestEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBoundsTestEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetDepthBoundsTestEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
-    {"VUID-vkCmdSetDepthCompareOp-None-03353", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetDepthCompareOp-None-03353", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetDepthCompareOp-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetDepthCompareOp-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetDepthCompareOp-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetDepthCompareOp-depthCompareOp-parameter", "depthCompareOp must be a valid VkCompareOp value", "1.3-extensions"},
-    {"VUID-vkCmdSetDepthTestEnable-None-03352", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetDepthTestEnable-None-03352", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetDepthTestEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetDepthTestEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetDepthTestEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
-    {"VUID-vkCmdSetDepthWriteEnable-None-03354", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetDepthWriteEnable-None-03354", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetDepthWriteEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetDepthWriteEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetDepthWriteEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8295,7 +8339,7 @@
     {"VUID-vkCmdSetFragmentShadingRateKHR-pipelineFragmentShadingRate-04508", "If pipelineFragmentShadingRate is not enabled, pFragmentSize->height must be 1", "1.3-extensions"},
     {"VUID-vkCmdSetFragmentShadingRateKHR-pipelineFragmentShadingRate-04509", "One of pipelineFragmentShadingRate, primitiveFragmentShadingRate, or attachmentFragmentShadingRate must be enabled", "1.3-extensions"},
     {"VUID-vkCmdSetFragmentShadingRateKHR-primitiveFragmentShadingRate-04510", "If the primitiveFragmentShadingRate feature is not enabled, combinerOps[0] must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR", "1.3-extensions"},
-    {"VUID-vkCmdSetFrontFace-None-03383", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetFrontFace-None-03383", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetFrontFace-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetFrontFace-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetFrontFace-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8331,16 +8375,16 @@
     {"VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetPerformanceStreamMarkerINTEL-pMarkerInfo-parameter", "pMarkerInfo must be a valid pointer to a valid VkPerformanceStreamMarkerInfoINTEL structure", "1.3-extensions"},
-    {"VUID-vkCmdSetPrimitiveRestartEnable-None-04866", "The extendedDynamicState2 feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetPrimitiveRestartEnable-None-04866", "The extendedDynamicState2 feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetPrimitiveRestartEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetPrimitiveRestartEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetPrimitiveRestartEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
-    {"VUID-vkCmdSetPrimitiveTopology-None-03347", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetPrimitiveTopology-None-03347", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetPrimitiveTopology-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetPrimitiveTopology-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetPrimitiveTopology-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetPrimitiveTopology-primitiveTopology-parameter", "primitiveTopology must be a valid VkPrimitiveTopology value", "1.3-extensions"},
-    {"VUID-vkCmdSetRasterizerDiscardEnable-None-04871", "The extendedDynamicState2 feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetRasterizerDiscardEnable-None-04871", "The extendedDynamicState2 feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetRasterizerDiscardEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetRasterizerDiscardEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetRasterizerDiscardEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8367,7 +8411,7 @@
     {"VUID-vkCmdSetScissor-scissorCount-arraylength", "scissorCount must be greater than 0", "1.3-extensions"},
     {"VUID-vkCmdSetScissor-viewportScissor2D-04789", "If this command is recorded in a secondary command buffer with VkCommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D enabled, then this function must not be called", "1.3-extensions"},
     {"VUID-vkCmdSetScissor-x-00595", "The x and y members of offset member of any element of pScissors must be greater than or equal to 0", "1.3-extensions"},
-    {"VUID-vkCmdSetScissorWithCount-None-03396", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetScissorWithCount-None-03396", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetScissorWithCount-commandBuffer-04820", "commandBuffer must not have VkCommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D enabled", "1.3-extensions"},
     {"VUID-vkCmdSetScissorWithCount-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetScissorWithCount-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
@@ -8384,7 +8428,7 @@
     {"VUID-vkCmdSetStencilCompareMask-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetStencilCompareMask-faceMask-parameter", "faceMask must be a valid combination of VkStencilFaceFlagBits values", "1.3-extensions"},
     {"VUID-vkCmdSetStencilCompareMask-faceMask-requiredbitmask", "faceMask must not be 0", "1.3-extensions"},
-    {"VUID-vkCmdSetStencilOp-None-03351", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetStencilOp-None-03351", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetStencilOp-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetStencilOp-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetStencilOp-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8399,7 +8443,7 @@
     {"VUID-vkCmdSetStencilReference-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
     {"VUID-vkCmdSetStencilReference-faceMask-parameter", "faceMask must be a valid combination of VkStencilFaceFlagBits values", "1.3-extensions"},
     {"VUID-vkCmdSetStencilReference-faceMask-requiredbitmask", "faceMask must not be 0", "1.3-extensions"},
-    {"VUID-vkCmdSetStencilTestEnable-None-03350", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetStencilTestEnable-None-03350", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetStencilTestEnable-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetStencilTestEnable-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
     {"VUID-vkCmdSetStencilTestEnable-commandBuffer-recording", "commandBuffer must be in the recording state", "1.3-extensions"},
@@ -8443,7 +8487,7 @@
     {"VUID-vkCmdSetViewportWScalingNV-firstViewport-01324", "The sum of firstViewport and viewportCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive", "1.3-extensions"},
     {"VUID-vkCmdSetViewportWScalingNV-pViewportWScalings-parameter", "pViewportWScalings must be a valid pointer to an array of viewportCount VkViewportWScalingNV structures", "1.3-extensions"},
     {"VUID-vkCmdSetViewportWScalingNV-viewportCount-arraylength", "viewportCount must be greater than 0", "1.3-extensions"},
-    {"VUID-vkCmdSetViewportWithCount-None-03393", "The extendedDynamicState feature must be enabled", "1.3-extensions"},
+    {"VUID-vkCmdSetViewportWithCount-None-03393", "The extendedDynamicState feature must be enabled", "1.2-extensions"},
     {"VUID-vkCmdSetViewportWithCount-commandBuffer-04819", "commandBuffer must not have VkCommandBufferInheritanceViewportScissorInfoNV::viewportScissor2D enabled", "1.3-extensions"},
     {"VUID-vkCmdSetViewportWithCount-commandBuffer-cmdpool", "The VkCommandPool that commandBuffer was allocated from must support graphics operations", "1.3-extensions"},
     {"VUID-vkCmdSetViewportWithCount-commandBuffer-parameter", "commandBuffer must be a valid VkCommandBuffer handle", "1.3-extensions"},
@@ -8452,6 +8496,7 @@
     {"VUID-vkCmdSetViewportWithCount-viewportCount-03394", "viewportCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive", "1.3-extensions"},
     {"VUID-vkCmdSetViewportWithCount-viewportCount-03395", "If the multiple viewports feature is not enabled, viewportCount must be 1", "1.3-extensions"},
     {"VUID-vkCmdSetViewportWithCount-viewportCount-arraylength", "viewportCount must be greater than 0", "1.3-extensions"},
+    {"VUID-vkCmdSubpassShadingHUAWEI-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -8468,9 +8513,10 @@
     {"VUID-vkCmdSubpassShadingHUAWEI-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.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-None-04931", "This command must be called in a subpass with bind point VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI. No draw commands can be called in the same subpass. Only one vkCmdSubpassShadingHUAWEI command can be called in a subpass", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdSubpassShadingHUAWEI-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-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.3-extensions"},
-    {"VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -8490,6 +8536,7 @@
     {"VUID-vkCmdSubpassShadingHUAWEI-renderpass", "This command must only be called inside of a render pass instance", "1.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-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.3-extensions"},
     {"VUID-vkCmdSubpassShadingHUAWEI-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.3-extensions"},
+    {"VUID-vkCmdTraceRaysIndirectKHR-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -8506,9 +8553,10 @@
     {"VUID-vkCmdTraceRaysIndirectKHR-None-03429", "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-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.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysIndirectKHR-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-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.3-extensions"},
-    {"VUID-vkCmdTraceRaysIndirectKHR-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdTraceRaysIndirectKHR-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysIndirectKHR-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysIndirectKHR-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -8567,6 +8615,7 @@
     {"VUID-vkCmdTraceRaysIndirectKHR-stride-04029", "The stride member of pMissShaderBindingTable must be less than or equal to VkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-stride-04035", "The stride member of pHitShaderBindingTable must be less than or equal to VkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysIndirectKHR-stride-04041", "The stride member of pCallableShaderBindingTable must be less than or equal to VkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysKHR-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -8583,9 +8632,10 @@
     {"VUID-vkCmdTraceRaysKHR-None-03429", "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-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.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysKHR-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-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.3-extensions"},
-    {"VUID-vkCmdTraceRaysKHR-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdTraceRaysKHR-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysKHR-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysKHR-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -8642,6 +8692,7 @@
     {"VUID-vkCmdTraceRaysKHR-stride-04041", "The stride member of pCallableShaderBindingTable must be less than or equal to VkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxShaderGroupStride", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-width-03626", "width must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[0] {times} VkPhysicalDeviceLimits::maxComputeWorkGroupSize[0]", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysKHR-width-03629", "width {times} height {times} depth must be less than or equal to VkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayDispatchInvocationCount", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysNV-ConstOffset-06551", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must not use the ConstOffset and Offset operands", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-None-02691", "If a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-None-02692", "If a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-None-02693", "Any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY", "default"},
@@ -8658,9 +8709,10 @@
     {"VUID-vkCmdTraceRaysNV-None-03429", "Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-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.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-None-06479", "If a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysNV-None-06550", "If the VkPipeline object bound to the pipeline bind point used by this command accesses a VkSampler or VkImageView object that enables sampler {YCbCr} conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-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.3-extensions"},
-    {"VUID-vkCmdTraceRaysNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
-    {"VUID-vkCmdTraceRaysNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown must have image format features that support VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysNV-OpTypeImage-06423", "Any VkImageView or VkBufferView being written as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT", "1.3-extensions"},
+    {"VUID-vkCmdTraceRaysNV-OpTypeImage-06424", "Any VkImageView or VkBufferView being read as a storage image or storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's format feature must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT", "1.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-SampledType-04470", "If a VkImageView with a VkFormat that has a 64-bit component 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.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-SampledType-04471", "If a VkImageView with a VkFormat that has a component 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.3-extensions"},
     {"VUID-vkCmdTraceRaysNV-SampledType-04472", "If a VkBufferView with a VkFormat that has a 64-bit component 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.3-extensions"},
@@ -9559,8 +9611,10 @@
     {"VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parent", "collection must have been created, allocated, or retrieved from device", "1.3-extensions"},
     {"VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"},
     {"VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameter", "pProperties must be a valid pointer to a VkBufferCollectionPropertiesFUCHSIA structure", "1.3-extensions"},
+    {"VUID-vkGetBufferDeviceAddress-None-06542", "The bufferDeviceAddress feature must be enabled", "1.3-khr-extensions"},
     {"VUID-vkGetBufferDeviceAddress-bufferDeviceAddress-03324", "The bufferDeviceAddress or VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::bufferDeviceAddress feature must be enabled", "1.3-extensions"},
     {"VUID-vkGetBufferDeviceAddress-device-03325", "If device was created with multiple physical devices, then the bufferDeviceAddressMultiDevice or VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::bufferDeviceAddressMultiDevice feature must be enabled", "1.3-extensions"},
+    {"VUID-vkGetBufferDeviceAddress-device-06543", "If device was created with multiple physical devices, then the bufferDeviceAddressMultiDevice feature must be enabled", "1.3-khr-extensions"},
     {"VUID-vkGetBufferDeviceAddress-device-parameter", "device must be a valid VkDevice handle", "1.3-extensions"},
     {"VUID-vkGetBufferDeviceAddress-pInfo-parameter", "pInfo must be a valid pointer to a valid VkBufferDeviceAddressInfo structure", "1.3-extensions"},
     {"VUID-vkGetBufferMemoryRequirements-buffer-parameter", "buffer must be a valid VkBuffer handle", "1.3-extensions"},
diff --git a/scripts/known_good.json b/scripts/known_good.json
index 7ed7cc4..6f21b40 100755
--- a/scripts/known_good.json
+++ b/scripts/known_good.json
@@ -18,7 +18,7 @@
       "sub_dir": "Vulkan-Headers",
       "build_dir": "Vulkan-Headers/build",
       "install_dir": "Vulkan-Headers/build/install",
-      "commit": "v1.3.205"
+      "commit": "v1.3.206"
     },
     {
       "name": "SPIRV-Headers",