header: Update to version 1.1.71 of the Vulkan hdr
authorMark Lobodzinski <mark@lunarg.com>
Tue, 20 Mar 2018 19:44:19 +0000 (13:44 -0600)
committerMark Lobodzinski <mark@lunarg.com>
Mon, 26 Mar 2018 21:29:06 +0000 (15:29 -0600)
- updated vulkan_core.h
- updated vulkan-android.h
- updated vk.xml
- updated validusage.json
- updated layer json files
- updated vulkan.hpp
- updated vuid_mapping.py
- marked 27 VUIDs as complete

Change-Id: Ia5abee76e5346b3a1b769664033d91403946f7a9

22 files changed:
icd/linux/VkICD_mock_icd.json
icd/windows/VkICD_mock_icd.json
include/vulkan/vulkan.hpp
include/vulkan/vulkan_android.h
include/vulkan/vulkan_core.h
layers/linux/VkLayer_core_validation.json
layers/linux/VkLayer_object_tracker.json
layers/linux/VkLayer_parameter_validation.json
layers/linux/VkLayer_standard_validation.json
layers/linux/VkLayer_threading.json
layers/linux/VkLayer_unique_objects.json
layers/vk_validation_error_database.txt
layers/vk_validation_error_messages.h
layers/windows/VkLayer_core_validation.json
layers/windows/VkLayer_object_tracker.json
layers/windows/VkLayer_parameter_validation.json
layers/windows/VkLayer_standard_validation.json
layers/windows/VkLayer_threading.json
layers/windows/VkLayer_unique_objects.json
scripts/validusage.json
scripts/vk.xml
scripts/vuid_mapping.py

index d60a723..58b6dcb 100644 (file)
@@ -2,7 +2,7 @@
     "file_format_version" : "1.0.1",
     "ICD": {
         "library_path": "./libVkICD_mock_icd.so",
-        "api_version": "1.1.70"
+        "api_version": "1.1.71"
     }
 }
 
index af96c10..23c9925 100644 (file)
@@ -2,7 +2,7 @@
     "file_format_version" : "1.0.1",
     "ICD": {
         "library_path": ".\\VkICD_mock_icd.dll",
-        "api_version": "1.1.70"
+        "api_version": "1.1.71"
     }
 }
 
index a71b08b..aa796cf 100644 (file)
@@ -36,7 +36,7 @@
 # include <cassert>
 # define VULKAN_HPP_ASSERT   assert
 #endif
-static_assert( VK_HEADER_VERSION ==  70 , "Wrong VK_HEADER_VERSION!" );
+static_assert( VK_HEADER_VERSION ==  71 , "Wrong VK_HEADER_VERSION!" );
 
 // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
 // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
@@ -85,6 +85,12 @@ static_assert( VK_HEADER_VERSION ==  70 , "Wrong VK_HEADER_VERSION!" );
 # define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
 #endif
 
+#if defined(_MSC_VER) && (_MSC_VER <= 1800)
+# define VULKAN_HPP_CONSTEXPR
+#else
+# define VULKAN_HPP_CONSTEXPR constexpr
+#endif
+
 
 #if !defined(VULKAN_HPP_NAMESPACE)
 #define VULKAN_HPP_NAMESPACE vk
@@ -106,7 +112,7 @@ namespace VULKAN_HPP_NAMESPACE
   class Flags
   {
   public:
-    Flags()
+    VULKAN_HPP_CONSTEXPR Flags()
       : m_mask(0)
     {
     }
@@ -247,7 +253,7 @@ namespace VULKAN_HPP_NAMESPACE
   class ArrayProxy
   {
   public:
-    ArrayProxy(std::nullptr_t)
+    VULKAN_HPP_CONSTEXPR ArrayProxy(std::nullptr_t)
       : m_count(0)
       , m_ptr(nullptr)
     {}
@@ -1775,6 +1781,12 @@ public:
   {
     return ::vkFreeMemory( device, memory, pAllocator);
   }
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties  ) const
+  {
+    return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties);
+  }
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
   void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements  ) const
   {
     return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements);
@@ -1889,6 +1901,12 @@ public:
   {
     return ::vkGetInstanceProcAddr( instance, pName);
   }
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer  ) const
+  {
+    return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer);
+  }
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
   VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd  ) const
   {
     return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd);
@@ -2643,11 +2661,11 @@ public:
   class DeviceMemory
   {
   public:
-    DeviceMemory()
+    VULKAN_HPP_CONSTEXPR DeviceMemory()
       : m_deviceMemory(VK_NULL_HANDLE)
     {}
 
-    DeviceMemory( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DeviceMemory( std::nullptr_t )
       : m_deviceMemory(VK_NULL_HANDLE)
     {}
 
@@ -2710,11 +2728,11 @@ public:
   class CommandPool
   {
   public:
-    CommandPool()
+    VULKAN_HPP_CONSTEXPR CommandPool()
       : m_commandPool(VK_NULL_HANDLE)
     {}
 
-    CommandPool( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR CommandPool( std::nullptr_t )
       : m_commandPool(VK_NULL_HANDLE)
     {}
 
@@ -2777,11 +2795,11 @@ public:
   class Buffer
   {
   public:
-    Buffer()
+    VULKAN_HPP_CONSTEXPR Buffer()
       : m_buffer(VK_NULL_HANDLE)
     {}
 
-    Buffer( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Buffer( std::nullptr_t )
       : m_buffer(VK_NULL_HANDLE)
     {}
 
@@ -2844,11 +2862,11 @@ public:
   class BufferView
   {
   public:
-    BufferView()
+    VULKAN_HPP_CONSTEXPR BufferView()
       : m_bufferView(VK_NULL_HANDLE)
     {}
 
-    BufferView( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR BufferView( std::nullptr_t )
       : m_bufferView(VK_NULL_HANDLE)
     {}
 
@@ -2911,11 +2929,11 @@ public:
   class Image
   {
   public:
-    Image()
+    VULKAN_HPP_CONSTEXPR Image()
       : m_image(VK_NULL_HANDLE)
     {}
 
-    Image( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Image( std::nullptr_t )
       : m_image(VK_NULL_HANDLE)
     {}
 
@@ -2978,11 +2996,11 @@ public:
   class ImageView
   {
   public:
-    ImageView()
+    VULKAN_HPP_CONSTEXPR ImageView()
       : m_imageView(VK_NULL_HANDLE)
     {}
 
-    ImageView( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR ImageView( std::nullptr_t )
       : m_imageView(VK_NULL_HANDLE)
     {}
 
@@ -3045,11 +3063,11 @@ public:
   class ShaderModule
   {
   public:
-    ShaderModule()
+    VULKAN_HPP_CONSTEXPR ShaderModule()
       : m_shaderModule(VK_NULL_HANDLE)
     {}
 
-    ShaderModule( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR ShaderModule( std::nullptr_t )
       : m_shaderModule(VK_NULL_HANDLE)
     {}
 
@@ -3112,11 +3130,11 @@ public:
   class Pipeline
   {
   public:
-    Pipeline()
+    VULKAN_HPP_CONSTEXPR Pipeline()
       : m_pipeline(VK_NULL_HANDLE)
     {}
 
-    Pipeline( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Pipeline( std::nullptr_t )
       : m_pipeline(VK_NULL_HANDLE)
     {}
 
@@ -3179,11 +3197,11 @@ public:
   class PipelineLayout
   {
   public:
-    PipelineLayout()
+    VULKAN_HPP_CONSTEXPR PipelineLayout()
       : m_pipelineLayout(VK_NULL_HANDLE)
     {}
 
-    PipelineLayout( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR PipelineLayout( std::nullptr_t )
       : m_pipelineLayout(VK_NULL_HANDLE)
     {}
 
@@ -3246,11 +3264,11 @@ public:
   class Sampler
   {
   public:
-    Sampler()
+    VULKAN_HPP_CONSTEXPR Sampler()
       : m_sampler(VK_NULL_HANDLE)
     {}
 
-    Sampler( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Sampler( std::nullptr_t )
       : m_sampler(VK_NULL_HANDLE)
     {}
 
@@ -3313,11 +3331,11 @@ public:
   class DescriptorSet
   {
   public:
-    DescriptorSet()
+    VULKAN_HPP_CONSTEXPR DescriptorSet()
       : m_descriptorSet(VK_NULL_HANDLE)
     {}
 
-    DescriptorSet( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DescriptorSet( std::nullptr_t )
       : m_descriptorSet(VK_NULL_HANDLE)
     {}
 
@@ -3380,11 +3398,11 @@ public:
   class DescriptorSetLayout
   {
   public:
-    DescriptorSetLayout()
+    VULKAN_HPP_CONSTEXPR DescriptorSetLayout()
       : m_descriptorSetLayout(VK_NULL_HANDLE)
     {}
 
-    DescriptorSetLayout( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DescriptorSetLayout( std::nullptr_t )
       : m_descriptorSetLayout(VK_NULL_HANDLE)
     {}
 
@@ -3447,11 +3465,11 @@ public:
   class DescriptorPool
   {
   public:
-    DescriptorPool()
+    VULKAN_HPP_CONSTEXPR DescriptorPool()
       : m_descriptorPool(VK_NULL_HANDLE)
     {}
 
-    DescriptorPool( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DescriptorPool( std::nullptr_t )
       : m_descriptorPool(VK_NULL_HANDLE)
     {}
 
@@ -3514,11 +3532,11 @@ public:
   class Fence
   {
   public:
-    Fence()
+    VULKAN_HPP_CONSTEXPR Fence()
       : m_fence(VK_NULL_HANDLE)
     {}
 
-    Fence( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Fence( std::nullptr_t )
       : m_fence(VK_NULL_HANDLE)
     {}
 
@@ -3581,11 +3599,11 @@ public:
   class Semaphore
   {
   public:
-    Semaphore()
+    VULKAN_HPP_CONSTEXPR Semaphore()
       : m_semaphore(VK_NULL_HANDLE)
     {}
 
-    Semaphore( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Semaphore( std::nullptr_t )
       : m_semaphore(VK_NULL_HANDLE)
     {}
 
@@ -3648,11 +3666,11 @@ public:
   class Event
   {
   public:
-    Event()
+    VULKAN_HPP_CONSTEXPR Event()
       : m_event(VK_NULL_HANDLE)
     {}
 
-    Event( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Event( std::nullptr_t )
       : m_event(VK_NULL_HANDLE)
     {}
 
@@ -3715,11 +3733,11 @@ public:
   class QueryPool
   {
   public:
-    QueryPool()
+    VULKAN_HPP_CONSTEXPR QueryPool()
       : m_queryPool(VK_NULL_HANDLE)
     {}
 
-    QueryPool( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR QueryPool( std::nullptr_t )
       : m_queryPool(VK_NULL_HANDLE)
     {}
 
@@ -3782,11 +3800,11 @@ public:
   class Framebuffer
   {
   public:
-    Framebuffer()
+    VULKAN_HPP_CONSTEXPR Framebuffer()
       : m_framebuffer(VK_NULL_HANDLE)
     {}
 
-    Framebuffer( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Framebuffer( std::nullptr_t )
       : m_framebuffer(VK_NULL_HANDLE)
     {}
 
@@ -3849,11 +3867,11 @@ public:
   class RenderPass
   {
   public:
-    RenderPass()
+    VULKAN_HPP_CONSTEXPR RenderPass()
       : m_renderPass(VK_NULL_HANDLE)
     {}
 
-    RenderPass( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR RenderPass( std::nullptr_t )
       : m_renderPass(VK_NULL_HANDLE)
     {}
 
@@ -3916,11 +3934,11 @@ public:
   class PipelineCache
   {
   public:
-    PipelineCache()
+    VULKAN_HPP_CONSTEXPR PipelineCache()
       : m_pipelineCache(VK_NULL_HANDLE)
     {}
 
-    PipelineCache( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR PipelineCache( std::nullptr_t )
       : m_pipelineCache(VK_NULL_HANDLE)
     {}
 
@@ -3983,11 +4001,11 @@ public:
   class ObjectTableNVX
   {
   public:
-    ObjectTableNVX()
+    VULKAN_HPP_CONSTEXPR ObjectTableNVX()
       : m_objectTableNVX(VK_NULL_HANDLE)
     {}
 
-    ObjectTableNVX( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR ObjectTableNVX( std::nullptr_t )
       : m_objectTableNVX(VK_NULL_HANDLE)
     {}
 
@@ -4050,11 +4068,11 @@ public:
   class IndirectCommandsLayoutNVX
   {
   public:
-    IndirectCommandsLayoutNVX()
+    VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNVX()
       : m_indirectCommandsLayoutNVX(VK_NULL_HANDLE)
     {}
 
-    IndirectCommandsLayoutNVX( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR IndirectCommandsLayoutNVX( std::nullptr_t )
       : m_indirectCommandsLayoutNVX(VK_NULL_HANDLE)
     {}
 
@@ -4117,11 +4135,11 @@ public:
   class DescriptorUpdateTemplate
   {
   public:
-    DescriptorUpdateTemplate()
+    VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate()
       : m_descriptorUpdateTemplate(VK_NULL_HANDLE)
     {}
 
-    DescriptorUpdateTemplate( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DescriptorUpdateTemplate( std::nullptr_t )
       : m_descriptorUpdateTemplate(VK_NULL_HANDLE)
     {}
 
@@ -4186,11 +4204,11 @@ public:
   class SamplerYcbcrConversion
   {
   public:
-    SamplerYcbcrConversion()
+    VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion()
       : m_samplerYcbcrConversion(VK_NULL_HANDLE)
     {}
 
-    SamplerYcbcrConversion( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR SamplerYcbcrConversion( std::nullptr_t )
       : m_samplerYcbcrConversion(VK_NULL_HANDLE)
     {}
 
@@ -4255,11 +4273,11 @@ public:
   class ValidationCacheEXT
   {
   public:
-    ValidationCacheEXT()
+    VULKAN_HPP_CONSTEXPR ValidationCacheEXT()
       : m_validationCacheEXT(VK_NULL_HANDLE)
     {}
 
-    ValidationCacheEXT( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR ValidationCacheEXT( std::nullptr_t )
       : m_validationCacheEXT(VK_NULL_HANDLE)
     {}
 
@@ -4322,11 +4340,11 @@ public:
   class DisplayKHR
   {
   public:
-    DisplayKHR()
+    VULKAN_HPP_CONSTEXPR DisplayKHR()
       : m_displayKHR(VK_NULL_HANDLE)
     {}
 
-    DisplayKHR( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DisplayKHR( std::nullptr_t )
       : m_displayKHR(VK_NULL_HANDLE)
     {}
 
@@ -4389,11 +4407,11 @@ public:
   class DisplayModeKHR
   {
   public:
-    DisplayModeKHR()
+    VULKAN_HPP_CONSTEXPR DisplayModeKHR()
       : m_displayModeKHR(VK_NULL_HANDLE)
     {}
 
-    DisplayModeKHR( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DisplayModeKHR( std::nullptr_t )
       : m_displayModeKHR(VK_NULL_HANDLE)
     {}
 
@@ -4456,11 +4474,11 @@ public:
   class SurfaceKHR
   {
   public:
-    SurfaceKHR()
+    VULKAN_HPP_CONSTEXPR SurfaceKHR()
       : m_surfaceKHR(VK_NULL_HANDLE)
     {}
 
-    SurfaceKHR( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR SurfaceKHR( std::nullptr_t )
       : m_surfaceKHR(VK_NULL_HANDLE)
     {}
 
@@ -4523,11 +4541,11 @@ public:
   class SwapchainKHR
   {
   public:
-    SwapchainKHR()
+    VULKAN_HPP_CONSTEXPR SwapchainKHR()
       : m_swapchainKHR(VK_NULL_HANDLE)
     {}
 
-    SwapchainKHR( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR SwapchainKHR( std::nullptr_t )
       : m_swapchainKHR(VK_NULL_HANDLE)
     {}
 
@@ -4590,11 +4608,11 @@ public:
   class DebugReportCallbackEXT
   {
   public:
-    DebugReportCallbackEXT()
+    VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT()
       : m_debugReportCallbackEXT(VK_NULL_HANDLE)
     {}
 
-    DebugReportCallbackEXT( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DebugReportCallbackEXT( std::nullptr_t )
       : m_debugReportCallbackEXT(VK_NULL_HANDLE)
     {}
 
@@ -4657,11 +4675,11 @@ public:
   class DebugUtilsMessengerEXT
   {
   public:
-    DebugUtilsMessengerEXT()
+    VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT()
       : m_debugUtilsMessengerEXT(VK_NULL_HANDLE)
     {}
 
-    DebugUtilsMessengerEXT( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR DebugUtilsMessengerEXT( std::nullptr_t )
       : m_debugUtilsMessengerEXT(VK_NULL_HANDLE)
     {}
 
@@ -8519,6 +8537,12 @@ public:
     eDebugUtilsLabelEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
     eDebugUtilsMessengerCallbackDataEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
     eDebugUtilsMessengerCreateInfoEXT = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
+    eAndroidHardwareBufferUsageANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
+    eAndroidHardwareBufferPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
+    eAndroidHardwareBufferFormatPropertiesANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
+    eImportAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
+    eMemoryGetAndroidHardwareBufferInfoANDROID = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
+    eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
     ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,
     eSamplerReductionModeCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,
     eSampleLocationsInfoEXT = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,
@@ -15833,6 +15857,239 @@ public:
   };
   static_assert( sizeof( PhysicalDeviceVertexAttributeDivisorPropertiesEXT ) == sizeof( VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT ), "struct and wrapper have different size!" );
 
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  struct ImportAndroidHardwareBufferInfoANDROID
+  {
+    ImportAndroidHardwareBufferInfoANDROID( struct AHardwareBuffer* buffer_ = nullptr )
+      : buffer( buffer_ )
+    {
+    }
+
+    ImportAndroidHardwareBufferInfoANDROID( VkImportAndroidHardwareBufferInfoANDROID const & rhs )
+    {
+      memcpy( this, &rhs, sizeof( ImportAndroidHardwareBufferInfoANDROID ) );
+    }
+
+    ImportAndroidHardwareBufferInfoANDROID& operator=( VkImportAndroidHardwareBufferInfoANDROID const & rhs )
+    {
+      memcpy( this, &rhs, sizeof( ImportAndroidHardwareBufferInfoANDROID ) );
+      return *this;
+    }
+    ImportAndroidHardwareBufferInfoANDROID& setPNext( const void* pNext_ )
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    ImportAndroidHardwareBufferInfoANDROID& setBuffer( struct AHardwareBuffer* buffer_ )
+    {
+      buffer = buffer_;
+      return *this;
+    }
+
+    operator const VkImportAndroidHardwareBufferInfoANDROID&() const
+    {
+      return *reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(this);
+    }
+
+    bool operator==( ImportAndroidHardwareBufferInfoANDROID const& rhs ) const
+    {
+      return ( sType == rhs.sType )
+          && ( pNext == rhs.pNext )
+          && ( buffer == rhs.buffer );
+    }
+
+    bool operator!=( ImportAndroidHardwareBufferInfoANDROID const& rhs ) const
+    {
+      return !operator==( rhs );
+    }
+
+  private:
+    StructureType sType = StructureType::eImportAndroidHardwareBufferInfoANDROID;
+
+  public:
+    const void* pNext = nullptr;
+    struct AHardwareBuffer* buffer;
+  };
+  static_assert( sizeof( ImportAndroidHardwareBufferInfoANDROID ) == sizeof( VkImportAndroidHardwareBufferInfoANDROID ), "struct and wrapper have different size!" );
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  struct AndroidHardwareBufferUsageANDROID
+  {
+    operator const VkAndroidHardwareBufferUsageANDROID&() const
+    {
+      return *reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(this);
+    }
+
+    bool operator==( AndroidHardwareBufferUsageANDROID const& rhs ) const
+    {
+      return ( sType == rhs.sType )
+          && ( pNext == rhs.pNext )
+          && ( androidHardwareBufferUsage == rhs.androidHardwareBufferUsage );
+    }
+
+    bool operator!=( AndroidHardwareBufferUsageANDROID const& rhs ) const
+    {
+      return !operator==( rhs );
+    }
+
+  private:
+    StructureType sType = StructureType::eAndroidHardwareBufferUsageANDROID;
+
+  public:
+    void* pNext = nullptr;
+    uint64_t androidHardwareBufferUsage;
+  };
+  static_assert( sizeof( AndroidHardwareBufferUsageANDROID ) == sizeof( VkAndroidHardwareBufferUsageANDROID ), "struct and wrapper have different size!" );
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  struct AndroidHardwareBufferPropertiesANDROID
+  {
+    operator const VkAndroidHardwareBufferPropertiesANDROID&() const
+    {
+      return *reinterpret_cast<const VkAndroidHardwareBufferPropertiesANDROID*>(this);
+    }
+
+    bool operator==( AndroidHardwareBufferPropertiesANDROID const& rhs ) const
+    {
+      return ( sType == rhs.sType )
+          && ( pNext == rhs.pNext )
+          && ( allocationSize == rhs.allocationSize )
+          && ( memoryTypeBits == rhs.memoryTypeBits );
+    }
+
+    bool operator!=( AndroidHardwareBufferPropertiesANDROID const& rhs ) const
+    {
+      return !operator==( rhs );
+    }
+
+  private:
+    StructureType sType = StructureType::eAndroidHardwareBufferPropertiesANDROID;
+
+  public:
+    void* pNext = nullptr;
+    DeviceSize allocationSize;
+    uint32_t memoryTypeBits;
+  };
+  static_assert( sizeof( AndroidHardwareBufferPropertiesANDROID ) == sizeof( VkAndroidHardwareBufferPropertiesANDROID ), "struct and wrapper have different size!" );
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  struct MemoryGetAndroidHardwareBufferInfoANDROID
+  {
+    MemoryGetAndroidHardwareBufferInfoANDROID( DeviceMemory memory_ = DeviceMemory() )
+      : memory( memory_ )
+    {
+    }
+
+    MemoryGetAndroidHardwareBufferInfoANDROID( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs )
+    {
+      memcpy( this, &rhs, sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) );
+    }
+
+    MemoryGetAndroidHardwareBufferInfoANDROID& operator=( VkMemoryGetAndroidHardwareBufferInfoANDROID const & rhs )
+    {
+      memcpy( this, &rhs, sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) );
+      return *this;
+    }
+    MemoryGetAndroidHardwareBufferInfoANDROID& setPNext( const void* pNext_ )
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    MemoryGetAndroidHardwareBufferInfoANDROID& setMemory( DeviceMemory memory_ )
+    {
+      memory = memory_;
+      return *this;
+    }
+
+    operator const VkMemoryGetAndroidHardwareBufferInfoANDROID&() const
+    {
+      return *reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID*>(this);
+    }
+
+    bool operator==( MemoryGetAndroidHardwareBufferInfoANDROID const& rhs ) const
+    {
+      return ( sType == rhs.sType )
+          && ( pNext == rhs.pNext )
+          && ( memory == rhs.memory );
+    }
+
+    bool operator!=( MemoryGetAndroidHardwareBufferInfoANDROID const& rhs ) const
+    {
+      return !operator==( rhs );
+    }
+
+  private:
+    StructureType sType = StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID;
+
+  public:
+    const void* pNext = nullptr;
+    DeviceMemory memory;
+  };
+  static_assert( sizeof( MemoryGetAndroidHardwareBufferInfoANDROID ) == sizeof( VkMemoryGetAndroidHardwareBufferInfoANDROID ), "struct and wrapper have different size!" );
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  struct ExternalFormatANDROID
+  {
+    ExternalFormatANDROID( uint64_t externalFormat_ = 0 )
+      : externalFormat( externalFormat_ )
+    {
+    }
+
+    ExternalFormatANDROID( VkExternalFormatANDROID const & rhs )
+    {
+      memcpy( this, &rhs, sizeof( ExternalFormatANDROID ) );
+    }
+
+    ExternalFormatANDROID& operator=( VkExternalFormatANDROID const & rhs )
+    {
+      memcpy( this, &rhs, sizeof( ExternalFormatANDROID ) );
+      return *this;
+    }
+    ExternalFormatANDROID& setPNext( void* pNext_ )
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    ExternalFormatANDROID& setExternalFormat( uint64_t externalFormat_ )
+    {
+      externalFormat = externalFormat_;
+      return *this;
+    }
+
+    operator const VkExternalFormatANDROID&() const
+    {
+      return *reinterpret_cast<const VkExternalFormatANDROID*>(this);
+    }
+
+    bool operator==( ExternalFormatANDROID const& rhs ) const
+    {
+      return ( sType == rhs.sType )
+          && ( pNext == rhs.pNext )
+          && ( externalFormat == rhs.externalFormat );
+    }
+
+    bool operator!=( ExternalFormatANDROID const& rhs ) const
+    {
+      return !operator==( rhs );
+    }
+
+  private:
+    StructureType sType = StructureType::eExternalFormatANDROID;
+
+  public:
+    void* pNext = nullptr;
+    uint64_t externalFormat;
+  };
+  static_assert( sizeof( ExternalFormatANDROID ) == sizeof( VkExternalFormatANDROID ), "struct and wrapper have different size!" );
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
   enum class SubpassContents
   {
     eInline = VK_SUBPASS_CONTENTS_INLINE,
@@ -24666,6 +24923,7 @@ public:
     eD3D12Resource = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
     eD3D12ResourceKHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
     eDmaBufEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
+    eAndroidHardwareBufferANDROID = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,
     eHostAllocationEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,
     eHostMappedForeignMemoryEXT = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
   };
@@ -24686,7 +24944,7 @@ public:
   {
     enum
     {
-      allFlags = VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11Texture) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Heap) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Resource) | VkFlags(ExternalMemoryHandleTypeFlagBits::eDmaBufEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT)
+      allFlags = VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueFd) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32) | VkFlags(ExternalMemoryHandleTypeFlagBits::eOpaqueWin32Kmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11Texture) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D11TextureKmt) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Heap) | VkFlags(ExternalMemoryHandleTypeFlagBits::eD3D12Resource) | VkFlags(ExternalMemoryHandleTypeFlagBits::eDmaBufEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) | VkFlags(ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT)
     };
   };
 
@@ -28194,6 +28452,50 @@ public:
 
   using SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
 
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  struct AndroidHardwareBufferFormatPropertiesANDROID
+  {
+    operator const VkAndroidHardwareBufferFormatPropertiesANDROID&() const
+    {
+      return *reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(this);
+    }
+
+    bool operator==( AndroidHardwareBufferFormatPropertiesANDROID const& rhs ) const
+    {
+      return ( sType == rhs.sType )
+          && ( pNext == rhs.pNext )
+          && ( format == rhs.format )
+          && ( externalFormat == rhs.externalFormat )
+          && ( formatFeatures == rhs.formatFeatures )
+          && ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents )
+          && ( suggestedYcbcrModel == rhs.suggestedYcbcrModel )
+          && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange )
+          && ( suggestedXChromaOffset == rhs.suggestedXChromaOffset )
+          && ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
+    }
+
+    bool operator!=( AndroidHardwareBufferFormatPropertiesANDROID const& rhs ) const
+    {
+      return !operator==( rhs );
+    }
+
+  private:
+    StructureType sType = StructureType::eAndroidHardwareBufferFormatPropertiesANDROID;
+
+  public:
+    void* pNext = nullptr;
+    Format format;
+    uint64_t externalFormat;
+    FormatFeatureFlags formatFeatures;
+    ComponentMapping samplerYcbcrConversionComponents;
+    SamplerYcbcrModelConversion suggestedYcbcrModel;
+    SamplerYcbcrRange suggestedYcbcrRange;
+    ChromaLocation suggestedXChromaOffset;
+    ChromaLocation suggestedYChromaOffset;
+  };
+  static_assert( sizeof( AndroidHardwareBufferFormatPropertiesANDROID ) == sizeof( VkAndroidHardwareBufferFormatPropertiesANDROID ), "struct and wrapper have different size!" );
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
   enum class BlendOverlapEXT
   {
     eUncorrelated = VK_BLEND_OVERLAP_UNCORRELATED_EXT,
@@ -28773,11 +29075,11 @@ public:
   class CommandBuffer
   {
   public:
-    CommandBuffer()
+    VULKAN_HPP_CONSTEXPR CommandBuffer()
       : m_commandBuffer(VK_NULL_HANDLE)
     {}
 
-    CommandBuffer( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR CommandBuffer( std::nullptr_t )
       : m_commandBuffer(VK_NULL_HANDLE)
     {}
 
@@ -30199,11 +30501,11 @@ public:
   class Queue
   {
   public:
-    Queue()
+    VULKAN_HPP_CONSTEXPR Queue()
       : m_queue(VK_NULL_HANDLE)
     {}
 
-    Queue( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Queue( std::nullptr_t )
       : m_queue(VK_NULL_HANDLE)
     {}
 
@@ -30468,11 +30770,11 @@ public:
   class Device
   {
   public:
-    Device()
+    VULKAN_HPP_CONSTEXPR Device()
       : m_device(VK_NULL_HANDLE)
     {}
 
-    Device( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Device( std::nullptr_t )
       : m_device(VK_NULL_HANDLE)
     {}
 
@@ -31512,7 +31814,7 @@ public:
     Result getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue, Dispatch const &d = Dispatch() ) const;
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template<typename Dispatch = DispatchLoaderStatic>
-    ResultValue<uint64_t> getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, Dispatch const &d = Dispatch() ) const;
+    ResultValueType<uint64_t>::type getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, Dispatch const &d = Dispatch() ) const;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template<typename Dispatch = DispatchLoaderStatic>
@@ -31832,6 +32134,26 @@ public:
     ResultValueType<MemoryHostPointerPropertiesEXT>::type getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, Dispatch const &d = Dispatch() ) const;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+    template<typename Dispatch = DispatchLoaderStatic>
+    Result getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer* buffer, AndroidHardwareBufferPropertiesANDROID* pProperties, Dispatch const &d = Dispatch() ) const;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template<typename Dispatch = DispatchLoaderStatic>
+    ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d = Dispatch() ) const;
+    template <typename ...T, typename Dispatch = DispatchLoaderStatic>
+    typename ResultValueType<StructureChain<T...>>::type getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d = Dispatch() ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+    template<typename Dispatch = DispatchLoaderStatic>
+    Result getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer, Dispatch const &d = Dispatch() ) const;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template<typename Dispatch = DispatchLoaderStatic>
+    ResultValueType<struct AHardwareBuffer*>::type getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info, Dispatch const &d = Dispatch() ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
 
 
     VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDevice() const
@@ -34065,11 +34387,11 @@ public:
   }
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template<typename Dispatch>
-  VULKAN_HPP_INLINE ResultValue<uint64_t> Device::getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, Dispatch const &d ) const
+  VULKAN_HPP_INLINE ResultValueType<uint64_t>::type Device::getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, Dispatch const &d ) const
   {
     uint64_t counterValue;
     Result result = static_cast<Result>( d.vkGetSwapchainCounterEXT( m_device, static_cast<VkSwapchainKHR>( swapchain ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), &counterValue ) );
-    return createResultValue( result, counterValue, VULKAN_HPP_NAMESPACE_STRING"::Device::getSwapchainCounterEXT", { Result::eSuccess, Result::eErrorDeviceLost, Result::eErrorOutOfDateKHR } );
+    return createResultValue( result, counterValue, VULKAN_HPP_NAMESPACE_STRING"::Device::getSwapchainCounterEXT" );
   }
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
@@ -34828,6 +35150,48 @@ public:
   }
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  template<typename Dispatch>
+  VULKAN_HPP_INLINE Result Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer* buffer, AndroidHardwareBufferPropertiesANDROID* pProperties, Dispatch const &d) const
+  {
+    return static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID*>( pProperties ) ) );
+  }
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template<typename Dispatch>
+  VULKAN_HPP_INLINE ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d ) const
+  {
+    AndroidHardwareBufferPropertiesANDROID properties;
+    Result result = static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID*>( &properties ) ) );
+    return createResultValue( result, properties, VULKAN_HPP_NAMESPACE_STRING"::Device::getAndroidHardwareBufferPropertiesANDROID" );
+  }
+  template <typename ...T, typename Dispatch>
+  VULKAN_HPP_INLINE typename ResultValueType<StructureChain<T...>>::type Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const &d ) const
+  {
+    StructureChain<T...> structureChain;
+    AndroidHardwareBufferPropertiesANDROID& properties = structureChain.template get<AndroidHardwareBufferPropertiesANDROID>();
+    Result result = static_cast<Result>( d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID*>( &properties ) ) );
+    return createResultValue( result, structureChain, VULKAN_HPP_NAMESPACE_STRING"::Device::getAndroidHardwareBufferPropertiesANDROID" );
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  template<typename Dispatch>
+  VULKAN_HPP_INLINE Result Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer, Dispatch const &d) const
+  {
+    return static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID( m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID*>( pInfo ), pBuffer ) );
+  }
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template<typename Dispatch>
+  VULKAN_HPP_INLINE ResultValueType<struct AHardwareBuffer*>::type Device::getMemoryAndroidHardwareBufferANDROID( const MemoryGetAndroidHardwareBufferInfoANDROID & info, Dispatch const &d ) const
+  {
+    struct AHardwareBuffer* buffer;
+    Result result = static_cast<Result>( d.vkGetMemoryAndroidHardwareBufferANDROID( m_device, reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID*>( &info ), &buffer ) );
+    return createResultValue( result, buffer, VULKAN_HPP_NAMESPACE_STRING"::Device::getMemoryAndroidHardwareBufferANDROID" );
+  }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+
 #ifndef VULKAN_HPP_NO_SMART_HANDLE
 
   template <> class UniqueHandleTraits<Device> {public: using deleter = ObjectDestroy<NoParent>; };
@@ -34837,11 +35201,11 @@ public:
   class PhysicalDevice
   {
   public:
-    PhysicalDevice()
+    VULKAN_HPP_CONSTEXPR PhysicalDevice()
       : m_physicalDevice(VK_NULL_HANDLE)
     {}
 
-    PhysicalDevice( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR PhysicalDevice( std::nullptr_t )
       : m_physicalDevice(VK_NULL_HANDLE)
     {}
 
@@ -36534,11 +36898,11 @@ public:
   class Instance
   {
   public:
-    Instance()
+    VULKAN_HPP_CONSTEXPR Instance()
       : m_instance(VK_NULL_HANDLE)
     {}
 
-    Instance( std::nullptr_t )
+    VULKAN_HPP_CONSTEXPR Instance( std::nullptr_t )
       : m_instance(VK_NULL_HANDLE)
     {}
 
@@ -37571,6 +37935,16 @@ public:
   template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDeviceConservativeRasterizationPropertiesEXT>{ enum { value = true }; };
   template <> struct isStructureChainValid<PipelineVertexInputStateCreateInfo, PipelineVertexInputDivisorStateCreateInfoEXT>{ enum { value = true }; };
   template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDeviceVertexAttributeDivisorPropertiesEXT>{ enum { value = true }; };
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  template <> struct isStructureChainValid<MemoryAllocateInfo, ImportAndroidHardwareBufferInfoANDROID>{ enum { value = true }; };
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  template <> struct isStructureChainValid<ImageFormatProperties2, AndroidHardwareBufferUsageANDROID>{ enum { value = true }; };
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  template <> struct isStructureChainValid<ImageCreateInfo, ExternalFormatANDROID>{ enum { value = true }; };
+  template <> struct isStructureChainValid<SamplerYcbcrConversionCreateInfo, ExternalFormatANDROID>{ enum { value = true }; };
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
   template <> struct isStructureChainValid<SurfaceCapabilities2KHR, SharedPresentSurfaceCapabilitiesKHR>{ enum { value = true }; };
   template <> struct isStructureChainValid<ImageViewCreateInfo, ImageViewUsageCreateInfo>{ enum { value = true }; };
   template <> struct isStructureChainValid<RenderPassCreateInfo, RenderPassInputAttachmentAspectCreateInfo>{ enum { value = true }; };
@@ -37610,6 +37984,11 @@ public:
   template <> struct isStructureChainValid<PhysicalDeviceProperties2, PhysicalDevicePointClippingProperties>{ enum { value = true }; };
   template <> struct isStructureChainValid<SamplerCreateInfo, SamplerReductionModeCreateInfoEXT>{ enum { value = true }; };
   template <> struct isStructureChainValid<PipelineTessellationStateCreateInfo, PipelineTessellationDomainOriginStateCreateInfo>{ enum { value = true }; };
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+  template <> struct isStructureChainValid<AndroidHardwareBufferPropertiesANDROID, AndroidHardwareBufferFormatPropertiesANDROID>{ enum { value = true }; };
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
   template <> struct isStructureChainValid<PipelineColorBlendStateCreateInfo, PipelineColorBlendAdvancedStateCreateInfoEXT>{ enum { value = true }; };
   template <> struct isStructureChainValid<PipelineMultisampleStateCreateInfo, PipelineCoverageModulationStateCreateInfoNV>{ enum { value = true }; };
   template <> struct isStructureChainValid<DeviceQueueCreateInfo, DeviceQueueGlobalPriorityCreateInfoEXT>{ enum { value = true }; };
@@ -39021,6 +39400,12 @@ public:
     case StructureType::eDebugUtilsLabelEXT: return "DebugUtilsLabelEXT";
     case StructureType::eDebugUtilsMessengerCallbackDataEXT: return "DebugUtilsMessengerCallbackDataEXT";
     case StructureType::eDebugUtilsMessengerCreateInfoEXT: return "DebugUtilsMessengerCreateInfoEXT";
+    case StructureType::eAndroidHardwareBufferUsageANDROID: return "AndroidHardwareBufferUsageANDROID";
+    case StructureType::eAndroidHardwareBufferPropertiesANDROID: return "AndroidHardwareBufferPropertiesANDROID";
+    case StructureType::eAndroidHardwareBufferFormatPropertiesANDROID: return "AndroidHardwareBufferFormatPropertiesANDROID";
+    case StructureType::eImportAndroidHardwareBufferInfoANDROID: return "ImportAndroidHardwareBufferInfoANDROID";
+    case StructureType::eMemoryGetAndroidHardwareBufferInfoANDROID: return "MemoryGetAndroidHardwareBufferInfoANDROID";
+    case StructureType::eExternalFormatANDROID: return "ExternalFormatANDROID";
     case StructureType::ePhysicalDeviceSamplerFilterMinmaxPropertiesEXT: return "PhysicalDeviceSamplerFilterMinmaxPropertiesEXT";
     case StructureType::eSamplerReductionModeCreateInfoEXT: return "SamplerReductionModeCreateInfoEXT";
     case StructureType::eSampleLocationsInfoEXT: return "SampleLocationsInfoEXT";
@@ -40317,6 +40702,7 @@ public:
     case ExternalMemoryHandleTypeFlagBits::eD3D12Heap: return "D3D12Heap";
     case ExternalMemoryHandleTypeFlagBits::eD3D12Resource: return "D3D12Resource";
     case ExternalMemoryHandleTypeFlagBits::eDmaBufEXT: return "DmaBufEXT";
+    case ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID: return "AndroidHardwareBufferANDROID";
     case ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT: return "HostAllocationEXT";
     case ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT: return "HostMappedForeignMemoryEXT";
     default: return "invalid";
@@ -40335,6 +40721,7 @@ public:
     if (value & ExternalMemoryHandleTypeFlagBits::eD3D12Heap) result += "D3D12Heap | ";
     if (value & ExternalMemoryHandleTypeFlagBits::eD3D12Resource) result += "D3D12Resource | ";
     if (value & ExternalMemoryHandleTypeFlagBits::eDmaBufEXT) result += "DmaBufEXT | ";
+    if (value & ExternalMemoryHandleTypeFlagBits::eAndroidHardwareBufferANDROID) result += "AndroidHardwareBufferANDROID | ";
     if (value & ExternalMemoryHandleTypeFlagBits::eHostAllocationEXT) result += "HostAllocationEXT | ";
     if (value & ExternalMemoryHandleTypeFlagBits::eHostMappedForeignMemoryEXT) result += "HostMappedForeignMemoryEXT | ";
     return "{" + result.substr(0, result.size() - 3) + "}";
@@ -41020,6 +41407,9 @@ public:
     PFN_vkFreeCommandBuffers vkFreeCommandBuffers = 0;
     PFN_vkFreeDescriptorSets vkFreeDescriptorSets = 0;
     PFN_vkFreeMemory vkFreeMemory = 0;
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+    PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
     PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements = 0;
     PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 = 0;
     PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR = 0;
@@ -41050,6 +41440,9 @@ public:
     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
     PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout = 0;
     PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0;
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+    PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0;
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
     PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR = 0;
     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
@@ -41375,6 +41768,9 @@ public:
       vkFreeCommandBuffers = PFN_vkFreeCommandBuffers(device ? device.getProcAddr( "vkFreeCommandBuffers") : instance.getProcAddr( "vkFreeCommandBuffers"));
       vkFreeDescriptorSets = PFN_vkFreeDescriptorSets(device ? device.getProcAddr( "vkFreeDescriptorSets") : instance.getProcAddr( "vkFreeDescriptorSets"));
       vkFreeMemory = PFN_vkFreeMemory(device ? device.getProcAddr( "vkFreeMemory") : instance.getProcAddr( "vkFreeMemory"));
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+      vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(device ? device.getProcAddr( "vkGetAndroidHardwareBufferPropertiesANDROID") : instance.getProcAddr( "vkGetAndroidHardwareBufferPropertiesANDROID"));
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
       vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements(device ? device.getProcAddr( "vkGetBufferMemoryRequirements") : instance.getProcAddr( "vkGetBufferMemoryRequirements"));
       vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2(device ? device.getProcAddr( "vkGetBufferMemoryRequirements2") : instance.getProcAddr( "vkGetBufferMemoryRequirements2"));
       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR(device ? device.getProcAddr( "vkGetBufferMemoryRequirements2KHR") : instance.getProcAddr( "vkGetBufferMemoryRequirements2KHR"));
@@ -41405,6 +41801,9 @@ public:
       vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(device ? device.getProcAddr( "vkGetImageSparseMemoryRequirements2KHR") : instance.getProcAddr( "vkGetImageSparseMemoryRequirements2KHR"));
       vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout(device ? device.getProcAddr( "vkGetImageSubresourceLayout") : instance.getProcAddr( "vkGetImageSubresourceLayout"));
       vkGetInstanceProcAddr = PFN_vkGetInstanceProcAddr(instance.getProcAddr( "vkGetInstanceProcAddr"));
+#ifdef VK_USE_PLATFORM_ANDROID_ANDROID
+      vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(device ? device.getProcAddr( "vkGetMemoryAndroidHardwareBufferANDROID") : instance.getProcAddr( "vkGetMemoryAndroidHardwareBufferANDROID"));
+#endif /*VK_USE_PLATFORM_ANDROID_ANDROID*/
       vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR(device ? device.getProcAddr( "vkGetMemoryFdKHR") : instance.getProcAddr( "vkGetMemoryFdKHR"));
       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR(device ? device.getProcAddr( "vkGetMemoryFdPropertiesKHR") : instance.getProcAddr( "vkGetMemoryFdPropertiesKHR"));
       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT(device ? device.getProcAddr( "vkGetMemoryHostPointerPropertiesEXT") : instance.getProcAddr( "vkGetMemoryHostPointerPropertiesEXT"));
index 5e61c05..07aaeda 100644 (file)
@@ -53,6 +53,72 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
     VkSurfaceKHR*                               pSurface);
 #endif
 
+#define VK_ANDROID_external_memory_android_hardware_buffer 1
+struct AHardwareBuffer;
+
+#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
+#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
+
+typedef struct VkAndroidHardwareBufferUsageANDROID {
+    VkStructureType    sType;
+    void*              pNext;
+    uint64_t           androidHardwareBufferUsage;
+} VkAndroidHardwareBufferUsageANDROID;
+
+typedef struct VkAndroidHardwareBufferPropertiesANDROID {
+    VkStructureType    sType;
+    void*              pNext;
+    VkDeviceSize       allocationSize;
+    uint32_t           memoryTypeBits;
+} VkAndroidHardwareBufferPropertiesANDROID;
+
+typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
+    VkStructureType                  sType;
+    void*                            pNext;
+    VkFormat                         format;
+    uint64_t                         externalFormat;
+    VkFormatFeatureFlags             formatFeatures;
+    VkComponentMapping               samplerYcbcrConversionComponents;
+    VkSamplerYcbcrModelConversion    suggestedYcbcrModel;
+    VkSamplerYcbcrRange              suggestedYcbcrRange;
+    VkChromaLocation                 suggestedXChromaOffset;
+    VkChromaLocation                 suggestedYChromaOffset;
+} VkAndroidHardwareBufferFormatPropertiesANDROID;
+
+typedef struct VkImportAndroidHardwareBufferInfoANDROID {
+    VkStructureType            sType;
+    const void*                pNext;
+    struct AHardwareBuffer*    buffer;
+} VkImportAndroidHardwareBufferInfoANDROID;
+
+typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDeviceMemory     memory;
+} VkMemoryGetAndroidHardwareBufferInfoANDROID;
+
+typedef struct VkExternalFormatANDROID {
+    VkStructureType    sType;
+    void*              pNext;
+    uint64_t           externalFormat;
+} VkExternalFormatANDROID;
+
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
+typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
+    VkDevice                                    device,
+    const struct AHardwareBuffer*               buffer,
+    VkAndroidHardwareBufferPropertiesANDROID*   pProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
+    VkDevice                                    device,
+    const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
+    struct AHardwareBuffer**                    pBuffer);
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index c115fa6..943493c 100644 (file)
@@ -43,7 +43,7 @@ extern "C" {
 #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
 // Version of this file
-#define VK_HEADER_VERSION 70
+#define VK_HEADER_VERSION 71
 
 
 #define VK_NULL_HANDLE 0
@@ -356,6 +356,12 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
     VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
+    VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
+    VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
+    VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
+    VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
+    VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
+    VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,
     VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,
     VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
@@ -3767,6 +3773,7 @@ typedef enum VkExternalMemoryHandleTypeFlagBits {
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
     VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
@@ -5090,7 +5097,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
 
 
 #define VK_KHR_maintenance1 1
-#define VK_KHR_MAINTENANCE1_SPEC_VERSION  1
+#define VK_KHR_MAINTENANCE1_SPEC_VERSION  2
 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
 
 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
index 1189a73..b12e071 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_core_validation",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_core_validation.so",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
index 263a361..a222862 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_object_tracker",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_object_tracker.so",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
index 22b3267..0740f90 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_parameter_validation",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_parameter_validation.so",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
index 4fade57..42245a1 100644 (file)
@@ -3,7 +3,7 @@
     "layer": {
         "name": "VK_LAYER_LUNARG_standard_validation",
         "type": "GLOBAL",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Standard Validation",
         "component_layers": [
index bb34b08..3d3b0de 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_threading",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_threading.so",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "Google Validation Layer",
         "instance_extensions": [
index dc2908e..3bc9120 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_unique_objects",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_unique_objects.so",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "Google Validation Layer"
     }
index 389c58b..6a77251 100644 (file)
@@ -16,9 +16,9 @@ VALIDATION_ERROR_00000a12~^~N~^~Unknown~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcq
 VALIDATION_ERROR_00000a14~^~N~^~Unknown~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-deviceMask-01290~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'deviceMask must be a valid device mask' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-deviceMask-01290)~^~
 VALIDATION_ERROR_00000a16~^~N~^~Unknown~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-deviceMask-01291~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'deviceMask must not be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-deviceMask-01291)~^~
 VALIDATION_ERROR_00000d16~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-swapchain-01675~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'swapchain must not be in the retired state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-swapchain-01675)~^~
-VALIDATION_ERROR_00000dea~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHX-semaphore-01781~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHX-semaphore-01781)~^~
-VALIDATION_ERROR_00000dec~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHX-semaphore-01782~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHX-semaphore-01782)~^~
-VALIDATION_ERROR_00000e18~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHX-semaphore-01804~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHX-semaphore-01804)~^~
+VALIDATION_ERROR_00000dea~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-semaphore-01781~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-semaphore-01781)~^~
+VALIDATION_ERROR_00000dec~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-semaphore-01782~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-semaphore-01782)~^~
+VALIDATION_ERROR_00000e18~^~N~^~None~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-semaphore-01804~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-semaphore-01804)~^~
 VALIDATION_ERROR_00008801~^~Y~^~Unknown~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-fence-parameter~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-fence-parameter)~^~implicit
 VALIDATION_ERROR_0001c40d~^~Y~^~Unknown~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-pNext-pNext~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-pNext-pNext)~^~implicit
 VALIDATION_ERROR_0002b00b~^~Y~^~Unknown~^~VkAcquireNextImageInfoKHR~^~VUID-VkAcquireNextImageInfoKHR-sType-sType~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-sType-sType)~^~implicit
@@ -49,48 +49,50 @@ VALIDATION_ERROR_0082e401~^~Y~^~Unknown~^~VkAttachmentDescription~^~VUID-VkAttac
 VALIDATION_ERROR_00a006b2~^~N~^~Unknown~^~VkAttachmentReference~^~VUID-VkAttachmentReference-layout-00857~^~core~^~The spec valid usage text states 'layout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkAttachmentReference-layout-00857)~^~
 VALIDATION_ERROR_00a0be01~^~Y~^~Unknown~^~VkAttachmentReference~^~VUID-VkAttachmentReference-layout-parameter~^~core~^~The spec valid usage text states 'layout must be a valid VkImageLayout value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkAttachmentReference-layout-parameter)~^~implicit
 VALIDATION_ERROR_00c00009~^~Y~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-commonparent~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'Both of buffer, and memory must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-commonparent)~^~implicit
-VALIDATION_ERROR_00c00c72~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01593~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'buffer must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01593)~^~
-VALIDATION_ERROR_00c00c74~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01594~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'buffer must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01594)~^~
-VALIDATION_ERROR_00c00c76~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01595~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01595)~^~
-VALIDATION_ERROR_00c00c78~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01596~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01596)~^~
-VALIDATION_ERROR_00c00c7a~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01597~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01597)~^~
-VALIDATION_ERROR_00c00c7c~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01598~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minStorageBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01598)~^~
-VALIDATION_ERROR_00c00c7e~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-memory-01599~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memory-01599)~^~
-VALIDATION_ERROR_00c00c80~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01600~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01600)~^~
-VALIDATION_ERROR_00c00c82~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-size-01601~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-size-01601)~^~
-VALIDATION_ERROR_00c00c84~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01602~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01602)~^~
-VALIDATION_ERROR_00c00c86~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01603~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01603)~^~
-VALIDATION_ERROR_00c00c88~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-buffer-01604~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01604)~^~
-VALIDATION_ERROR_00c00c8a~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-pNext-01605~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindBufferMemoryDeviceGroupInfo, all instances of memory specified by VkBindBufferMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-pNext-01605)~^~
+VALIDATION_ERROR_00c00c72~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01593~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'buffer must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01593)~^~
+VALIDATION_ERROR_00c00c74~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01594~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'buffer must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01594)~^~
+VALIDATION_ERROR_00c00c76~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-memoryOffset-01595~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memoryOffset-01595)~^~
+VALIDATION_ERROR_00c00c78~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01596~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01596)~^~
+VALIDATION_ERROR_00c00c7a~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01597~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01597)~^~
+VALIDATION_ERROR_00c00c7c~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01598~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minStorageBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01598)~^~
+VALIDATION_ERROR_00c00c7e~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-memory-01599~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memory-01599)~^~
+VALIDATION_ERROR_00c00c80~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-memoryOffset-01600~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memoryOffset-01600)~^~
+VALIDATION_ERROR_00c00c82~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-size-01601~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-size-01601)~^~
+VALIDATION_ERROR_00c00c84~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01602~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for buffer), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01602)~^~
+VALIDATION_ERROR_00c00c86~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01603~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01603)~^~
+VALIDATION_ERROR_00c00c88~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-01604~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01604)~^~
+VALIDATION_ERROR_00c00c8a~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-pNext-01605~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindBufferMemoryDeviceGroupInfo, all instances of memory specified by VkBindBufferMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-pNext-01605)~^~
+VALIDATION_ERROR_00c00ed8~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfoKHR-memory-01900~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfo::buffer and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memory-01900)~^~
 VALIDATION_ERROR_00c01a01~^~Y~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-buffer-parameter~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-parameter)~^~implicit
 VALIDATION_ERROR_00c0c601~^~Y~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-memory-parameter~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memory-parameter)~^~implicit
 VALIDATION_ERROR_00c1c40d~^~Y~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'pNext must be NULL or a pointer to a valid instance of VkBindBufferMemoryDeviceGroupInfo' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_00c2b00b~^~N~^~None~^~VkBindBufferMemoryInfo~^~VUID-VkBindBufferMemoryInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_00e00009~^~Y~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-commonparent~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'Both of image, and memory that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-commonparent)~^~implicit
-VALIDATION_ERROR_00e00c92~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-image-01609~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'image must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01609)~^~
-VALIDATION_ERROR_00e00c94~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-image-01610~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'image must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01610)~^~
-VALIDATION_ERROR_00e00c96~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-memoryOffset-01611~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memoryOffset-01611)~^~
-VALIDATION_ERROR_00e00c98~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-memory-01612~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01612)~^~
-VALIDATION_ERROR_00e00c9a~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-memoryOffset-01613~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memoryOffset-01613)~^~
-VALIDATION_ERROR_00e00c9c~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-memory-01614~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'The difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01614)~^~
-VALIDATION_ERROR_00e00c9e~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01615~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01615)~^~
-VALIDATION_ERROR_00e00ca0~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01616~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01616)~^~
-VALIDATION_ERROR_00e00ca2~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01617~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01617)~^~
-VALIDATION_ERROR_00e00ca4~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01618~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, image must have been created with the VK_IMAGE_CREATE_DISJOINT_BIT bit set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01618)~^~
-VALIDATION_ERROR_00e00ca6~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01619~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01619)~^~
-VALIDATION_ERROR_00e00ca8~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01620~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01620)~^~
-VALIDATION_ERROR_00e00caa~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01621~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01621)~^~
-VALIDATION_ERROR_00e00cac~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-image-01622~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01622)~^~
-VALIDATION_ERROR_00e00cae~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-image-01623~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01623)~^~
-VALIDATION_ERROR_00e00cb0~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-image-01624~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01624)~^~
-VALIDATION_ERROR_00e00cb2~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-memory-01625~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01625)~^~
-VALIDATION_ERROR_00e00cb4~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01626~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all instances of memory specified by VkBindImageMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01626)~^~
-VALIDATION_ERROR_00e00cb6~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01627~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, and VkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount is not zero, then image must have been created with the VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01627)~^~
-VALIDATION_ERROR_00e00cb8~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01628~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions must be valid rectangles contained within the dimensions of image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01628)~^~
-VALIDATION_ERROR_00e00cba~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01629~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, the union of the areas of all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions that correspond to the same instance of image must cover the entire image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01629)~^~
-VALIDATION_ERROR_00e00cbc~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-image-01630~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If image was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a valid instance of VkBindImageMemorySwapchainInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01630)~^~
-VALIDATION_ERROR_00e00cbe~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01631~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes an instance of VkBindImageMemorySwapchainInfoKHR, memory must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01631)~^~
-VALIDATION_ERROR_00e00cc0~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-pNext-01632~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain does not include an instance of VkBindImageMemorySwapchainInfoKHR, memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01632)~^~
+VALIDATION_ERROR_00e00c92~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-01609~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'image must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01609)~^~
+VALIDATION_ERROR_00e00c94~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-01610~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'image must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01610)~^~
+VALIDATION_ERROR_00e00c96~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-memoryOffset-01611~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-memoryOffset-01611)~^~
+VALIDATION_ERROR_00e00c98~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-memory-01612~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memory-01612)~^~
+VALIDATION_ERROR_00e00c9a~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-memoryOffset-01613~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memoryOffset-01613)~^~
+VALIDATION_ERROR_00e00c9c~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-memory-01614~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'The difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memory-01614)~^~
+VALIDATION_ERROR_00e00c9e~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01615~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01615)~^~
+VALIDATION_ERROR_00e00ca0~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01616~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01616)~^~
+VALIDATION_ERROR_00e00ca2~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01617~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01617)~^~
+VALIDATION_ERROR_00e00ca4~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01618~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, image must have been created with the VK_IMAGE_CREATE_DISJOINT_BIT bit set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01618)~^~
+VALIDATION_ERROR_00e00ca6~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01619~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01619)~^~
+VALIDATION_ERROR_00e00ca8~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01620~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01620)~^~
+VALIDATION_ERROR_00e00caa~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01621~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01621)~^~
+VALIDATION_ERROR_00e00cac~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-01622~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01622)~^~
+VALIDATION_ERROR_00e00cae~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-01623~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01623)~^~
+VALIDATION_ERROR_00e00cb0~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-01624~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01624)~^~
+VALIDATION_ERROR_00e00cb2~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-memory-01625~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memory-01625)~^~
+VALIDATION_ERROR_00e00cb4~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01626~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all instances of memory specified by VkBindImageMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01626)~^~
+VALIDATION_ERROR_00e00cb6~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01627~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, and VkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount is not zero, then image must have been created with the VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01627)~^~
+VALIDATION_ERROR_00e00cb8~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01628~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions must be valid rectangles contained within the dimensions of image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01628)~^~
+VALIDATION_ERROR_00e00cba~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01629~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, the union of the areas of all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions that correspond to the same instance of image must cover the entire image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01629)~^~
+VALIDATION_ERROR_00e00cbc~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-01630~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)~^~The spec valid usage text states 'If image was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a valid instance of VkBindImageMemorySwapchainInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01630)~^~
+VALIDATION_ERROR_00e00cbe~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01631~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)~^~The spec valid usage text states 'If the pNext chain includes an instance of VkBindImageMemorySwapchainInfoKHR, memory must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01631)~^~
+VALIDATION_ERROR_00e00cc0~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-01632~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)~^~The spec valid usage text states 'If the pNext chain does not include an instance of VkBindImageMemorySwapchainInfoKHR, memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01632)~^~
+VALIDATION_ERROR_00e00ede~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfoKHR-memory-01903~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01903)~^~
 VALIDATION_ERROR_00e0a001~^~Y~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-image-parameter~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-parameter)~^~implicit
 VALIDATION_ERROR_00e1c40d~^~Y~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states '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 VkBindImageMemoryDeviceGroupInfo, VkBindImageMemorySwapchainInfoKHR, or VkBindImagePlaneMemoryInfo' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_00e2b00b~^~N~^~None~^~VkBindImageMemoryInfo~^~VUID-VkBindImageMemoryInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-sType-sType)~^~implicit
@@ -117,6 +119,8 @@ VALIDATION_ERROR_01400730~^~N~^~Unknown~^~VkBufferCreateInfo~^~VUID-VkBufferCrea
 VALIDATION_ERROR_01400ade~^~N~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-sharingMode-01391~^~!(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties for the physicalDevice that was used to create device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-01391)~^~
 VALIDATION_ERROR_01400b16~^~N~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-sharingMode-01419~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by either vkGetPhysicalDeviceQueueFamilyProperties or vkGetPhysicalDeviceQueueFamilyProperties2 for the physicalDevice that was used to create device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-01419)~^~
 VALIDATION_ERROR_01400c46~^~N~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-pNext-01571~^~(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If the pNext chain contains an instance of VkDedicatedAllocationBufferCreateInfoNV, and the dedicatedAllocation member of the chained structure is VK_TRUE, then flags must not include VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-pNext-01571)~^~
+VALIDATION_ERROR_01400ebe~^~N~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-flags-01887~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If the protected memory feature is not enabled, flags must not contain VK_BUFFER_CREATE_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-flags-01887)~^~
+VALIDATION_ERROR_01400ec0~^~N~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-None-01888~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If any of the bits VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT are set, VK_BUFFER_CREATE_PROTECTED_BIT must not also be set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-None-01888)~^~
 VALIDATION_ERROR_01409001~^~Y~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-flags-parameter~^~core~^~The spec valid usage text states 'flags must be a valid combination of VkBufferCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-parameter)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_0141c40d~^~Y~^~Unknown~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-pNext-pNext~^~core~^~The spec valid usage text states '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 VkDedicatedAllocationBufferCreateInfoNV or VkExternalMemoryBufferCreateInfo' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_0142b00b~^~Y~^~None~^~VkBufferCreateInfo~^~VUID-VkBufferCreateInfo-sType-sType~^~core~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sType-sType)~^~implicit, TBD in parameter validation layer.
@@ -191,6 +195,8 @@ VALIDATION_ERROR_01c00028~^~Y~^~Unknown~^~VkClearAttachment~^~VUID-VkClearAttach
 VALIDATION_ERROR_01c0002a~^~N~^~Unknown~^~VkClearAttachment~^~VUID-VkClearAttachment-clearValue-00021~^~core~^~The spec valid usage text states 'clearValue must be a valid VkClearValue union' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearAttachment-clearValue-00021)~^~
 VALIDATION_ERROR_01c00c01~^~Y~^~Unknown~^~VkClearAttachment~^~VUID-VkClearAttachment-aspectMask-parameter~^~core~^~The spec valid usage text states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearAttachment-aspectMask-parameter)~^~implicit
 VALIDATION_ERROR_01c00c03~^~Y~^~Unknown~^~VkClearAttachment~^~VUID-VkClearAttachment-aspectMask-requiredbitmask~^~core~^~The spec valid usage text states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearAttachment-aspectMask-requiredbitmask)~^~implicit
+VALIDATION_ERROR_01c00e22~^~N~^~None~^~VkClearAttachment~^~VUID-VkClearAttachment-commandBuffer-01809~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then the attachment to be cleared must not be a protected image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkClearAttachment-commandBuffer-01809)~^~
+VALIDATION_ERROR_01c00e24~^~N~^~None~^~VkClearAttachment~^~VUID-VkClearAttachment-commandBuffer-01810~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then the attachment to be cleared must not be an unprotected image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkClearAttachment-commandBuffer-01810)~^~
 VALIDATION_ERROR_01e0002c~^~N~^~Unknown~^~VkClearDepthStencilValue~^~VUID-VkClearDepthStencilValue-depth-00022~^~(VK_EXT_depth_range_unrestricted)~^~The spec valid usage text states 'Unless the VK_EXT_depth_range_unrestricted extension is enabled depth must be between 0.0 and 1.0, inclusive' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkClearDepthStencilValue-depth-00022)~^~
 VALIDATION_ERROR_0200002e~^~N~^~Unknown~^~VkClearValue~^~VUID-VkClearValue-depthStencil-00023~^~core~^~The spec valid usage text states 'depthStencil must be a valid VkClearDepthStencilValue structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearValue-depthStencil-00023)~^~
 VALIDATION_ERROR_02200009~^~Y~^~Unknown~^~VkCmdProcessCommandsInfoNVX~^~VUID-VkCmdProcessCommandsInfoNVX-commonparent~^~(VK_NVX_device_generated_commands)~^~The spec valid usage text states 'Each of indirectCommandsLayout, objectTable, sequencesCountBuffer, sequencesIndexBuffer, and targetCommandBuffer that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkCmdProcessCommandsInfoNVX-commonparent)~^~implicit
@@ -364,6 +370,7 @@ VALIDATION_ERROR_05404e01~^~Y~^~Unknown~^~VkDescriptorUpdateTemplateEntry~^~VUID
 VALIDATION_ERROR_056002e8~^~Y~^~Unknown~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-queueFamilyIndex-00372~^~core~^~The spec valid usage text states '' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-queueFamilyIndex-00372)~^~
 VALIDATION_ERROR_056002ea~^~N~^~Unknown~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-pNext-00373~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'If the pNext chain includes a VkPhysicalDeviceFeatures2 structure, then pEnabledFeatures must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceCreateInfo-pNext-00373)~^~
 VALIDATION_ERROR_056002ec~^~Y~^~Maintenance1AndNegativeViewport~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374~^~(VK_AMD_negative_viewport_height)+!(VK_VERSION_1_1)+(VK_VERSION_1_1,VK_KHR_maintenance1)~^~The spec valid usage text states 'ppEnabledExtensionNames must not contain both VK_KHR_maintenance1 and VK_AMD_negative_viewport_height' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374)~^~
+VALIDATION_ERROR_05600e60~^~N~^~None~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840~^~(VK_AMD_negative_viewport_height)+(VK_VERSION_1_1)~^~The spec valid usage text states 'ppEnabledExtensionNames must not contain VK_AMD_negative_viewport_height' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840)~^~
 VALIDATION_ERROR_05609005~^~Y~^~Unknown~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-flags-zerobitmask~^~core~^~The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-flags-zerobitmask)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_05615a01~^~N~^~Unknown~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter~^~core~^~The spec valid usage text states 'If pEnabledFeatures is not NULL, pEnabledFeatures must be a valid pointer to a valid VkPhysicalDeviceFeatures structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter)~^~implicit
 VALIDATION_ERROR_0561c40d~^~N~^~Unknown~^~VkDeviceCreateInfo~^~VUID-VkDeviceCreateInfo-pNext-pNext~^~core~^~The spec valid usage text states '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 VkDeviceGroupDeviceCreateInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDeviceFeatures2, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceSamplerYcbcrConversionFeatures, or VkPhysicalDeviceVariablePointerFeatures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pNext-pNext)~^~implicit
@@ -658,7 +665,7 @@ VALIDATION_ERROR_09c00dfe~^~N~^~None~^~VkImageCopy~^~VUID-VkImageCopy-srcImage-0
 VALIDATION_ERROR_09c00e00~^~N~^~None~^~VkImageCopy~^~VUID-VkImageCopy-dstImage-01792~^~(VK_VERSION_1_1,VK_KHR_maintenance1)~^~The spec valid usage text states 'If the calling command's dstImage is of type VK_IMAGE_TYPE_2D, and the srcImage is of type VK_IMAGE_TYPE_3D, then extent.depth must equal to the layerCount member of dstSubresource.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCopy-dstImage-01792)~^~
 VALIDATION_ERROR_09c07a01~^~N~^~Unknown~^~VkImageCopy~^~VUID-VkImageCopy-dstSubresource-parameter~^~core~^~The spec valid usage text states 'dstSubresource must be a valid VkImageSubresourceLayers structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCopy-dstSubresource-parameter)~^~implicit
 VALIDATION_ERROR_09c2d601~^~N~^~Unknown~^~VkImageCopy~^~VUID-VkImageCopy-srcSubresource-parameter~^~core~^~The spec valid usage text states 'srcSubresource must be a valid VkImageSubresourceLayers structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCopy-srcSubresource-parameter)~^~implicit
-VALIDATION_ERROR_09e00758~^~Y~^~CreateImageFormatSupportErrors~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-format-00940~^~core~^~The spec valid usage text states 'The combination of format, imageType, tiling, usage, and flags must be supported, as indicated by a VK_SUCCESS return value from vkGetPhysicalDeviceImageFormatProperties invoked with the same values passed to the corresponding parameters.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-format-00940)~^~
+VALIDATION_ERROR_09e00758~^~Y~^~CreateImageFormatSupportErrors~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-format-00940~^~!(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'The combination of format, imageType, tiling, usage, and flags must be supported, as indicated by a VK_SUCCESS return value from vkGetPhysicalDeviceImageFormatProperties invoked with the same values passed to the corresponding parameters.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-format-00940)~^~
 VALIDATION_ERROR_09e0075a~^~Y~^~CreateImageMiscErrors~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-sharingMode-00941~^~core~^~The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a valid pointer to an array of queueFamilyIndexCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-sharingMode-00941)~^~
 VALIDATION_ERROR_09e0075c~^~Y~^~CreateImageMiscErrors~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-sharingMode-00942~^~core~^~The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-sharingMode-00942)~^~
 VALIDATION_ERROR_09e0075e~^~Y~^~CreateImageMiscErrors~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-format-00943~^~core~^~The spec valid usage text states 'format must not be VK_FORMAT_UNDEFINED' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-format-00943)~^~
@@ -722,11 +729,16 @@ VALIDATION_ERROR_09e00c4c~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInf
 VALIDATION_ERROR_09e00c4e~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-tiling-01575~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If tiling is VK_IMAGE_TILING_OPTIMAL, format is a multi-planar format, and VkFormatProperties::optimalTilingFeatures (as returned by vkGetPhysicalDeviceFormatProperties with the same value of format) does not include VK_FORMAT_FEATURE_DISJOINT_BIT, flags must not contain VK_IMAGE_CREATE_DISJOINT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-tiling-01575)~^~
 VALIDATION_ERROR_09e00c50~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-tiling-01576~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If tiling is VK_IMAGE_TILING_LINEAR, format is a multi-planar format, and VkFormatProperties::linearTilingFeatures (as returned by vkGetPhysicalDeviceFormatProperties with the same value of format) does not include VK_FORMAT_FEATURE_DISJOINT_BIT, flags must not contain VK_IMAGE_CREATE_DISJOINT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-tiling-01576)~^~
 VALIDATION_ERROR_09e00c52~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-format-01577~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If format is not a multi-planar format, and flags does not include VK_IMAGE_CREATE_ALIAS_BIT, flags must not contain VK_IMAGE_CREATE_DISJOINT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-format-01577)~^~
+VALIDATION_ERROR_09e00ec2~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-pNext-01889~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the pNext chain doesn't contain an instance of VkExternalFormatANDROID, or if format is not VK_FORMAT_UNDEFINED, the combination of format, imageType, tiling, usage, and flags must be supported, as indicated by a VK_SUCCESS return value from vkGetPhysicalDeviceImageFormatProperties invoked with the same values passed to the corresponding parameters.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-01889)~^~
+VALIDATION_ERROR_09e00ec4~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-flags-01890~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If the protected memory feature is not enabled, flags must not contain VK_IMAGE_CREATE_PROTECTED_BIT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-flags-01890)~^~
+VALIDATION_ERROR_09e00ec6~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-None-01891~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If any of the bits VK_IMAGE_CREATE_SPARSE_BINDING_BIT, VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or VK_IMAGE_CREATE_SPARSE_ALIASED_BIT are set, VK_IMAGE_CREATE_PROTECTED_BIT must not also be set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-None-01891)~^~
+VALIDATION_ERROR_09e00ec8~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-pNext-01892~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the pNext chain includes a VkExternalMemoryImageCreateInfo structure whose handleTypes member includes VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-01892)~^~
+VALIDATION_ERROR_09e00eca~^~N~^~None~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-pNext-01893~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the pNext chain includes a VkExternalFormatANDROID structure whose externalFormat member is not 0:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-01893)~^~
 VALIDATION_ERROR_09e09001~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-flags-parameter~^~core~^~The spec valid usage text states 'flags must be a valid combination of VkImageCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-flags-parameter)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_09e09201~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-format-parameter~^~core~^~The spec valid usage text states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-format-parameter)~^~implicit
 VALIDATION_ERROR_09e0ac01~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-imageType-parameter~^~core~^~The spec valid usage text states 'imageType must be a valid VkImageType value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-imageType-parameter)~^~implicit
 VALIDATION_ERROR_09e0b801~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-initialLayout-parameter~^~core~^~The spec valid usage text states 'initialLayout must be a valid VkImageLayout value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-initialLayout-parameter)~^~implicit
-VALIDATION_ERROR_09e1c40d~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-pNext-pNext~^~core~^~The spec valid usage text states '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 VkDedicatedAllocationImageCreateInfoNV, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkImageFormatListCreateInfoKHR, or VkImageSwapchainCreateInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-pNext-pNext)~^~implicit
+VALIDATION_ERROR_09e1c40d~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-pNext-pNext~^~core~^~The spec valid usage text states '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 VkDedicatedAllocationImageCreateInfoNV, VkExternalFormatANDROID, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkImageFormatListCreateInfoKHR, or VkImageSwapchainCreateInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_09e2b00b~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-sType-sType~^~core~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-sType-sType)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_09e2b00f~^~N~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-sType-unique~^~core~^~The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-sType-unique)~^~implicit
 VALIDATION_ERROR_09e2b401~^~Y~^~Unknown~^~VkImageCreateInfo~^~VUID-VkImageCreateInfo-samples-parameter~^~core~^~The spec valid usage text states 'samples must be a valid VkSampleCountFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-samples-parameter)~^~implicit
@@ -753,8 +765,8 @@ VALIDATION_ERROR_0a000ba0~^~Y~^~ImageBarrierWithBadRange~^~VkImageMemoryBarrier~
 VALIDATION_ERROR_0a000cf4~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-oldLayout-01658~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'If either oldLayout or newLayout is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL then image must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-oldLayout-01658)~^~
 VALIDATION_ERROR_0a000cf6~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-oldLayout-01659~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'If either oldLayout or newLayout is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL then image must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-oldLayout-01659)~^~
 VALIDATION_ERROR_0a000d0e~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-image-01671~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image has a single-plane color format or is not disjoint, then the aspectMask member of subresourceRange must be VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01671)~^~
-VALIDATION_ERROR_0a000d10~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-image-01672~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include either at least one of VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, and VK_IMAGE_ASPECT_PLANE_2_BIT_KHR; or must include VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01672)~^~
-VALIDATION_ERROR_0a000d12~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-image-01673~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image has a multi-planar format with only two planes, then the aspectMask member of subresourceRange must not include VK_IMAGE_ASPECT_PLANE_2_BIT_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01673)~^~
+VALIDATION_ERROR_0a000d10~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-image-01672~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include either at least one of VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, and VK_IMAGE_ASPECT_PLANE_2_BIT; or must include VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01672)~^~
+VALIDATION_ERROR_0a000d12~^~N~^~None~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-image-01673~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image has a multi-planar format with only two planes, then the aspectMask member of subresourceRange must not include VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01673)~^~
 VALIDATION_ERROR_0a000d78~^~Y~^~ImageBarrierWithBadRange~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-subresourceRange-01724~^~core~^~The spec valid usage text states 'If subresourceRange.levelCount is not VK_REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel + subresourceRange.levelCount must be less than or equal to the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageMemoryBarrier-subresourceRange-01724)~^~
 VALIDATION_ERROR_0a000d7a~^~Y~^~ImageBarrierWithBadRange~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-subresourceRange-01725~^~core~^~The spec valid usage text states 'If subresourceRange.layerCount is not VK_REMAINING_ARRAY_LAYERS, subresourceRange.baseArrayLayer + subresourceRange.layerCount must be less than or equal to the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageMemoryBarrier-subresourceRange-01725)~^~
 VALIDATION_ERROR_0a000dcc~^~Y~^~InvalidBarrierQueueFamilyWithMemExt~^~VkImageMemoryBarrier~^~VUID-VkImageMemoryBarrier-image-01766~^~(VK_VERSION_1_1,VK_KHR_external_memory)~^~The spec valid usage text states 'If image was created with a sharing mode of VK_SHARING_MODE_CONCURRENT, and one of srcQueueFamilyIndex and dstQueueFamilyIndex is VK_QUEUE_FAMILY_IGNORED, the other must be VK_QUEUE_FAMILY_IGNORED or a special queue family reserved for external memory transfers, as described in synchronization-queue-transfers.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01766)~^~
@@ -792,7 +804,7 @@ VALIDATION_ERROR_0a600c03~^~Y~^~Unknown~^~VkImageSubresourceLayers~^~VUID-VkImag
 VALIDATION_ERROR_0a600d48~^~N~^~None~^~VkImageSubresourceLayers~^~VUID-VkImageSubresourceLayers-layerCount-01700~^~core~^~The spec valid usage text states 'layerCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceLayers-layerCount-01700)~^~
 VALIDATION_ERROR_0a800c01~^~N~^~Unknown~^~VkImageSubresourceRange~^~VUID-VkImageSubresourceRange-aspectMask-parameter~^~core~^~The spec valid usage text states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-parameter)~^~implicit
 VALIDATION_ERROR_0a800c03~^~Y~^~Unknown~^~VkImageSubresourceRange~^~VUID-VkImageSubresourceRange-aspectMask-requiredbitmask~^~core~^~The spec valid usage text states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-requiredbitmask)~^~implicit
-VALIDATION_ERROR_0a800d0c~^~N~^~None~^~VkImageSubresourceRange~^~VUID-VkImageSubresourceRange-aspectMask-01670~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If aspectMask includes VK_IMAGE_ASPECT_COLOR_BIT, then it must not include any of VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, or VK_IMAGE_ASPECT_PLANE_2_BIT_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-01670)~^~
+VALIDATION_ERROR_0a800d0c~^~N~^~None~^~VkImageSubresourceRange~^~VUID-VkImageSubresourceRange-aspectMask-01670~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If aspectMask includes VK_IMAGE_ASPECT_COLOR_BIT, then it must not include any of VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-01670)~^~
 VALIDATION_ERROR_0a800d70~^~N~^~None~^~VkImageSubresourceRange~^~VUID-VkImageSubresourceRange-levelCount-01720~^~core~^~The spec valid usage text states 'If levelCount is not VK_REMAINING_MIP_LEVELS, it must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-levelCount-01720)~^~
 VALIDATION_ERROR_0a800d72~^~N~^~None~^~VkImageSubresourceRange~^~VUID-VkImageSubresourceRange-layerCount-01721~^~core~^~The spec valid usage text states 'If layerCount is not VK_REMAINING_ARRAY_LAYERS, it must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-layerCount-01721)~^~
 VALIDATION_ERROR_0aa007c6~^~N~^~Unknown~^~VkImageSwapchainCreateInfoKHR~^~VUID-VkImageSwapchainCreateInfoKHR-swapchain-00995~^~(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)~^~The spec valid usage text states 'If swapchain is not VK_NULL_HANDLE, the fields of VkImageCreateInfo must match the implied image creation parameters of the swapchain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageSwapchainCreateInfoKHR-swapchain-00995)~^~
@@ -832,6 +844,7 @@ VALIDATION_ERROR_0ac00dbe~^~N~^~None~^~VkImageViewCreateInfo~^~VUID-VkImageViewC
 VALIDATION_ERROR_0ac00dc0~^~N~^~None~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-image-01760~^~!(VK_VERSION_1_1,VK_KHR_maintenance2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, and if the format of the image is not a multi-planar format, format must be compatible with the format used to create image, as defined in Format Compatibility Classes' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01760)~^~
 VALIDATION_ERROR_0ac00dc2~^~N~^~None~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-image-01761~^~(VK_VERSION_1_1,VK_KHR_maintenance2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, but without the VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag, and if the format of the image is not a multi-planar format, format must be compatible with the format used to create image, as defined in Format Compatibility Classes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01761)~^~
 VALIDATION_ERROR_0ac00dc4~^~N~^~None~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-image-01762~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was not created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag,' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01762)~^~
+VALIDATION_ERROR_0ac00ed0~^~N~^~None~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-image-01896~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If image has an external format:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01896)~^~
 VALIDATION_ERROR_0ac02c01~^~N~^~Unknown~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-components-parameter~^~core~^~The spec valid usage text states 'components must be a valid VkComponentMapping structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-components-parameter)~^~implicit
 VALIDATION_ERROR_0ac09005~^~Y~^~Unknown~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-flags-zerobitmask~^~core~^~The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-flags-zerobitmask)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_0ac09201~^~Y~^~Unknown~^~VkImageViewCreateInfo~^~VUID-VkImageViewCreateInfo-format-parameter~^~core~^~The spec valid usage text states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-format-parameter)~^~implicit
@@ -930,7 +943,7 @@ VALIDATION_ERROR_0c400546~^~N~^~Unknown~^~VkMemoryAllocateFlagsInfo~^~VUID-VkMem
 VALIDATION_ERROR_0c400548~^~N~^~Unknown~^~VkMemoryAllocateFlagsInfo~^~VUID-VkMemoryAllocateFlagsInfo-deviceMask-00676~^~(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT is set, deviceMask must not be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateFlagsInfo-deviceMask-00676)~^~
 VALIDATION_ERROR_0c409001~^~N~^~Unknown~^~VkMemoryAllocateFlagsInfo~^~VUID-VkMemoryAllocateFlagsInfo-flags-parameter~^~(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'flags must be a valid combination of VkMemoryAllocateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateFlagsInfo-flags-parameter)~^~implicit
 VALIDATION_ERROR_0c42b00b~^~N~^~Unknown~^~VkMemoryAllocateFlagsInfo~^~VUID-VkMemoryAllocateFlagsInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateFlagsInfo-sType-sType)~^~implicit
-VALIDATION_ERROR_0c6004fc~^~N~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-allocationSize-00638~^~core~^~The spec valid usage text states 'allocationSize must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-allocationSize-00638)~^~
+VALIDATION_ERROR_0c6004fc~^~N~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-allocationSize-00638~^~!(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'allocationSize must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-allocationSize-00638)~^~
 VALIDATION_ERROR_0c6004fe~^~N~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-00639~^~(VK_KHR_external_memory)+(VK_KHR_dedicated_allocation,VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If the pNext chain contains an instance of     VkExportMemoryAllocateInfo, and any of the handle types specified     in VkExportMemoryAllocateInfo::handleTypes require a     dedicated allocation, as reported by     vkGetPhysicalDeviceImageFormatProperties2 in     VkExternalImageFormatProperties::externalMemoryProperties::externalMemoryFeatures     or     VkExternalBufferProperties::externalMemoryProperties::externalMemoryFeatures,     the pNext chain must contain an instance of ifdef::VK_KHR_dedicated_allocation[VkMemoryDedicatedAllocateInfo]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-00639)~^~
 VALIDATION_ERROR_0c600500~^~N~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-00640~^~(VK_KHR_external_memory)+(VK_NV_external_memory)~^~The spec valid usage text states 'If the pNext chain contains an instance of VkExportMemoryAllocateInfo, it must not contain an instance of VkExportMemoryAllocateInfoNV or VkExportMemoryWin32HandleInfoNV.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-00640)~^~
 VALIDATION_ERROR_0c600502~^~N~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-00641~^~(VK_KHR_external_memory_win32+VK_NV_external_memory_win32)~^~The spec valid usage text states 'If the pNext chain contains an instance of VkImportMemoryWin32HandleInfoKHR, it must not contain an instance of VkImportMemoryWin32HandleInfoNV.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-00641)~^~
@@ -944,7 +957,11 @@ VALIDATION_ERROR_0c600d9c~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAlloc
 VALIDATION_ERROR_0c600d9e~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-allocationSize-01743~^~(VK_KHR_external_memory_win32)~^~The spec valid usage text states 'If the parameters define an import operation, the external handle was created by the Vulkan API, and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR or VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, then the values of allocationSize and memoryTypeIndex must match those specified when the memory object being imported was created.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-allocationSize-01743)~^~
 VALIDATION_ERROR_0c600da0~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-memoryTypeIndex-01744~^~(VK_EXT_external_memory_host)~^~The spec valid usage text states 'If the parameters define an import operation and the external handle is a host pointer, the value of memoryTypeIndex must be one of those returned by vkGetMemoryHostPointerPropertiesEXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-memoryTypeIndex-01744)~^~
 VALIDATION_ERROR_0c600da2~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-allocationSize-01745~^~(VK_EXT_external_memory_host)~^~The spec valid usage text states 'If the parameters define an import operation and the external handle is a host pointer, allocationSize must be an integer multiple of VkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-allocationSize-01745)~^~
-VALIDATION_ERROR_0c61c40d~^~Y~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-pNext~^~core~^~The spec valid usage text states '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 VkDedicatedAllocationMemoryAllocateInfoNV, VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoNV, VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateFlagsInfo, or VkMemoryDedicatedAllocateInfo' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-pNext)~^~implicit
+VALIDATION_ERROR_0c600ea0~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-memoryTypeIndex-01872~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If the protected memory feature is not enabled, the VkMemoryAllocateInfo::memoryTypeIndex must not indicate a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-memoryTypeIndex-01872)~^~
+VALIDATION_ERROR_0c600ea2~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-None-01873~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the parameters define an import operation and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BIT_ANDROID:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-None-01873)~^~
+VALIDATION_ERROR_0c600ea4~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-01874~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the parameters do not define an import operation, and the pNext chain contains an instance of VkExportMemoryAllocateInfo with VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID included in its handleTypes member, and the pNext contains an instance of VkMemoryDedicatedAllocateInfo with image not equal to VK_NULL_HANDLE, then allocationSize must be 0, otherwise allocationSize must be greater than 0.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-01874)~^~
+VALIDATION_ERROR_0c600ea6~^~N~^~None~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-01875~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the parameters define an import operation, the external handle is an Android hardware buffer, and the pNext chain includes an instance of VkMemoryDedicatedAllocateInfo with image that is not VK_NULL_HANDLE:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-01875)~^~
+VALIDATION_ERROR_0c61c40d~^~Y~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-pNext-pNext~^~core~^~The spec valid usage text states '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 VkDedicatedAllocationMemoryAllocateInfoNV, VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoNV, VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV, VkImportAndroidHardwareBufferInfoANDROID, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateFlagsInfo, or VkMemoryDedicatedAllocateInfo' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_0c62b00b~^~Y~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-sType-sType~^~core~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-sType-sType)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_0c62b00f~^~N~^~Unknown~^~VkMemoryAllocateInfo~^~VUID-VkMemoryAllocateInfo-sType-unique~^~core~^~The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-sType-unique)~^~implicit
 VALIDATION_ERROR_0c806801~^~Y~^~Unknown~^~VkMemoryBarrier~^~VUID-VkMemoryBarrier-dstAccessMask-parameter~^~core~^~The spec valid usage text states 'dstAccessMask must be a valid combination of VkAccessFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryBarrier-dstAccessMask-parameter)~^~implicit
@@ -1559,7 +1576,7 @@ VALIDATION_ERROR_16000a44~^~N~^~Unknown~^~VkXlibSurfaceCreateInfoKHR~^~VUID-VkXl
 VALIDATION_ERROR_16009005~^~Y~^~Unknown~^~VkXlibSurfaceCreateInfoKHR~^~VUID-VkXlibSurfaceCreateInfoKHR-flags-zerobitmask~^~(VK_KHR_surface)+(VK_KHR_xlib_surface)~^~The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkXlibSurfaceCreateInfoKHR-flags-zerobitmask)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_1601c40d~^~Y~^~Unknown~^~VkXlibSurfaceCreateInfoKHR~^~VUID-VkXlibSurfaceCreateInfoKHR-pNext-pNext~^~(VK_KHR_surface)+(VK_KHR_xlib_surface)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkXlibSurfaceCreateInfoKHR-pNext-pNext)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_1602b00b~^~Y~^~Unknown~^~VkXlibSurfaceCreateInfoKHR~^~VUID-VkXlibSurfaceCreateInfoKHR-sType-sType~^~(VK_KHR_surface)+(VK_KHR_xlib_surface)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkXlibSurfaceCreateInfoKHR-sType-sType)~^~implicit, TBD in parameter validation layer.
-VALIDATION_ERROR_16200e16~^~N~^~None~^~vkAcquireNextImage2KHR~^~VUID-vkAcquireNextImage2KHX-swapchain-01803~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the number of currently acquired images is greater than the difference between the number of images in the swapchain member of pAcquireInfo and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, the timeout member of pAcquireInfo must not be UINT64_MAX' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHX-swapchain-01803)~^~
+VALIDATION_ERROR_16200e16~^~N~^~None~^~vkAcquireNextImage2KHR~^~VUID-vkAcquireNextImage2KHR-swapchain-01803~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If the number of currently acquired images is greater than the difference between the number of images in the swapchain member of pAcquireInfo and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, the timeout member of pAcquireInfo must not be UINT64_MAX' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-swapchain-01803)~^~
 VALIDATION_ERROR_16205601~^~Y~^~Unknown~^~vkAcquireNextImage2KHR~^~VUID-vkAcquireNextImage2KHR-device-parameter~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-device-parameter)~^~implicit
 VALIDATION_ERROR_1620e001~^~N~^~Unknown~^~vkAcquireNextImage2KHR~^~VUID-vkAcquireNextImage2KHR-pAcquireInfo-parameter~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'pAcquireInfo must be a valid pointer to a valid VkAcquireNextImageInfoKHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-pAcquireInfo-parameter)~^~implicit
 VALIDATION_ERROR_16218601~^~Y~^~Unknown~^~vkAcquireNextImage2KHR~^~VUID-vkAcquireNextImage2KHR-pImageIndex-parameter~^~(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'pImageIndex must be a valid pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-pImageIndex-parameter)~^~implicit
@@ -1609,8 +1626,10 @@ VALIDATION_ERROR_17000818~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~VUID-vk
 VALIDATION_ERROR_1700081a~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-size-01037~^~core~^~The spec valid usage text states 'The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-size-01037)~^~
 VALIDATION_ERROR_1700081c~^~N~^~Unknown~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-buffer-01038~^~(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to a buffer handle created with identical creation parameters to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01038)~^~
 VALIDATION_ERROR_1700081e~^~N~^~Unknown~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-buffer-01039~^~(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01039)~^~
-VALIDATION_ERROR_17000b48~^~N~^~None~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-buffer-01444~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01444)~^~
-VALIDATION_ERROR_17000bc8~^~Y~^~DedicatedAllocation~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-memory-01508~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If the VkmemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfoKHR in its pNext chain, and VkMemoryDedicatedAllocateInfoKHR::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfoKHR::buffer and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-memory-01508)~^~
+VALIDATION_ERROR_17000b48~^~N~^~None~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-buffer-01444~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for buffer), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01444)~^~
+VALIDATION_ERROR_17000bc8~^~Y~^~DedicatedAllocation~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-memory-01508~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfo::buffer, and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-memory-01508)~^~
+VALIDATION_ERROR_17000ed4~^~N~^~None~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-None-01898~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_CREATE_PROTECTED_BIT bit set, the buffer must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-None-01898)~^~
+VALIDATION_ERROR_17000ed6~^~N~^~None~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-None-01899~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If buffer was created with the VK_BUFFER_CREATE_PROTECTED_BIT bit not set, the buffer must not be bound to a memory object created with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-None-01899)~^~
 VALIDATION_ERROR_17001a01~^~Y~^~VertexBufferInvalid~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-buffer-parameter~^~core~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-buffer-parameter)~^~implicit
 VALIDATION_ERROR_17001a07~^~Y~^~Unknown~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-buffer-parent~^~core~^~The spec valid usage text states 'buffer must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-buffer-parent)~^~implicit
 VALIDATION_ERROR_17005601~^~Y~^~None~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-device-parameter)~^~implicit
@@ -1628,8 +1647,10 @@ VALIDATION_ERROR_17400832~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~VUID-vkB
 VALIDATION_ERROR_17400834~^~N~^~Unknown~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-01050~^~(VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to an image handle created with identical creation parameters to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-image-01050)~^~
 VALIDATION_ERROR_17400836~^~N~^~Unknown~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-01051~^~(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-01051)~^~
 VALIDATION_ERROR_17400b4a~^~N~^~None~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-01445~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-image-01445)~^~
-VALIDATION_ERROR_17400bca~^~Y~^~DedicatedAllocation~^~vkBindImageMemory~^~VUID-vkBindImageMemory-memory-01509~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If the VkmemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfoKHR in its pNext chain, and VkMemoryDedicatedAllocateInfoKHR::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfoKHR::image and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-memory-01509)~^~
+VALIDATION_ERROR_17400bca~^~Y~^~DedicatedAllocation~^~vkBindImageMemory~^~VUID-vkBindImageMemory-memory-01509~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-memory-01509)~^~
 VALIDATION_ERROR_17400c90~^~N~^~None~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-01608~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'image must not have been created with the VK_IMAGE_CREATE_DISJOINT_BIT set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-image-01608)~^~
+VALIDATION_ERROR_17400eda~^~N~^~None~^~vkBindImageMemory~^~VUID-vkBindImageMemory-None-01901~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_PROTECTED_BIT bit set, the image must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-None-01901)~^~
+VALIDATION_ERROR_17400edc~^~N~^~None~^~vkBindImageMemory~^~VUID-vkBindImageMemory-None-01902~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_PROTECTED_BIT bit not set, the image must not be bound to a memory object created with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-None-01902)~^~
 VALIDATION_ERROR_17405601~^~Y~^~None~^~vkBindImageMemory~^~VUID-vkBindImageMemory-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-device-parameter)~^~implicit
 VALIDATION_ERROR_1740a001~^~Y~^~BindMemoryToDestroyedObject~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-parameter~^~core~^~The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-parameter)~^~implicit
 VALIDATION_ERROR_1740a007~^~Y~^~Unknown~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-parent~^~core~^~The spec valid usage text states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-parent)~^~implicit
@@ -1650,6 +1671,7 @@ VALIDATION_ERROR_1780064a~^~N~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery
 VALIDATION_ERROR_1780064c~^~N~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-None-00806~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'All queries used by the command must not be active' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-None-00806)~^~
 VALIDATION_ERROR_1780064e~^~N~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-None-00807~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'All queries used by the command must be unavailable' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-None-00807)~^~
 VALIDATION_ERROR_17800650~^~N~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-query-00808~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'If vkCmdBeginQuery is called within a render pass instance, the sum of query and the number of bits set in the current subpass's view mask must be less than or equal to the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-query-00808)~^~
+VALIDATION_ERROR_17800eba~^~N~^~None~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-commandBuffer-01885~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'commandBuffer must not be a protected command buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-01885)~^~
 VALIDATION_ERROR_17802401~^~Y~^~None~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_17802413~^~Y~^~None~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_17802415~^~Y~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-cmdpool)~^~implicit
@@ -1751,6 +1773,9 @@ VALIDATION_ERROR_18400d52~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-srcS
 VALIDATION_ERROR_18400d54~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-dstSubresource-01706~^~core~^~The spec valid usage text states 'The dstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-dstSubresource-01706)~^~
 VALIDATION_ERROR_18400d56~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-srcSubresource-01707~^~core~^~The spec valid usage text states 'The srcSubresource.baseArrayLayer + srcSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-srcSubresource-01707)~^~
 VALIDATION_ERROR_18400d58~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-dstSubresource-01708~^~core~^~The spec valid usage text states 'The dstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-dstSubresource-01708)~^~
+VALIDATION_ERROR_18400e54~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-commandBuffer-01834~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-01834)~^~
+VALIDATION_ERROR_18400e56~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-commandBuffer-01835~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-01835)~^~
+VALIDATION_ERROR_18400e58~^~N~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-commandBuffer-01836~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-01836)~^~
 VALIDATION_ERROR_18402401~^~Y~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_18402413~^~Y~^~None~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_18402415~^~Y~^~Unknown~^~vkCmdBlitImage~^~VUID-vkCmdBlitImage-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-cmdpool)~^~implicit
@@ -1787,6 +1812,8 @@ VALIDATION_ERROR_18800b80~^~Y~^~ClearColorImageWithBadRange~^~vkCmdClearColorIma
 VALIDATION_ERROR_18800c12~^~N~^~None~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-image-01545~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'image must not use a format listed in features-formats-requiring-sampler-ycbcr-conversion' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearColorImage-image-01545)~^~
 VALIDATION_ERROR_18800d38~^~Y~^~ClearColorImageWithBadRange~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-pRanges-01692~^~core~^~The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the levelCount member is not VK_REMAINING_MIP_LEVELS, then baseMipLevel + levelCount must be less than the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-pRanges-01692)~^~
 VALIDATION_ERROR_18800d3a~^~Y~^~ClearColorImageWithBadRange~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-pRanges-01693~^~core~^~The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the layerCount member is not VK_REMAINING_ARRAY_LAYERS, then baseArrayLayer + layerCount must be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-pRanges-01693)~^~
+VALIDATION_ERROR_18800e1a~^~N~^~None~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-commandBuffer-01805~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then image must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-01805)~^~
+VALIDATION_ERROR_18800e1c~^~N~^~None~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-commandBuffer-01806~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then image must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-01806)~^~
 VALIDATION_ERROR_18802401~^~Y~^~None~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_18802413~^~Y~^~None~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_18802415~^~Y~^~Unknown~^~vkCmdClearColorImage~^~VUID-vkCmdClearColorImage-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-cmdpool)~^~implicit
@@ -1807,6 +1834,8 @@ VALIDATION_ERROR_18a00b84~^~Y~^~ClearDepthStencilWithBadRange~^~vkCmdClearDepthS
 VALIDATION_ERROR_18a00b88~^~Y~^~ClearDepthStencilWithBadRange~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-baseArrayLayer-01476~^~core~^~The spec valid usage text states 'The VkImageSubresourceRange::baseArrayLayer members of the elements of the pRanges array must each be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-baseArrayLayer-01476)~^~
 VALIDATION_ERROR_18a00d3c~^~Y~^~ClearDepthStencilWithBadRange~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-pRanges-01694~^~core~^~The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the levelCount member is not VK_REMAINING_MIP_LEVELS, then baseMipLevel + levelCount must be less than the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-pRanges-01694)~^~
 VALIDATION_ERROR_18a00d3e~^~Y~^~ClearDepthStencilWithBadRange~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-pRanges-01695~^~core~^~The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the layerCount member is not VK_REMAINING_ARRAY_LAYERS, then baseArrayLayer + layerCount must be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-pRanges-01695)~^~
+VALIDATION_ERROR_18a00e1e~^~N~^~None~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-commandBuffer-01807~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then image must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-01807)~^~
+VALIDATION_ERROR_18a00e20~^~N~^~None~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-commandBuffer-01808~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then image must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-01808)~^~
 VALIDATION_ERROR_18a02401~^~Y~^~None~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_18a02413~^~Y~^~None~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_18a02415~^~Y~^~Unknown~^~vkCmdClearDepthStencilImage~^~VUID-vkCmdClearDepthStencilImage-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-cmdpool)~^~implicit
@@ -1827,6 +1856,9 @@ VALIDATION_ERROR_18c000ec~^~Y~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-sr
 VALIDATION_ERROR_18c000ee~^~Y~^~Unknown~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-srcBuffer-00119~^~core~^~The spec valid usage text states 'If srcBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-srcBuffer-00119)~^~
 VALIDATION_ERROR_18c000f0~^~Y~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-dstBuffer-00120~^~core~^~The spec valid usage text states 'dstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-dstBuffer-00120)~^~
 VALIDATION_ERROR_18c000f2~^~Y~^~Unknown~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-dstBuffer-00121~^~core~^~The spec valid usage text states 'If dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-dstBuffer-00121)~^~
+VALIDATION_ERROR_18c00e3c~^~N~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-commandBuffer-01822~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-01822)~^~
+VALIDATION_ERROR_18c00e3e~^~N~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-commandBuffer-01823~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-01823)~^~
+VALIDATION_ERROR_18c00e40~^~N~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-commandBuffer-01824~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-01824)~^~
 VALIDATION_ERROR_18c02401~^~Y~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_18c02413~^~Y~^~None~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_18c02415~^~Y~^~Unknown~^~vkCmdCopyBuffer~^~VUID-vkCmdCopyBuffer-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-cmdpool)~^~implicit
@@ -1851,6 +1883,9 @@ VALIDATION_ERROR_18e00ae8~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBu
 VALIDATION_ERROR_18e00d4a~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-imageSubresource-01701~^~core~^~The spec valid usage text states 'The imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-imageSubresource-01701)~^~
 VALIDATION_ERROR_18e00d4c~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-imageSubresource-01702~^~core~^~The spec valid usage text states 'The imageSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-imageSubresource-01702)~^~
 VALIDATION_ERROR_18e00e02~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-imageOffset-01793~^~core~^~The spec valid usage text states 'The imageOffset and and imageExtent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-imageOffset-01793)~^~
+VALIDATION_ERROR_18e00e48~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-commandBuffer-01828~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-01828)~^~
+VALIDATION_ERROR_18e00e4a~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-commandBuffer-01829~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-01829)~^~
+VALIDATION_ERROR_18e00e4c~^~N~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-commandBuffer-01830~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-01830)~^~
 VALIDATION_ERROR_18e02401~^~Y~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_18e02413~^~Y~^~ImageBufferCopyTests~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_18e02415~^~Y~^~None~^~vkCmdCopyBufferToImage~^~VUID-vkCmdCopyBufferToImage-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-cmdpool)~^~implicit
@@ -1888,6 +1923,9 @@ VALIDATION_ERROR_19000d44~^~Y~^~CopyImageTypeExtentMismatch~^~vkCmdCopyImage~^~V
 VALIDATION_ERROR_19000d46~^~Y~^~CopyImageTypeExtentMismatch~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-dstSubresource-01699~^~core~^~The spec valid usage text states 'The dstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-dstSubresource-01699)~^~
 VALIDATION_ERROR_19000dee~^~N~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-srcOffset-01783~^~core~^~The spec valid usage text states 'The srcOffset and and extent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-srcOffset-01783)~^~
 VALIDATION_ERROR_19000df0~^~N~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-dstOffset-01784~^~core~^~The spec valid usage text states 'The dstOffset and and extent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-dstOffset-01784)~^~
+VALIDATION_ERROR_19000e42~^~N~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-commandBuffer-01825~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-01825)~^~
+VALIDATION_ERROR_19000e44~^~N~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-commandBuffer-01826~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-01826)~^~
+VALIDATION_ERROR_19000e46~^~N~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-commandBuffer-01827~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-01827)~^~
 VALIDATION_ERROR_19002401~^~Y~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_19002413~^~Y~^~None~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_19002415~^~Y~^~Unknown~^~vkCmdCopyImage~^~VUID-vkCmdCopyImage-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-cmdpool)~^~implicit
@@ -1914,6 +1952,9 @@ VALIDATION_ERROR_19200aea~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyIm
 VALIDATION_ERROR_19200d4e~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-imageSubresource-01703~^~core~^~The spec valid usage text states 'The imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-imageSubresource-01703)~^~
 VALIDATION_ERROR_19200d50~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-imageSubresource-01704~^~core~^~The spec valid usage text states 'The imageSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-imageSubresource-01704)~^~
 VALIDATION_ERROR_19200e04~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-imageOffset-01794~^~core~^~The spec valid usage text states 'The imageOffset and and imageExtent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-imageOffset-01794)~^~
+VALIDATION_ERROR_19200e4e~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-commandBuffer-01831~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-01831)~^~
+VALIDATION_ERROR_19200e50~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-commandBuffer-01832~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-01832)~^~
+VALIDATION_ERROR_19200e52~^~N~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-commandBuffer-01833~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-01833)~^~
 VALIDATION_ERROR_19202401~^~Y~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_19202413~^~Y~^~ImageBufferCopyTests~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_19202415~^~Y~^~None~^~vkCmdCopyImageToBuffer~^~VUID-vkCmdCopyImageToBuffer-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-cmdpool)~^~implicit
@@ -1968,6 +2009,9 @@ VALIDATION_ERROR_19c0031a~^~N~^~Unknown~^~vkCmdDispatch~^~VUID-vkCmdDispatch-Non
 VALIDATION_ERROR_19c0031c~^~N~^~Unknown~^~vkCmdDispatch~^~VUID-vkCmdDispatch-linearTilingFeatures-00398~^~core~^~The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_LINEAR as a result of this command must be of a format which supports linear filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-linearTilingFeatures-00398)~^~
 VALIDATION_ERROR_19c0031e~^~N~^~Unknown~^~vkCmdDispatch~^~VUID-vkCmdDispatch-linearTilingFeatures-00399~^~(VK_IMG_filter_cubic)~^~The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must be of a format which supports cubic filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-linearTilingFeatures-00399)~^~
 VALIDATION_ERROR_19c00320~^~N~^~Unknown~^~vkCmdDispatch~^~VUID-vkCmdDispatch-None-00400~^~(VK_IMG_filter_cubic)~^~The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG 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' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-None-00400)~^~
+VALIDATION_ERROR_19c00e68~^~N~^~None~^~vkCmdDispatch~^~VUID-vkCmdDispatch-commandBuffer-01844~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-01844)~^~
+VALIDATION_ERROR_19c00e6a~^~N~^~None~^~vkCmdDispatch~^~VUID-vkCmdDispatch-commandBuffer-01845~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-01845)~^~
+VALIDATION_ERROR_19c00e6c~^~N~^~None~^~vkCmdDispatch~^~VUID-vkCmdDispatch-commandBuffer-01846~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE reads from any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-01846)~^~
 VALIDATION_ERROR_19c02401~^~Y~^~None~^~vkCmdDispatch~^~VUID-vkCmdDispatch-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_19c02413~^~Y~^~None~^~vkCmdDispatch~^~VUID-vkCmdDispatch-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_19c02415~^~Y~^~Unknown~^~vkCmdDispatch~^~VUID-vkCmdDispatch-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-cmdpool)~^~implicit
@@ -2001,6 +2045,9 @@ VALIDATION_ERROR_1a00033a~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~VUID-vkCmdDisp
 VALIDATION_ERROR_1a00033c~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-linearTilingFeatures-00414~^~core~^~The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_LINEAR as a result of this command must be of a format which supports linear filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-linearTilingFeatures-00414)~^~
 VALIDATION_ERROR_1a00033e~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-linearTilingFeatures-00415~^~(VK_IMG_filter_cubic)~^~The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must be of a format which supports cubic filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-linearTilingFeatures-00415)~^~
 VALIDATION_ERROR_1a000340~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-None-00416~^~(VK_IMG_filter_cubic)~^~The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG 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' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-None-00416)~^~
+VALIDATION_ERROR_1a000e6e~^~N~^~None~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-commandBuffer-01847~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-01847)~^~
+VALIDATION_ERROR_1a000e70~^~N~^~None~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-commandBuffer-01848~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-01848)~^~
+VALIDATION_ERROR_1a000e72~^~N~^~None~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-commandBuffer-01849~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE reads from any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-01849)~^~
 VALIDATION_ERROR_1a001a01~^~Y~^~None~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-buffer-parameter~^~core~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1a002401~^~Y~^~None~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1a002413~^~Y~^~None~^~vkCmdDispatchIndirect~^~VUID-vkCmdDispatchIndirect-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-recording)~^~implicit
@@ -2027,6 +2074,9 @@ VALIDATION_ERROR_1a200388~^~N~^~Unknown~^~vkCmdDraw~^~VUID-vkCmdDraw-None-00452~
 VALIDATION_ERROR_1a20038a~^~N~^~Unknown~^~vkCmdDraw~^~VUID-vkCmdDraw-maxMultiviewInstanceIndex-00453~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-maxMultiviewInstanceIndex-00453)~^~
 VALIDATION_ERROR_1a200bb6~^~N~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-None-01499~^~core~^~The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-None-01499)~^~
 VALIDATION_ERROR_1a200bd0~^~N~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-sampleLocationsEnable-01512~^~(VK_EXT_sample_locations)~^~The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-sampleLocationsEnable-01512)~^~
+VALIDATION_ERROR_1a200e74~^~N~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-commandBuffer-01850~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-01850)~^~
+VALIDATION_ERROR_1a200e76~^~N~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-commandBuffer-01851~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-01851)~^~
+VALIDATION_ERROR_1a200e78~^~N~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-commandBuffer-01852~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-01852)~^~
 VALIDATION_ERROR_1a202401~^~Y~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1a202413~^~Y~^~None~^~vkCmdDraw~^~VUID-vkCmdDraw-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1a202415~^~Y~^~Unknown~^~vkCmdDraw~^~VUID-vkCmdDraw-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-cmdpool)~^~implicit
@@ -2053,6 +2103,9 @@ VALIDATION_ERROR_1a4003b0~^~N~^~Unknown~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndex
 VALIDATION_ERROR_1a4003b2~^~N~^~Unknown~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-00473~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-00473)~^~
 VALIDATION_ERROR_1a400bb8~^~N~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-None-01500~^~core~^~The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-None-01500)~^~
 VALIDATION_ERROR_1a400bd2~^~N~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-sampleLocationsEnable-01513~^~(VK_EXT_sample_locations)~^~The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-sampleLocationsEnable-01513)~^~
+VALIDATION_ERROR_1a400e7a~^~N~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-commandBuffer-01853~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-01853)~^~
+VALIDATION_ERROR_1a400e7c~^~N~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-commandBuffer-01854~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-01854)~^~
+VALIDATION_ERROR_1a400e7e~^~N~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-commandBuffer-01855~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-01855)~^~
 VALIDATION_ERROR_1a402401~^~Y~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1a402413~^~Y~^~None~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1a402415~^~Y~^~Unknown~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-cmdpool)~^~implicit
@@ -2087,6 +2140,9 @@ VALIDATION_ERROR_1a60044e~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdD
 VALIDATION_ERROR_1a600bbe~^~N~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-None-01503~^~core~^~The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-None-01503)~^~
 VALIDATION_ERROR_1a600bd8~^~N~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-sampleLocationsEnable-01516~^~(VK_EXT_sample_locations)~^~The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-sampleLocationsEnable-01516)~^~
 VALIDATION_ERROR_1a600d02~^~N~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-buffer-01665~^~core~^~The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-buffer-01665)~^~
+VALIDATION_ERROR_1a600e8c~^~N~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-commandBuffer-01862~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-01862)~^~
+VALIDATION_ERROR_1a600e8e~^~N~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-commandBuffer-01863~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-01863)~^~
+VALIDATION_ERROR_1a600e90~^~N~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-commandBuffer-01864~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-01864)~^~
 VALIDATION_ERROR_1a601a01~^~Y~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-buffer-parameter~^~core~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1a602401~^~Y~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1a602413~^~Y~^~None~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-recording)~^~implicit
@@ -2123,6 +2179,9 @@ VALIDATION_ERROR_1a800d04~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-v
 VALIDATION_ERROR_1a800d06~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-buffer-01667~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-buffer-01667)~^~
 VALIDATION_ERROR_1a800d08~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-countBuffer-01668~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'If countBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-countBuffer-01668)~^~
 VALIDATION_ERROR_1a800d0a~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-countBuffer-01669~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'countBuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-countBuffer-01669)~^~
+VALIDATION_ERROR_1a800e92~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01865~^~(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01865)~^~
+VALIDATION_ERROR_1a800e94~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01866~^~(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01866)~^~
+VALIDATION_ERROR_1a800e96~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01867~^~(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01867)~^~
 VALIDATION_ERROR_1a801a01~^~Y~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-buffer-parameter~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1a802401~^~Y~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-parameter~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1a802413~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-recording~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-recording)~^~implicit
@@ -2159,6 +2218,9 @@ VALIDATION_ERROR_1aa003e6~^~N~^~Unknown~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndi
 VALIDATION_ERROR_1aa00bba~^~N~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-None-01501~^~core~^~The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-None-01501)~^~
 VALIDATION_ERROR_1aa00bd4~^~N~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-sampleLocationsEnable-01514~^~(VK_EXT_sample_locations)~^~The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-sampleLocationsEnable-01514)~^~
 VALIDATION_ERROR_1aa00cf8~^~N~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-buffer-01660~^~core~^~The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-buffer-01660)~^~
+VALIDATION_ERROR_1aa00e80~^~N~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-commandBuffer-01856~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-01856)~^~
+VALIDATION_ERROR_1aa00e82~^~N~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-commandBuffer-01857~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-01857)~^~
+VALIDATION_ERROR_1aa00e84~^~N~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-commandBuffer-01858~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-01858)~^~
 VALIDATION_ERROR_1aa01a01~^~Y~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-buffer-parameter~^~core~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1aa02401~^~Y~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1aa02413~^~Y~^~None~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-recording)~^~implicit
@@ -2195,6 +2257,9 @@ VALIDATION_ERROR_1ac00cfa~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDra
 VALIDATION_ERROR_1ac00cfc~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-buffer-01662~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-buffer-01662)~^~
 VALIDATION_ERROR_1ac00cfe~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-countBuffer-01663~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'If countBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-countBuffer-01663)~^~
 VALIDATION_ERROR_1ac00d00~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-countBuffer-01664~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'countBuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-countBuffer-01664)~^~
+VALIDATION_ERROR_1ac00e86~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01859~^~(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01859)~^~
+VALIDATION_ERROR_1ac00e88~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01860~^~(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01860)~^~
+VALIDATION_ERROR_1ac00e8a~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01861~^~(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01861)~^~
 VALIDATION_ERROR_1ac01a01~^~Y~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-buffer-parameter~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1ac02401~^~Y~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-commandBuffer-parameter~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1ac02413~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-commandBuffer-recording~^~(VK_AMD_draw_indirect_count)~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-recording)~^~implicit
@@ -2205,6 +2270,7 @@ VALIDATION_ERROR_1ae00652~^~Y~^~Unknown~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-que
 VALIDATION_ERROR_1ae00654~^~N~^~Unknown~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-query-00810~^~core~^~The spec valid usage text states 'query must be less than the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-query-00810)~^~
 VALIDATION_ERROR_1ae00656~^~N~^~Unknown~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-None-00811~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'All queries used by the command must be active' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndQuery-None-00811)~^~
 VALIDATION_ERROR_1ae00658~^~N~^~Unknown~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-query-00812~^~(VK_VERSION_1_1,VK_KHR_multiview)~^~The spec valid usage text states 'If vkCmdEndQuery is called within a render pass instance, the sum of query and the number of bits set in the current subpass's view mask must be less than or equal to the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndQuery-query-00812)~^~
+VALIDATION_ERROR_1ae00ebc~^~N~^~None~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-commandBuffer-01886~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'commandBuffer must not be a protected command buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-01886)~^~
 VALIDATION_ERROR_1ae02401~^~Y~^~None~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1ae02413~^~Y~^~None~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1ae02415~^~Y~^~Unknown~^~vkCmdEndQuery~^~VUID-vkCmdEndQuery-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-cmdpool)~^~implicit
@@ -2236,6 +2302,8 @@ VALIDATION_ERROR_1b2000cc~^~N~^~Unknown~^~vkCmdExecuteCommands~^~VUID-vkCmdExecu
 VALIDATION_ERROR_1b2000ce~^~N~^~Unknown~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-00103~^~core~^~The spec valid usage text states 'If commandBuffer has a VK_QUERY_TYPE_OCCLUSION query active, then each element of pCommandBuffers must have been recorded with VkCommandBufferInheritanceInfo::queryFlags having all bits set that are set for the query' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-00103)~^~
 VALIDATION_ERROR_1b2000d0~^~Y~^~Unknown~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-00104~^~core~^~The spec valid usage text states 'If commandBuffer has a VK_QUERY_TYPE_PIPELINE_STATISTICS query active, then each element of pCommandBuffers must have been recorded with VkCommandBufferInheritanceInfo::pipelineStatistics having all bits set that are set in the VkQueryPool the query uses' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-00104)~^~
 VALIDATION_ERROR_1b2000d2~^~N~^~Unknown~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-pCommandBuffers-00105~^~core~^~The spec valid usage text states 'Each element of pCommandBuffers must not begin any query types that are active in commandBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-pCommandBuffers-00105)~^~
+VALIDATION_ERROR_1b200e38~^~N~^~None~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-01820~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then each element of pCommandBuffers must be a protected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-01820)~^~
+VALIDATION_ERROR_1b200e3a~^~N~^~None~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-01821~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then each element of pCommandBuffers must be an unprotected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-01821)~^~
 VALIDATION_ERROR_1b202401~^~Y~^~None~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1b202413~^~Y~^~None~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1b202415~^~Y~^~Unknown~^~vkCmdExecuteCommands~^~VUID-vkCmdExecuteCommands-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-cmdpool)~^~implicit
@@ -2251,6 +2319,8 @@ VALIDATION_ERROR_1b400038~^~Y~^~Unknown~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer
 VALIDATION_ERROR_1b40003a~^~Y~^~None~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-dstBuffer-00029~^~core~^~The spec valid usage text states 'dstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-dstBuffer-00029)~^~
 VALIDATION_ERROR_1b40003c~^~N~^~None~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-commandBuffer-00030~^~!(VK_VERSION_1_1,VK_KHR_maintenance1)~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-00030)~^~
 VALIDATION_ERROR_1b40003e~^~Y~^~Unknown~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-dstBuffer-00031~^~core~^~The spec valid usage text states 'If dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-dstBuffer-00031)~^~
+VALIDATION_ERROR_1b400e26~^~N~^~None~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-commandBuffer-01811~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-01811)~^~
+VALIDATION_ERROR_1b400e28~^~N~^~None~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-commandBuffer-01812~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-01812)~^~
 VALIDATION_ERROR_1b402401~^~Y~^~None~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1b402413~^~Y~^~None~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1b402415~^~Y~^~Unknown~^~vkCmdFillBuffer~^~VUID-vkCmdFillBuffer-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-cmdpool)~^~implicit
@@ -2382,6 +2452,9 @@ VALIDATION_ERROR_1c800d5a~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImag
 VALIDATION_ERROR_1c800d5c~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-dstSubresource-01710~^~core~^~The spec valid usage text states 'The dstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-dstSubresource-01710)~^~
 VALIDATION_ERROR_1c800d5e~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-srcSubresource-01711~^~core~^~The spec valid usage text states 'The srcSubresource.baseArrayLayer + srcSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-srcSubresource-01711)~^~
 VALIDATION_ERROR_1c800d60~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-dstSubresource-01712~^~core~^~The spec valid usage text states 'The dstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-dstSubresource-01712)~^~
+VALIDATION_ERROR_1c800e5a~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-commandBuffer-01837~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-01837)~^~
+VALIDATION_ERROR_1c800e5c~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-commandBuffer-01838~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-01838)~^~
+VALIDATION_ERROR_1c800e5e~^~N~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-commandBuffer-01839~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-01839)~^~
 VALIDATION_ERROR_1c802401~^~Y~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1c802413~^~Y~^~None~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1c802415~^~Y~^~Unknown~^~vkCmdResolveImage~^~VUID-vkCmdResolveImage-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-cmdpool)~^~implicit
@@ -2498,6 +2571,8 @@ VALIDATION_ERROR_1e400046~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBu
 VALIDATION_ERROR_1e400048~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-dstOffset-00036~^~core~^~The spec valid usage text states 'dstOffset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-dstOffset-00036)~^~
 VALIDATION_ERROR_1e40004a~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-dataSize-00037~^~core~^~The spec valid usage text states 'dataSize must be less than or equal to 65536' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-dataSize-00037)~^~
 VALIDATION_ERROR_1e40004c~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-dataSize-00038~^~core~^~The spec valid usage text states 'dataSize must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-dataSize-00038)~^~
+VALIDATION_ERROR_1e400e2a~^~N~^~None~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-commandBuffer-01813~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-01813)~^~
+VALIDATION_ERROR_1e400e2c~^~N~^~None~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-commandBuffer-01814~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-01814)~^~
 VALIDATION_ERROR_1e402401~^~Y~^~None~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1e402413~^~Y~^~None~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-commandBuffer-recording~^~core~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-recording)~^~implicit
 VALIDATION_ERROR_1e402415~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~VUID-vkCmdUpdateBuffer-commandBuffer-cmdpool~^~core~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-cmdpool)~^~implicit
@@ -2897,6 +2972,7 @@ VALIDATION_ERROR_27400076~^~Y~^~None~^~vkEndCommandBuffer~^~VUID-vkEndCommandBuf
 VALIDATION_ERROR_27400078~^~Y~^~Unknown~^~vkEndCommandBuffer~^~VUID-vkEndCommandBuffer-commandBuffer-00060~^~core~^~The spec valid usage text states 'If commandBuffer is a primary command buffer, there must not be an active render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-00060)~^~
 VALIDATION_ERROR_2740007a~^~Y~^~Unknown~^~vkEndCommandBuffer~^~VUID-vkEndCommandBuffer-commandBuffer-00061~^~core~^~The spec valid usage text states 'All queries made active during the recording of commandBuffer must have been made inactive' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-00061)~^~
 VALIDATION_ERROR_2740007c~^~N~^~Unknown~^~vkEndCommandBuffer~^~VUID-vkEndCommandBuffer-commandBuffer-00062~^~(VK_EXT_debug_marker)~^~The spec valid usage text states 'If commandBuffer is a secondary command buffer, there must not be an outstanding vkCmdDebugMarkerBeginEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdDebugMarkerEndEXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-00062)~^~
+VALIDATION_ERROR_27400e2e~^~N~^~None~^~vkEndCommandBuffer~^~VUID-vkEndCommandBuffer-commandBuffer-01815~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If commandBuffer is a secondary command buffer, there must not be an outstanding vkCmdBeginUtilsLabelEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdEndDebugUtilsLabelEXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-01815)~^~
 VALIDATION_ERROR_27402401~^~Y~^~None~^~vkEndCommandBuffer~^~VUID-vkEndCommandBuffer-commandBuffer-parameter~^~core~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_27619e01~^~N~^~Unknown~^~vkEnumerateDeviceExtensionProperties~^~VUID-vkEnumerateDeviceExtensionProperties-pLayerName-parameter~^~core~^~The spec valid usage text states 'If pLayerName is not NULL, pLayerName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumerateDeviceExtensionProperties-pLayerName-parameter)~^~implicit
 VALIDATION_ERROR_2761f401~^~Y~^~Unknown~^~vkEnumerateDeviceExtensionProperties~^~VUID-vkEnumerateDeviceExtensionProperties-pProperties-parameter~^~core~^~The spec valid usage text states 'If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount VkExtensionProperties structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumerateDeviceExtensionProperties-pProperties-parameter)~^~implicit
@@ -2966,6 +3042,7 @@ VALIDATION_ERROR_29405601~^~N~^~Unknown~^~vkGetDeviceProcAddr~^~VUID-vkGetDevice
 VALIDATION_ERROR_2941c001~^~N~^~Unknown~^~vkGetDeviceProcAddr~^~VUID-vkGetDeviceProcAddr-pName-parameter~^~core~^~The spec valid usage text states 'pName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceProcAddr-pName-parameter)~^~implicit, The loader uses strcmp to dispatch and can fail to dispatch when name is not null-terminated. i.e. Validation layers are never called.
 VALIDATION_ERROR_29600300~^~Y~^~Unknown~^~vkGetDeviceQueue~^~VUID-vkGetDeviceQueue-queueFamilyIndex-00384~^~core~^~The spec valid usage text states 'queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-queueFamilyIndex-00384)~^~
 VALIDATION_ERROR_29600302~^~Y~^~Unknown~^~vkGetDeviceQueue~^~VUID-vkGetDeviceQueue-queueIndex-00385~^~core~^~The spec valid usage text states 'queueIndex must be less than the number of queues created for the specified queue family index when device was created, via the queueCount member of the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-queueIndex-00385)~^~
+VALIDATION_ERROR_29600e62~^~N~^~None~^~vkGetDeviceQueue~^~VUID-vkGetDeviceQueue-flags-01841~^~core~^~The spec valid usage text states 'VkDeviceQueueCreateInfo::flags must have been set to zero when device was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-flags-01841)~^~
 VALIDATION_ERROR_29605601~^~Y~^~None~^~vkGetDeviceQueue~^~VUID-vkGetDeviceQueue-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-device-parameter)~^~implicit
 VALIDATION_ERROR_2961fc01~^~Y~^~Unknown~^~vkGetDeviceQueue~^~VUID-vkGetDeviceQueue-pQueue-parameter~^~core~^~The spec valid usage text states 'pQueue must be a valid pointer to a VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-pQueue-parameter)~^~implicit
 VALIDATION_ERROR_29806001~^~Y~^~Unknown~^~vkGetDisplayModePropertiesKHR~^~VUID-vkGetDisplayModePropertiesKHR-display-parameter~^~(VK_KHR_surface)+(VK_KHR_display)~^~The spec valid usage text states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDisplayModePropertiesKHR-display-parameter)~^~implicit
@@ -3000,6 +3077,7 @@ VALIDATION_ERROR_2a600c5a~^~Y~^~MultiplaneImageLayoutBadAspectFlags~^~vkGetImage
 VALIDATION_ERROR_2a600c5c~^~Y~^~MultiplaneImageLayoutBadAspectFlags~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-format-01582~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format of image is a multi-planar format with three planes, the aspectMask member of pSubresource must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetImageSubresourceLayout-format-01582)~^~
 VALIDATION_ERROR_2a600d68~^~Y~^~ExerciseGetImageSubresourceLayout~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-mipLevel-01716~^~core~^~The spec valid usage text states 'The mipLevel member of pSubresource must be less than the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-mipLevel-01716)~^~
 VALIDATION_ERROR_2a600d6a~^~Y~^~ExerciseGetImageSubresourceLayout~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-arrayLayer-01717~^~core~^~The spec valid usage text states 'The arrayLayer member of pSubresource must be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-arrayLayer-01717)~^~
+VALIDATION_ERROR_2a600ece~^~N~^~None~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-image-01895~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If image was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then image must be bound to memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetImageSubresourceLayout-image-01895)~^~
 VALIDATION_ERROR_2a605601~^~Y~^~None~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-device-parameter)~^~implicit
 VALIDATION_ERROR_2a60a001~^~Y~^~None~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-image-parameter~^~core~^~The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-image-parameter)~^~implicit
 VALIDATION_ERROR_2a60a007~^~Y~^~Unknown~^~vkGetImageSubresourceLayout~^~VUID-vkGetImageSubresourceLayout-image-parent~^~core~^~The spec valid usage text states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-image-parent)~^~implicit
@@ -3332,7 +3410,7 @@ VALIDATION_ERROR_3380d801~^~Y~^~Unknown~^~vkUnregisterObjectsNVX~^~VUID-vkUnregi
 VALIDATION_ERROR_3380d807~^~Y~^~Unknown~^~vkUnregisterObjectsNVX~^~VUID-vkUnregisterObjectsNVX-objectTable-parent~^~(VK_NVX_device_generated_commands)~^~The spec valid usage text states 'objectTable must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUnregisterObjectsNVX-objectTable-parent)~^~implicit
 VALIDATION_ERROR_3381c801~^~N~^~Unknown~^~vkUnregisterObjectsNVX~^~VUID-vkUnregisterObjectsNVX-pObjectEntryTypes-parameter~^~(VK_NVX_device_generated_commands)~^~The spec valid usage text states 'pObjectEntryTypes must be a valid pointer to an array of objectCount valid VkObjectEntryTypeNVX values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUnregisterObjectsNVX-pObjectEntryTypes-parameter)~^~implicit
 VALIDATION_ERROR_3381cc01~^~Y~^~Unknown~^~vkUnregisterObjectsNVX~^~VUID-vkUnregisterObjectsNVX-pObjectIndices-parameter~^~(VK_NVX_device_generated_commands)~^~The spec valid usage text states 'pObjectIndices must be a valid pointer to an array of objectCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUnregisterObjectsNVX-pObjectIndices-parameter)~^~implicit
-VALIDATION_ERROR_33a00d2a~^~N~^~None~^~vkUpdateDescriptorSetWithTemplate~^~VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-01685~^~(VK_VERSION_1_1,VK_KHR_descriptor_update_template)~^~The spec valid usage text states 'pData must be a valid pointer to a memory that contains one or more valid instances of VkDescriptorImageInfo, VkDescriptorBufferInfo, or VkBufferView in a layout defined by descriptorUpdateTemplate when it was created with vkCreateDescriptorUpdateTemplate' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-01685)~^~
+VALIDATION_ERROR_33a00d2a~^~N~^~None~^~vkUpdateDescriptorSetWithTemplate~^~VUID-vkUpdateDescriptorSetWithTemplate-pData-01685~^~(VK_VERSION_1_1,VK_KHR_descriptor_update_template)~^~The spec valid usage text states 'pData must be a valid pointer to a memory that contains one or more valid instances of VkDescriptorImageInfo, VkDescriptorBufferInfo, or VkBufferView in a layout defined by descriptorUpdateTemplate when it was created with vkCreateDescriptorUpdateTemplate' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-pData-01685)~^~
 VALIDATION_ERROR_33a04801~^~Y~^~Unknown~^~vkUpdateDescriptorSetWithTemplate~^~VUID-vkUpdateDescriptorSetWithTemplate-descriptorSet-parameter~^~(VK_VERSION_1_1,VK_KHR_descriptor_update_template)~^~The spec valid usage text states 'descriptorSet must be a valid VkDescriptorSet handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-descriptorSet-parameter)~^~implicit
 VALIDATION_ERROR_33a05201~^~Y~^~Unknown~^~vkUpdateDescriptorSetWithTemplate~^~VUID-vkUpdateDescriptorSetWithTemplate-descriptorUpdateTemplate-parameter~^~(VK_VERSION_1_1,VK_KHR_descriptor_update_template)~^~The spec valid usage text states 'descriptorUpdateTemplate must be a valid VkDescriptorUpdateTemplate handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-descriptorUpdateTemplate-parameter)~^~implicit
 VALIDATION_ERROR_33a05207~^~Y~^~Unknown~^~vkUpdateDescriptorSetWithTemplate~^~VUID-vkUpdateDescriptorSetWithTemplate-descriptorUpdateTemplate-parent~^~(VK_VERSION_1_1,VK_KHR_descriptor_update_template)~^~The spec valid usage text states 'descriptorUpdateTemplate must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-descriptorUpdateTemplate-parent)~^~implicit
@@ -3350,7 +3428,7 @@ VALIDATION_ERROR_3402b00b~^~Y~^~None~^~VkPhysicalDeviceProperties2~^~VUID-VkPhys
 VALIDATION_ERROR_3402b00f~^~N~^~None~^~VkPhysicalDeviceProperties2~^~VUID-VkPhysicalDeviceProperties2-sType-unique~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceProperties2-sType-unique)~^~implicit
 VALIDATION_ERROR_3421c40d~^~N~^~None~^~VkFormatProperties2~^~VUID-VkFormatProperties2-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkFormatProperties2-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3422b00b~^~Y~^~None~^~VkFormatProperties2~^~VUID-VkFormatProperties2-sType-sType~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkFormatProperties2-sType-sType)~^~implicit
-VALIDATION_ERROR_3441c40d~^~N~^~None~^~VkImageFormatProperties2~^~VUID-VkImageFormatProperties2-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states '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 VkExternalImageFormatProperties, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-pNext-pNext)~^~implicit
+VALIDATION_ERROR_3441c40d~^~N~^~None~^~VkImageFormatProperties2~^~VUID-VkImageFormatProperties2-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states '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 VkAndroidHardwareBufferUsageANDROID, VkExternalImageFormatProperties, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3442b00b~^~Y~^~None~^~VkImageFormatProperties2~^~VUID-VkImageFormatProperties2-sType-sType~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-sType-sType)~^~implicit
 VALIDATION_ERROR_3442b00f~^~N~^~None~^~VkImageFormatProperties2~^~VUID-VkImageFormatProperties2-sType-unique~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-sType-unique)~^~implicit
 VALIDATION_ERROR_3461c40d~^~N~^~None~^~VkPhysicalDeviceMemoryProperties2~^~VUID-VkPhysicalDeviceMemoryProperties2-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceMemoryProperties2-pNext-pNext)~^~implicit
@@ -3503,9 +3581,11 @@ VALIDATION_ERROR_3b800b32~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMe
 VALIDATION_ERROR_3b800b34~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-image-01434~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must have been created without VK_IMAGE_CREATE_SPARSE_BINDING_BIT set in VkImageCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-01434)~^~
 VALIDATION_ERROR_3b800b36~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-buffer-01435~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer is not VK_NULL_HANDLE, VkMemoryAllocateInfo::allocationSize must equal the VkMemoryRequirements::size of the buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-01435)~^~
 VALIDATION_ERROR_3b800b38~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-buffer-01436~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer is not VK_NULL_HANDLE, buffer must have been created without VK_BUFFER_CREATE_SPARSE_BINDING_BIT set in VkBufferCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-01436)~^~
-VALIDATION_ERROR_3b800b3a~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-image-01437~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32,VK_KHR_external_memory_fd)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-01437)~^~
-VALIDATION_ERROR_3b800b3c~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-buffer-01438~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32,VK_KHR_external_memory_fd)~^~The spec valid usage text states 'If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-01438)~^~
-VALIDATION_ERROR_3b800e0a~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfoKHR-image-01797~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must not have been created with VK_IMAGE_CREATE_DISJOINT_BIT_KHR set in VkImageCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-image-01797)~^~
+VALIDATION_ERROR_3b800e0a~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-image-01797~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must not have been created with VK_IMAGE_CREATE_DISJOINT_BIT set in VkImageCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-01797)~^~
+VALIDATION_ERROR_3b800ea8~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfoKHR-image-01876~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-image-01876)~^~
+VALIDATION_ERROR_3b800eaa~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01877~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32)~^~The spec valid usage text states 'If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01877)~^~
+VALIDATION_ERROR_3b800eac~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfoKHR-image-01878~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_fd)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-image-01878)~^~
+VALIDATION_ERROR_3b800eae~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01879~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_fd)~^~The spec valid usage text states 'If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01879)~^~
 VALIDATION_ERROR_3b801a01~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-buffer-parameter~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If buffer is not VK_NULL_HANDLE, buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-parameter)~^~implicit
 VALIDATION_ERROR_3b80a001~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-image-parameter~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-parameter)~^~implicit
 VALIDATION_ERROR_3b81c40d~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMemoryDedicatedAllocateInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_dedicated_allocation)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-pNext-pNext)~^~implicit
@@ -3513,9 +3593,10 @@ VALIDATION_ERROR_3b82b00b~^~N~^~None~^~VkMemoryDedicatedAllocateInfo~^~VUID-VkMe
 VALIDATION_ERROR_3ba01a01~^~Y~^~None~^~VkBufferMemoryRequirementsInfo2~^~VUID-VkBufferMemoryRequirementsInfo2-buffer-parameter~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)~^~The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferMemoryRequirementsInfo2-buffer-parameter)~^~implicit
 VALIDATION_ERROR_3ba1c40d~^~Y~^~None~^~VkBufferMemoryRequirementsInfo2~^~VUID-VkBufferMemoryRequirementsInfo2-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferMemoryRequirementsInfo2-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3ba2b00b~^~Y~^~None~^~VkBufferMemoryRequirementsInfo2~^~VUID-VkBufferMemoryRequirementsInfo2-sType-sType~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferMemoryRequirementsInfo2-sType-sType)~^~implicit
-VALIDATION_ERROR_3bc00c6a~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2KHR-image-01589~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was created with a multi-planar format and the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01589)~^~
-VALIDATION_ERROR_3bc00c6c~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2KHR-image-01590~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was not created with the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01590)~^~
-VALIDATION_ERROR_3bc00c6e~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2KHR-image-01591~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was created with a single-plane format, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01591)~^~
+VALIDATION_ERROR_3bc00c6a~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2-image-01589~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was created with a multi-planar format and the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-01589)~^~
+VALIDATION_ERROR_3bc00c6c~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2-image-01590~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was not created with the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-01590)~^~
+VALIDATION_ERROR_3bc00c6e~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2-image-01591~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If image was created with a single-plane format, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-01591)~^~
+VALIDATION_ERROR_3bc00ed2~^~N~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2KHR-image-01897~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If image was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then image must be bound to memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01897)~^~
 VALIDATION_ERROR_3bc0a001~^~Y~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2-image-parameter~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)~^~The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-parameter)~^~implicit
 VALIDATION_ERROR_3bc1c40d~^~Y~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)~^~The spec valid usage text states 'pNext must be NULL or a pointer to a valid instance of VkImagePlaneMemoryRequirementsInfo' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3bc2b00b~^~Y~^~None~^~VkImageMemoryRequirementsInfo2~^~VUID-VkImageMemoryRequirementsInfo2-sType-sType~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-sType-sType)~^~implicit
@@ -3607,14 +3688,14 @@ VALIDATION_ERROR_3ec1c40d~^~N~^~None~^~VkPhysicalDevicePointClippingProperties~^
 VALIDATION_ERROR_3ec2b00b~^~N~^~None~^~VkPhysicalDevicePointClippingProperties~^~VUID-VkPhysicalDevicePointClippingProperties-sType-sType~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDevicePointClippingProperties-sType-sType)~^~implicit
 VALIDATION_ERROR_3ee00c01~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReference-aspectMask-parameter~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-aspectMask-parameter)~^~implicit
 VALIDATION_ERROR_3ee00c03~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReference-aspectMask-requiredbitmask~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-aspectMask-requiredbitmask)~^~implicit
-VALIDATION_ERROR_3ee00c40~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReferenceKHR-pCreateInfo-01568~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'There must be an input attachment at pCreateInfo::pSubpasses[subpass].pInputAttachments[inputAttachment].' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReferenceKHR-pCreateInfo-01568)~^~
-VALIDATION_ERROR_3ee00c42~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReferenceKHR-None-01569~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'The specified input attachment must have more than one aspect mask.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReferenceKHR-None-01569)~^~
-VALIDATION_ERROR_3ee00c44~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReferenceKHR-aspectMask-01570~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'aspectMask must be a subset of the aspect masks in the specified input attachment.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReferenceKHR-aspectMask-01570)~^~
+VALIDATION_ERROR_3ee00c40~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReference-pCreateInfo-01568~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'There must be an input attachment at pCreateInfo::pSubpasses[subpass].pInputAttachments[inputAttachmentIndex].' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-pCreateInfo-01568)~^~
+VALIDATION_ERROR_3ee00c42~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReference-None-01569~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'The specified input attachment must have more than one aspect mask.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-None-01569)~^~
+VALIDATION_ERROR_3ee00c44~^~N~^~None~^~VkInputAttachmentAspectReference~^~VUID-VkInputAttachmentAspectReference-aspectMask-01570~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'aspectMask must be a subset of the aspect masks in the specified input attachment.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-aspectMask-01570)~^~
 VALIDATION_ERROR_3f01c40d~^~N~^~None~^~VkRenderPassInputAttachmentAspectCreateInfo~^~VUID-VkRenderPassInputAttachmentAspectCreateInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3f02b00b~^~N~^~None~^~VkRenderPassInputAttachmentAspectCreateInfo~^~VUID-VkRenderPassInputAttachmentAspectCreateInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_3f03ce1b~^~N~^~None~^~VkRenderPassInputAttachmentAspectCreateInfo~^~VUID-VkRenderPassInputAttachmentAspectCreateInfo-aspectReferenceCount-arraylength~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'aspectReferenceCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-aspectReferenceCount-arraylength)~^~implicit
 VALIDATION_ERROR_3f03d001~^~N~^~None~^~VkRenderPassInputAttachmentAspectCreateInfo~^~VUID-VkRenderPassInputAttachmentAspectCreateInfo-pAspectReferences-parameter~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'pAspectReferences must be a valid pointer to an array of aspectReferenceCount valid VkInputAttachmentAspectReference structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-pAspectReferences-parameter)~^~implicit
-VALIDATION_ERROR_3f200c66~^~N~^~None~^~VkImageViewUsageCreateInfo~^~VUID-VkImageViewUsageCreateInfoKHR-usage-01587~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'usage must not include any set bits that were not set in the usage member of the VkImageCreateInfo structure used to create the image this image view is created from.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfoKHR-usage-01587)~^~
+VALIDATION_ERROR_3f200c66~^~N~^~None~^~VkImageViewUsageCreateInfo~^~VUID-VkImageViewUsageCreateInfo-usage-01587~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'usage must not include any set bits that were not set in the usage member of the VkImageCreateInfo structure used to create the image this image view is created from.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-usage-01587)~^~
 VALIDATION_ERROR_3f21c40d~^~N~^~None~^~VkImageViewUsageCreateInfo~^~VUID-VkImageViewUsageCreateInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3f22b00b~^~N~^~None~^~VkImageViewUsageCreateInfo~^~VUID-VkImageViewUsageCreateInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_3f230601~^~N~^~None~^~VkImageViewUsageCreateInfo~^~VUID-VkImageViewUsageCreateInfo-usage-parameter~^~(VK_VERSION_1_1,VK_KHR_maintenance2)~^~The spec valid usage text states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-usage-parameter)~^~implicit
@@ -3628,50 +3709,51 @@ VALIDATION_ERROR_3f600c58~^~N~^~None~^~VkImageFormatListCreateInfoKHR~^~VUID-VkI
 VALIDATION_ERROR_3f61c40d~^~N~^~None~^~VkImageFormatListCreateInfoKHR~^~VUID-VkImageFormatListCreateInfoKHR-pNext-pNext~^~(VK_KHR_image_format_list)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatListCreateInfoKHR-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3f62b00b~^~N~^~None~^~VkImageFormatListCreateInfoKHR~^~VUID-VkImageFormatListCreateInfoKHR-sType-sType~^~(VK_KHR_image_format_list)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatListCreateInfoKHR-sType-sType)~^~implicit
 VALIDATION_ERROR_3f63e401~^~N~^~None~^~VkImageFormatListCreateInfoKHR~^~VUID-VkImageFormatListCreateInfoKHR-pViewFormats-parameter~^~(VK_KHR_image_format_list)~^~The spec valid usage text states 'If viewFormatCount is not 0, pViewFormats must be a valid pointer to an array of viewFormatCount valid VkFormat values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatListCreateInfoKHR-pViewFormats-parameter)~^~implicit
-VALIDATION_ERROR_3f800ce2~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01649~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'format must not be VK_FORMAT_UNDEFINED' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01649)~^~
-VALIDATION_ERROR_3f800ce4~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01650~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'format must support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01650)~^~
-VALIDATION_ERROR_3f800ce6~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01651~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_COSITED_EVEN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01651)~^~
-VALIDATION_ERROR_3f800ce8~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01652~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_MIDPOINT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01652)~^~
-VALIDATION_ERROR_3f800cea~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01653~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'format must represent unsigned normalized values (i.e. the format must be a UNORM format)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01653)~^~
-VALIDATION_ERROR_3f800cec~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-None-01654~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format has a _422 or _420 suffix:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-None-01654)~^~
-VALIDATION_ERROR_3f800cee~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-ycbcrModel-01655~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to channels of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a channel which contains zero or one as a consequence of conversion to RGBA' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-ycbcrModel-01655)~^~
-VALIDATION_ERROR_3f800cf0~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-forceExplicitReconstruction-01656~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, forceExplicitReconstruction must be FALSE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-forceExplicitReconstruction-01656)~^~
-VALIDATION_ERROR_3f800cf2~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-chromaFilter-01657~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, chromaFilter must be VK_FILTER_NEAREST' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-chromaFilter-01657)~^~
+VALIDATION_ERROR_3f800ce2~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-format-01649~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+!(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'format must not be VK_FORMAT_UNDEFINED' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-01649)~^~
+VALIDATION_ERROR_3f800ce4~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-format-01650~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'format must support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-01650)~^~
+VALIDATION_ERROR_3f800ce6~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01651~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_COSITED_EVEN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01651)~^~
+VALIDATION_ERROR_3f800ce8~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01652~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_MIDPOINT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01652)~^~
+VALIDATION_ERROR_3f800cea~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-format-01653~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'format must represent unsigned normalized values (i.e. the format must be a UNORM format)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-01653)~^~
+VALIDATION_ERROR_3f800cec~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-None-01654~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format has a _422 or _420 suffix:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-None-01654)~^~
+VALIDATION_ERROR_3f800cee~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-01655~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to channels of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a channel which contains zero or one as a consequence of conversion to RGBA' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-01655)~^~
+VALIDATION_ERROR_3f800cf0~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-forceExplicitReconstruction-01656~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, forceExplicitReconstruction must be FALSE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-forceExplicitReconstruction-01656)~^~
+VALIDATION_ERROR_3f800cf2~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-01657~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, chromaFilter must be VK_FILTER_NEAREST' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-01657)~^~
+VALIDATION_ERROR_3f800ee0~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01904~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If an external format conversion is being created, format must be VK_FORMAT_UNDEFINED, otherwise it must not be VK_FORMAT_UNDEFINED.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01904)~^~
 VALIDATION_ERROR_3f802c01~^~N~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-components-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'components must be a valid VkComponentMapping structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-components-parameter)~^~implicit
 VALIDATION_ERROR_3f809201~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-format-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-parameter)~^~implicit
-VALIDATION_ERROR_3f81c40d~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext)~^~implicit
+VALIDATION_ERROR_3f81c40d~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'pNext must be NULL or a pointer to a valid instance of VkExternalFormatANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_3f82b00b~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_3f83d401~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'ycbcrModel must be a valid VkSamplerYcbcrModelConversion value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-parameter)~^~implicit
 VALIDATION_ERROR_3f83d601~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrRange-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'ycbcrRange must be a valid VkSamplerYcbcrRange value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrRange-parameter)~^~implicit
 VALIDATION_ERROR_3f83d801~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'xChromaOffset must be a valid VkChromaLocation value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-parameter)~^~implicit
 VALIDATION_ERROR_3f83da01~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-yChromaOffset-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'yChromaOffset must be a valid VkChromaLocation value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-yChromaOffset-parameter)~^~implicit
 VALIDATION_ERROR_3f83dc01~^~Y~^~None~^~VkSamplerYcbcrConversionCreateInfo~^~VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'chromaFilter must be a valid VkFilter value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-parameter)~^~implicit
-VALIDATION_ERROR_3fa00cd4~^~N~^~None~^~VkBindImagePlaneMemoryInfo~^~VUID-VkBindImagePlaneMemoryInfoKHR-planeAspect-01642~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'planeAspect must be a single valid plane aspect for the image format (that is, planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT for "_2PLANE" formats and planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT for "_3PLANE" formats)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfoKHR-planeAspect-01642)~^~
-VALIDATION_ERROR_3fa00cd6~^~N~^~None~^~VkBindImagePlaneMemoryInfo~^~VUID-VkBindImagePlaneMemoryInfoKHR-None-01643~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'A single call to vkBindImageMemory2 must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a single vkBindImageMemory2 call), as separate bindings' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfoKHR-None-01643)~^~
+VALIDATION_ERROR_3fa00cd4~^~N~^~None~^~VkBindImagePlaneMemoryInfo~^~VUID-VkBindImagePlaneMemoryInfo-planeAspect-01642~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'planeAspect must be a single valid plane aspect for the image format (that is, planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT for "_2PLANE" formats and planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT for "_3PLANE" formats)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-planeAspect-01642)~^~
+VALIDATION_ERROR_3fa00cd6~^~N~^~None~^~VkBindImagePlaneMemoryInfo~^~VUID-VkBindImagePlaneMemoryInfo-None-01643~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'A single call to vkBindImageMemory2 must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a single vkBindImageMemory2 call), as separate bindings' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-None-01643)~^~
 VALIDATION_ERROR_3fa2b00b~^~N~^~None~^~VkBindImagePlaneMemoryInfo~^~VUID-VkBindImagePlaneMemoryInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_3fa3de01~^~N~^~None~^~VkBindImagePlaneMemoryInfo~^~VUID-VkBindImagePlaneMemoryInfo-planeAspect-parameter~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'planeAspect must be a valid VkImageAspectFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-planeAspect-parameter)~^~implicit
-VALIDATION_ERROR_3fc00c70~^~N~^~None~^~VkImagePlaneMemoryRequirementsInfo~^~VUID-VkImagePlaneMemoryRequirementsInfoKHR-planeAspect-01592~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'planeAspect must be an aspect that exists in the format; that is, for a two-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT, and for a three-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfoKHR-planeAspect-01592)~^~
+VALIDATION_ERROR_3fc00c70~^~N~^~None~^~VkImagePlaneMemoryRequirementsInfo~^~VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-01592~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'planeAspect must be an aspect that exists in the format; that is, for a two-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT, and for a three-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-01592)~^~
 VALIDATION_ERROR_3fc2b00b~^~N~^~None~^~VkImagePlaneMemoryRequirementsInfo~^~VUID-VkImagePlaneMemoryRequirementsInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_3fc3de01~^~N~^~None~^~VkImagePlaneMemoryRequirementsInfo~^~VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-parameter~^~(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'planeAspect must be a valid VkImageAspectFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-parameter)~^~implicit
-VALIDATION_ERROR_3fe00ce0~^~N~^~None~^~vkCreateSamplerYcbcrConversion~^~VUID-vkCreateSamplerYcbcrConversionKHR-None-01648~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'The sampler Y'CBCR conversion feature must be enabled' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversionKHR-None-01648)~^~
+VALIDATION_ERROR_3fe00ce0~^~N~^~None~^~vkCreateSamplerYcbcrConversion~^~VUID-vkCreateSamplerYcbcrConversion-None-01648~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'The sampler Y'CBCR conversion feature must be enabled' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-None-01648)~^~
 VALIDATION_ERROR_3fe05601~^~Y~^~None~^~vkCreateSamplerYcbcrConversion~^~VUID-vkCreateSamplerYcbcrConversion-device-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-device-parameter)~^~implicit
 VALIDATION_ERROR_3fe0ec01~^~N~^~None~^~vkCreateSamplerYcbcrConversion~^~VUID-vkCreateSamplerYcbcrConversion-pAllocator-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-pAllocator-parameter)~^~implicit
 VALIDATION_ERROR_3fe11e01~^~N~^~None~^~vkCreateSamplerYcbcrConversion~^~VUID-vkCreateSamplerYcbcrConversion-pCreateInfo-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'pCreateInfo must be a valid pointer to a valid VkSamplerYcbcrConversionCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-pCreateInfo-parameter)~^~implicit
 VALIDATION_ERROR_3fe3e001~^~Y~^~None~^~vkCreateSamplerYcbcrConversion~^~VUID-vkCreateSamplerYcbcrConversion-pYcbcrConversion-parameter~^~(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)~^~The spec valid usage text states 'pYcbcrConversion must be a valid pointer to a VkSamplerYcbcrConversion handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-pYcbcrConversion-parameter)~^~implicit
-VALIDATION_ERROR_40000c8c~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfoKHR-deviceIndexCount-01606~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfoKHR-deviceIndexCount-01606)~^~
-VALIDATION_ERROR_40000c8e~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfoKHR-pDeviceIndices-01607~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfoKHR-pDeviceIndices-01607)~^~
+VALIDATION_ERROR_40000c8c~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfo-deviceIndexCount-01606~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-deviceIndexCount-01606)~^~
+VALIDATION_ERROR_40000c8e~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-01607~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-01607)~^~
 VALIDATION_ERROR_40013e01~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-parameter~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-parameter)~^~implicit
 VALIDATION_ERROR_4001c40d~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_4002b00b~^~N~^~None~^~VkBindBufferMemoryDeviceGroupInfo~^~VUID-VkBindBufferMemoryDeviceGroupInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-sType-sType)~^~implicit
-VALIDATION_ERROR_40200cc2~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01633~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'At least one of deviceIndexCount and splitInstanceBindRegionCount must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01633)~^~
-VALIDATION_ERROR_40200cc4~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01634~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01634)~^~
-VALIDATION_ERROR_40200cc6~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-pDeviceIndices-01635~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-pDeviceIndices-01635)~^~
-VALIDATION_ERROR_40200cc8~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-splitInstanceBindRegionCount-01636~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'splitInstanceBindRegionCount must either be zero or equal to the number of physical devices in the logical device squared' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-splitInstanceBindRegionCount-01636)~^~
-VALIDATION_ERROR_40200cca~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-pSplitInstanceBindRegions-01637~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'Elements of pSplitInstanceBindRegions that correspond to the same instance of an image must not overlap.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-pSplitInstanceBindRegions-01637)~^~
-VALIDATION_ERROR_40200ccc~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01638~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The offset.x member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01638)~^~
-VALIDATION_ERROR_40200cce~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01639~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The offset.y member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01639)~^~
-VALIDATION_ERROR_40200cd0~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01640~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The extent.width member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block width of all non-metadata aspects of the image, or else extent.width + offset.x must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01640)~^~
-VALIDATION_ERROR_40200cd2~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01641~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The extent.height member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block height of all non-metadata aspects of the image, or else extent.height offset.y must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01641)~^~
+VALIDATION_ERROR_40200cc2~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01633~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'At least one of deviceIndexCount and splitInstanceBindRegionCount must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01633)~^~
+VALIDATION_ERROR_40200cc4~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01634~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01634)~^~
+VALIDATION_ERROR_40200cc6~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-01635~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-01635)~^~
+VALIDATION_ERROR_40200cc8~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-splitInstanceBindRegionCount-01636~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'splitInstanceBindRegionCount must either be zero or equal to the number of physical devices in the logical device squared' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-splitInstanceBindRegionCount-01636)~^~
+VALIDATION_ERROR_40200cca~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-pSplitInstanceBindRegions-01637~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'Elements of pSplitInstanceBindRegions that correspond to the same instance of an image must not overlap.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pSplitInstanceBindRegions-01637)~^~
+VALIDATION_ERROR_40200ccc~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-offset-01638~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The offset.x member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-offset-01638)~^~
+VALIDATION_ERROR_40200cce~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-offset-01639~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The offset.y member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-offset-01639)~^~
+VALIDATION_ERROR_40200cd0~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-extent-01640~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The extent.width member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block width of all non-metadata aspects of the image, or else extent.width + offset.x must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-extent-01640)~^~
+VALIDATION_ERROR_40200cd2~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-extent-01641~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'The extent.height member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block height of all non-metadata aspects of the image, or else extent.height offset.y must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-extent-01641)~^~
 VALIDATION_ERROR_40213e01~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-parameter~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'If deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-parameter)~^~implicit
 VALIDATION_ERROR_4021c40d~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_4022b00b~^~N~^~None~^~VkBindImageMemoryDeviceGroupInfo~^~VUID-VkBindImageMemoryDeviceGroupInfo-sType-sType~^~(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-sType-sType)~^~implicit
@@ -3732,6 +3814,8 @@ VALIDATION_ERROR_41e06c01~^~Y~^~None~^~vkCmdWriteBufferMarkerAMD~^~VUID-vkCmdWri
 VALIDATION_ERROR_41e28401~^~Y~^~None~^~vkCmdWriteBufferMarkerAMD~^~VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameter~^~(VK_AMD_buffer_marker)~^~The spec valid usage text states 'pipelineStage must be a valid VkPipelineStageFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameter)~^~implicit
 VALIDATION_ERROR_4201c40d~^~N~^~None~^~VkDescriptorSetLayoutSupport~^~VUID-VkDescriptorSetLayoutSupport-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_maintenance3)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutSupport-pNext-pNext)~^~implicit
 VALIDATION_ERROR_4202b00b~^~Y~^~None~^~VkDescriptorSetLayoutSupport~^~VUID-VkDescriptorSetLayoutSupport-sType-sType~^~(VK_VERSION_1_1,VK_KHR_maintenance3)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutSupport-sType-sType)~^~implicit
+VALIDATION_ERROR_42200e64~^~N~^~None~^~VkDeviceQueueInfo2~^~VUID-VkDeviceQueueInfo2-queueFamilyIndex-01842~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-queueFamilyIndex-01842)~^~
+VALIDATION_ERROR_42200e66~^~N~^~None~^~VkDeviceQueueInfo2~^~VUID-VkDeviceQueueInfo2-queueIndex-01843~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'queueIndex must be less than the number of queues created for the specified queue family index and VkDeviceQueueCreateFlags member flags equal to this flags value when device was created, via the queueCount member of the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-queueIndex-01843)~^~
 VALIDATION_ERROR_42209001~^~N~^~None~^~VkDeviceQueueInfo2~^~VUID-VkDeviceQueueInfo2-flags-parameter~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'flags must be a valid combination of VkDeviceQueueCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-flags-parameter)~^~implicit
 VALIDATION_ERROR_42209003~^~Y~^~None~^~VkDeviceQueueInfo2~^~VUID-VkDeviceQueueInfo2-flags-requiredbitmask~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'flags must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-flags-requiredbitmask)~^~implicit
 VALIDATION_ERROR_4221c40d~^~Y~^~None~^~VkDeviceQueueInfo2~^~VUID-VkDeviceQueueInfo2-pNext-pNext~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-pNext-pNext)~^~implicit
@@ -3745,6 +3829,10 @@ VALIDATION_ERROR_4282b00b~^~N~^~None~^~VkPhysicalDeviceProtectedMemoryProperties
 VALIDATION_ERROR_42a2b00b~^~N~^~None~^~VkPhysicalDeviceShaderDrawParameterFeatures~^~VUID-VkPhysicalDeviceShaderDrawParameterFeatures-sType-sType~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceShaderDrawParameterFeatures-sType-sType)~^~implicit
 VALIDATION_ERROR_42c1c40d~^~N~^~None~^~VkPhysicalDeviceSubgroupProperties~^~VUID-VkPhysicalDeviceSubgroupProperties-pNext-pNext~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceSubgroupProperties-pNext-pNext)~^~implicit
 VALIDATION_ERROR_42c2b00b~^~N~^~None~^~VkPhysicalDeviceSubgroupProperties~^~VUID-VkPhysicalDeviceSubgroupProperties-sType-sType~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceSubgroupProperties-sType-sType)~^~implicit
+VALIDATION_ERROR_42e00e30~^~N~^~None~^~VkProtectedSubmitInfo~^~VUID-VkProtectedSubmitInfo-protectedSubmit-01816~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If the protected memory feature is not enabled, protectedSubmit must not be VK_TRUE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-protectedSubmit-01816)~^~
+VALIDATION_ERROR_42e00e32~^~N~^~None~^~VkProtectedSubmitInfo~^~VUID-VkProtectedSubmitInfo-protectedSubmit-01817~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If protectedSubmit is VK_TRUE, then each element of the pCommandBuffers array must be a protected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-protectedSubmit-01817)~^~
+VALIDATION_ERROR_42e00e34~^~N~^~None~^~VkProtectedSubmitInfo~^~VUID-VkProtectedSubmitInfo-protectedSubmit-01818~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If protectedSubmit is VK_FALSE, then each element of the pCommandBuffers array must be an unprotected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-protectedSubmit-01818)~^~
+VALIDATION_ERROR_42e00e36~^~N~^~None~^~VkProtectedSubmitInfo~^~VUID-VkProtectedSubmitInfo-pNext-01819~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'If the VkSubmitInfo::pNext chain does not include a VkProtectedSubmitInfo structure, then each element of the command buffer of the pCommandBuffers array must be an unprotected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-pNext-01819)~^~
 VALIDATION_ERROR_42e1c40d~^~N~^~None~^~VkProtectedSubmitInfo~^~VUID-VkProtectedSubmitInfo-pNext-pNext~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-pNext-pNext)~^~implicit
 VALIDATION_ERROR_42e2b00b~^~N~^~None~^~VkProtectedSubmitInfo~^~VUID-VkProtectedSubmitInfo-sType-sType~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-sType-sType)~^~implicit
 VALIDATION_ERROR_43040001~^~N~^~None~^~vkEnumerateInstanceVersion~^~VUID-vkEnumerateInstanceVersion-pApiVersion-parameter~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'pApiVersion must be a valid pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkEnumerateInstanceVersion-pApiVersion-parameter)~^~implicit
@@ -3754,6 +3842,97 @@ VALIDATION_ERROR_43240201~^~N~^~None~^~vkGetDescriptorSetLayoutSupport~^~VUID-vk
 VALIDATION_ERROR_43405601~^~Y~^~None~^~vkGetDeviceQueue2~^~VUID-vkGetDeviceQueue2-device-parameter~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDeviceQueue2-device-parameter)~^~implicit
 VALIDATION_ERROR_4341fc01~^~Y~^~None~^~vkGetDeviceQueue2~^~VUID-vkGetDeviceQueue2-pQueue-parameter~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'pQueue must be a valid pointer to a VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDeviceQueue2-pQueue-parameter)~^~implicit
 VALIDATION_ERROR_43440401~^~N~^~None~^~vkGetDeviceQueue2~^~VUID-vkGetDeviceQueue2-pQueueInfo-parameter~^~(VK_VERSION_1_1)~^~The spec valid usage text states 'pQueueInfo must be a valid pointer to a valid VkDeviceQueueInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDeviceQueue2-pQueueInfo-parameter)~^~implicit
+VALIDATION_ERROR_43600ee2~^~N~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-objectType-01905~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectType must not be VK_OBJECT_TYPE_UNKNOWN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectType-01905)~^~
+VALIDATION_ERROR_43600ee4~^~N~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01906~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectHandle must not be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01906)~^~
+VALIDATION_ERROR_43600ee6~^~N~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01907~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectHandle must be a Vulkan object of the type associated with objectType as defined in debugging-object-types.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01907)~^~
+VALIDATION_ERROR_4360da01~^~Y~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-objectType-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectType must be a valid VkObjectType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectType-parameter)~^~implicit
+VALIDATION_ERROR_4361c40d~^~Y~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-pNext-pNext~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-pNext-pNext)~^~implicit
+VALIDATION_ERROR_4361ce01~^~N~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-pObjectName-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If pObjectName is not NULL, pObjectName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-pObjectName-parameter)~^~implicit
+VALIDATION_ERROR_4362b00b~^~Y~^~None~^~VkDebugUtilsObjectNameInfoEXT~^~VUID-VkDebugUtilsObjectNameInfoEXT-sType-sType~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-sType-sType)~^~implicit
+VALIDATION_ERROR_43800ee8~^~N~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-objectType-01908~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectType must not be VK_OBJECT_TYPE_UNKNOWN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectType-01908)~^~
+VALIDATION_ERROR_43800eea~^~N~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01909~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectHandle must not be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01909)~^~
+VALIDATION_ERROR_43800eec~^~N~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01910~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectHandle must be a Vulkan object of the type associated with objectType as defined in debugging-object-types.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01910)~^~
+VALIDATION_ERROR_4380da01~^~Y~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-objectType-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectType must be a valid VkObjectType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectType-parameter)~^~implicit
+VALIDATION_ERROR_4381c40d~^~Y~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-pNext-pNext~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-pNext-pNext)~^~implicit
+VALIDATION_ERROR_43825a01~^~Y~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-pTag-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pTag must be a valid pointer to an array of tagSize bytes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-pTag-parameter)~^~implicit
+VALIDATION_ERROR_4382b00b~^~Y~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-sType-sType~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-sType-sType)~^~implicit
+VALIDATION_ERROR_4382f41b~^~Y~^~None~^~VkDebugUtilsObjectTagInfoEXT~^~VUID-VkDebugUtilsObjectTagInfoEXT-tagSize-arraylength~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'tagSize must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-tagSize-arraylength)~^~implicit
+VALIDATION_ERROR_43a1c40d~^~Y~^~None~^~VkDebugUtilsLabelEXT~^~VUID-VkDebugUtilsLabelEXT-pNext-pNext~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsLabelEXT-pNext-pNext)~^~implicit
+VALIDATION_ERROR_43a2b00b~^~Y~^~None~^~VkDebugUtilsLabelEXT~^~VUID-VkDebugUtilsLabelEXT-sType-sType~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsLabelEXT-sType-sType)~^~implicit
+VALIDATION_ERROR_43a40801~^~Y~^~None~^~VkDebugUtilsLabelEXT~^~VUID-VkDebugUtilsLabelEXT-pLabelName-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pLabelName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsLabelEXT-pLabelName-parameter)~^~implicit
+VALIDATION_ERROR_43c09005~^~Y~^~None~^~VkDebugUtilsMessengerCallbackDataEXT~^~VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask)~^~implicit
+VALIDATION_ERROR_43c0d61b~^~N~^~None~^~VkDebugUtilsMessengerCallbackDataEXT~^~VUID-VkDebugUtilsMessengerCallbackDataEXT-objectCount-arraylength~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'objectCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-objectCount-arraylength)~^~implicit
+VALIDATION_ERROR_43c1b801~^~Y~^~None~^~VkDebugUtilsMessengerCallbackDataEXT~^~VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pMessage must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter)~^~implicit
+VALIDATION_ERROR_43c1c40d~^~Y~^~None~^~VkDebugUtilsMessengerCallbackDataEXT~^~VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext)~^~implicit
+VALIDATION_ERROR_43c2b00b~^~Y~^~None~^~VkDebugUtilsMessengerCallbackDataEXT~^~VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-sType~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-sType)~^~implicit
+VALIDATION_ERROR_43c42201~^~N~^~None~^~VkDebugUtilsMessengerCallbackDataEXT~^~VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter)~^~implicit
+VALIDATION_ERROR_43e00ef4~^~N~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pfnUserCallback must be a valid PFN_vkDebugUtilsMessengerCallbackEXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914)~^~
+VALIDATION_ERROR_43e09005~^~Y~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-flags-zerobitmask~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-flags-zerobitmask)~^~implicit
+VALIDATION_ERROR_43e1c40d~^~Y~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-pNext-pNext~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-pNext-pNext)~^~implicit
+VALIDATION_ERROR_43e2b00b~^~Y~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-sType-sType~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-sType-sType)~^~implicit
+VALIDATION_ERROR_43e40a01~^~N~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageSeverity must be a valid combination of VkDebugUtilsMessageSeverityFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-parameter)~^~implicit
+VALIDATION_ERROR_43e40a03~^~Y~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-requiredbitmask~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageSeverity must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-requiredbitmask)~^~implicit
+VALIDATION_ERROR_43e40c01~^~N~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter)~^~implicit
+VALIDATION_ERROR_43e40c03~^~Y~^~None~^~VkDebugUtilsMessengerCreateInfoEXT~^~VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-requiredbitmask~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageType must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-requiredbitmask)~^~implicit
+VALIDATION_ERROR_4400bc01~^~N~^~None~^~vkCreateDebugUtilsMessengerEXT~^~VUID-vkCreateDebugUtilsMessengerEXT-instance-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-instance-parameter)~^~implicit
+VALIDATION_ERROR_4400ec01~^~N~^~None~^~vkCreateDebugUtilsMessengerEXT~^~VUID-vkCreateDebugUtilsMessengerEXT-pAllocator-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-pAllocator-parameter)~^~implicit
+VALIDATION_ERROR_44011e01~^~N~^~None~^~vkCreateDebugUtilsMessengerEXT~^~VUID-vkCreateDebugUtilsMessengerEXT-pCreateInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pCreateInfo must be a valid pointer to a valid VkDebugUtilsMessengerCreateInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-pCreateInfo-parameter)~^~implicit
+VALIDATION_ERROR_44041001~^~Y~^~None~^~vkCreateDebugUtilsMessengerEXT~^~VUID-vkCreateDebugUtilsMessengerEXT-pMessenger-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pMessenger must be a valid pointer to a VkDebugUtilsMessengerEXT handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-pMessenger-parameter)~^~implicit
+VALIDATION_ERROR_4420bc01~^~N~^~None~^~vkSubmitDebugUtilsMessageEXT~^~VUID-vkSubmitDebugUtilsMessageEXT-instance-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-instance-parameter)~^~implicit
+VALIDATION_ERROR_44240a01~^~Y~^~None~^~vkSubmitDebugUtilsMessageEXT~^~VUID-vkSubmitDebugUtilsMessageEXT-messageSeverity-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageSeverity must be a valid VkDebugUtilsMessageSeverityFlagBitsEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-messageSeverity-parameter)~^~implicit
+VALIDATION_ERROR_44241201~^~N~^~None~^~vkSubmitDebugUtilsMessageEXT~^~VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageTypes must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-parameter)~^~implicit
+VALIDATION_ERROR_44241203~^~Y~^~None~^~vkSubmitDebugUtilsMessageEXT~^~VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-requiredbitmask~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messageTypes must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-requiredbitmask)~^~implicit
+VALIDATION_ERROR_44242801~^~N~^~None~^~vkSubmitDebugUtilsMessageEXT~^~VUID-vkSubmitDebugUtilsMessageEXT-pCallbackData-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pCallbackData must be a valid pointer to a valid VkDebugUtilsMessengerCallbackDataEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-pCallbackData-parameter)~^~implicit
 VALIDATION_ERROR_4441c40d~^~N~^~None~^~VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT~^~VUID-VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-pNext-pNext~^~(VK_EXT_vertex_attribute_divisor)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-pNext-pNext)~^~implicit
 VALIDATION_ERROR_4442b00b~^~N~^~None~^~VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT~^~VUID-VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-sType-sType~^~(VK_EXT_vertex_attribute_divisor)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-sType-sType)~^~implicit
+VALIDATION_ERROR_44800ecc~^~N~^~None~^~VkExternalFormatANDROID~^~VUID-VkExternalFormatANDROID-externalFormat-01894~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'externalFormat must be 0 or a value returned in the externalFormat member of VkAndroidHardwareBufferFormatPropertiesANDROID by an earlier call to vkGetAndroidHardwareBufferPropertiesANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkExternalFormatANDROID-externalFormat-01894)~^~
+VALIDATION_ERROR_4481c40d~^~N~^~None~^~VkExternalFormatANDROID~^~VUID-VkExternalFormatANDROID-pNext-pNext~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkExternalFormatANDROID-pNext-pNext)~^~implicit
+VALIDATION_ERROR_4482b00b~^~N~^~None~^~VkExternalFormatANDROID~^~VUID-VkExternalFormatANDROID-sType-sType~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkExternalFormatANDROID-sType-sType)~^~implicit
+VALIDATION_ERROR_44a00eb0~^~N~^~None~^~VkImportAndroidHardwareBufferInfoANDROID~^~VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If buffer is not NULL, Android hardware buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880)~^~
+VALIDATION_ERROR_44a00eb2~^~N~^~None~^~VkImportAndroidHardwareBufferInfoANDROID~^~VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If buffer is not NULL, it must be a valid Android hardware buffer object with format and usage compatible with Vulkan as described by VkExternalMemoryHandleTypeFlagBits.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881)~^~
+VALIDATION_ERROR_44a01a01~^~N~^~None~^~VkImportAndroidHardwareBufferInfoANDROID~^~VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'buffer must be a valid pointer to a AHardwareBuffer value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameter)~^~implicit
+VALIDATION_ERROR_44a1c40d~^~N~^~None~^~VkImportAndroidHardwareBufferInfoANDROID~^~VUID-VkImportAndroidHardwareBufferInfoANDROID-pNext-pNext~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-pNext-pNext)~^~implicit
+VALIDATION_ERROR_44a2b00b~^~N~^~None~^~VkImportAndroidHardwareBufferInfoANDROID~^~VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType)~^~implicit
+VALIDATION_ERROR_44c00eb4~^~N~^~None~^~VkMemoryGetAndroidHardwareBufferInfoANDROID~^~VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must have been included in VkExportMemoryAllocateInfoKHR::handleTypes when memory was created.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882)~^~
+VALIDATION_ERROR_44c00eb6~^~N~^~None~^~VkMemoryGetAndroidHardwareBufferInfoANDROID~^~VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'If the pNext chain of the VkMemoryAllocateInfo used to allocate memory included a VkMemoryDedicatedAllocateInfo with non-NULL image member, then that image must already be bound to memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883)~^~
+VALIDATION_ERROR_44e00ef0~^~N~^~None~^~vkCmdEndDebugUtilsLabelEXT~^~VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'There must be an outstanding vkCmdBeginDebugUtilsLabelEXT command prior to the vkCmdEndDebugUtilsLabelEXT on the queue that commandBuffer is submitted to' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912)~^~
+VALIDATION_ERROR_44e00ef2~^~N~^~None~^~vkCmdEndDebugUtilsLabelEXT~^~VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01913~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If commandBuffer is a secondary command buffer, there must be an outstanding vkCmdBeginDebugUtilsLabelEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdEndDebugUtilsLabelEXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01913)~^~
+VALIDATION_ERROR_44e02401~^~N~^~None~^~vkCmdEndDebugUtilsLabelEXT~^~VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-parameter)~^~implicit
+VALIDATION_ERROR_44e02413~^~N~^~None~^~vkCmdEndDebugUtilsLabelEXT~^~VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-recording~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-recording)~^~implicit
+VALIDATION_ERROR_44e02415~^~N~^~None~^~vkCmdEndDebugUtilsLabelEXT~^~VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-cmdpool~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-cmdpool)~^~implicit
+VALIDATION_ERROR_45000ef6~^~N~^~None~^~vkDestroyDebugUtilsMessengerEXT~^~VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01915~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If VkAllocationCallbacks were provided when messenger was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01915)~^~
+VALIDATION_ERROR_45000ef8~^~N~^~None~^~vkDestroyDebugUtilsMessengerEXT~^~VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01916~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If no VkAllocationCallbacks were provided when messenger was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01916)~^~
+VALIDATION_ERROR_4500bc01~^~N~^~None~^~vkDestroyDebugUtilsMessengerEXT~^~VUID-vkDestroyDebugUtilsMessengerEXT-instance-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-instance-parameter)~^~implicit
+VALIDATION_ERROR_4500ec01~^~N~^~None~^~vkDestroyDebugUtilsMessengerEXT~^~VUID-vkDestroyDebugUtilsMessengerEXT-pAllocator-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-pAllocator-parameter)~^~implicit
+VALIDATION_ERROR_45042601~^~N~^~None~^~vkDestroyDebugUtilsMessengerEXT~^~VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messenger must be a valid VkDebugUtilsMessengerEXT handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parameter)~^~implicit
+VALIDATION_ERROR_45042607~^~N~^~None~^~vkDestroyDebugUtilsMessengerEXT~^~VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parent~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'messenger must have been created, allocated, or retrieved from instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parent)~^~implicit
+VALIDATION_ERROR_45200eb8~^~N~^~None~^~vkGetAndroidHardwareBufferPropertiesANDROID~^~VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'buffer must be a valid Android hardware buffer object with at least one of the AHARDWAREBUFFER_USAGE_GPU_* usage flags.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884)~^~
+VALIDATION_ERROR_45201a01~^~Y~^~None~^~vkGetAndroidHardwareBufferPropertiesANDROID~^~VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'buffer must be a valid pointer to a valid AHardwareBuffer value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-parameter)~^~implicit
+VALIDATION_ERROR_45205601~^~Y~^~None~^~vkGetAndroidHardwareBufferPropertiesANDROID~^~VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter)~^~implicit
+VALIDATION_ERROR_4521f401~^~N~^~None~^~vkGetAndroidHardwareBufferPropertiesANDROID~^~VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pProperties must be a valid pointer to a VkAndroidHardwareBufferPropertiesANDROID structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameter)~^~implicit
+VALIDATION_ERROR_45400eee~^~N~^~None~^~vkQueueEndDebugUtilsLabelEXT~^~VUID-vkQueueEndDebugUtilsLabelEXT-None-01911~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'There must be an outstanding vkQueueBeginDebugUtilsLabelEXT command prior to the vkQueueEndDebugUtilsLabelEXT on the queue' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueEndDebugUtilsLabelEXT-None-01911)~^~
+VALIDATION_ERROR_45429c01~^~N~^~None~^~vkQueueEndDebugUtilsLabelEXT~^~VUID-vkQueueEndDebugUtilsLabelEXT-queue-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueEndDebugUtilsLabelEXT-queue-parameter)~^~implicit
+VALIDATION_ERROR_4561c40d~^~N~^~None~^~VkAndroidHardwareBufferUsageANDROID~^~VUID-VkAndroidHardwareBufferUsageANDROID-pNext-pNext~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)+(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferUsageANDROID-pNext-pNext)~^~implicit
+VALIDATION_ERROR_4562b00b~^~N~^~None~^~VkAndroidHardwareBufferUsageANDROID~^~VUID-VkAndroidHardwareBufferUsageANDROID-sType-sType~^~(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)+(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferUsageANDROID-sType-sType)~^~implicit
+VALIDATION_ERROR_45a05601~^~Y~^~None~^~vkGetMemoryAndroidHardwareBufferANDROID~^~VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter)~^~implicit
+VALIDATION_ERROR_45a10001~^~Y~^~None~^~vkGetMemoryAndroidHardwareBufferANDROID~^~VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pBuffer must be a valid pointer to a valid pointer to a AHardwareBuffer value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameter)~^~implicit
+VALIDATION_ERROR_45a39c01~^~N~^~None~^~vkGetMemoryAndroidHardwareBufferANDROID~^~VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameter~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pInfo must be a valid pointer to a valid VkMemoryGetAndroidHardwareBufferInfoANDROID structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameter)~^~implicit
+VALIDATION_ERROR_45c1c40d~^~N~^~None~^~VkAndroidHardwareBufferFormatPropertiesANDROID~^~VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-pNext-pNext~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-pNext-pNext)~^~implicit
+VALIDATION_ERROR_45c2b00b~^~N~^~None~^~VkAndroidHardwareBufferFormatPropertiesANDROID~^~VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType~^~(VK_ANDROID_external_memory_android_hardware_buffer)~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType)~^~implicit
+VALIDATION_ERROR_45e02401~^~N~^~None~^~vkCmdBeginDebugUtilsLabelEXT~^~VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-parameter)~^~implicit
+VALIDATION_ERROR_45e02413~^~N~^~None~^~vkCmdBeginDebugUtilsLabelEXT~^~VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-recording~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-recording)~^~implicit
+VALIDATION_ERROR_45e02415~^~N~^~None~^~vkCmdBeginDebugUtilsLabelEXT~^~VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-cmdpool~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-cmdpool)~^~implicit
+VALIDATION_ERROR_45e42401~^~N~^~None~^~vkCmdBeginDebugUtilsLabelEXT~^~VUID-vkCmdBeginDebugUtilsLabelEXT-pLabelInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-pLabelInfo-parameter)~^~implicit
+VALIDATION_ERROR_46002401~^~N~^~None~^~vkCmdInsertDebugUtilsLabelEXT~^~VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-parameter)~^~implicit
+VALIDATION_ERROR_46002413~^~N~^~None~^~vkCmdInsertDebugUtilsLabelEXT~^~VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-recording~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-recording)~^~implicit
+VALIDATION_ERROR_46002415~^~N~^~None~^~vkCmdInsertDebugUtilsLabelEXT~^~VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-cmdpool~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-cmdpool)~^~implicit
+VALIDATION_ERROR_46042401~^~N~^~None~^~vkCmdInsertDebugUtilsLabelEXT~^~VUID-vkCmdInsertDebugUtilsLabelEXT-pLabelInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-pLabelInfo-parameter)~^~implicit
+VALIDATION_ERROR_46229c01~^~N~^~None~^~vkQueueBeginDebugUtilsLabelEXT~^~VUID-vkQueueBeginDebugUtilsLabelEXT-queue-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueBeginDebugUtilsLabelEXT-queue-parameter)~^~implicit
+VALIDATION_ERROR_46242401~^~N~^~None~^~vkQueueBeginDebugUtilsLabelEXT~^~VUID-vkQueueBeginDebugUtilsLabelEXT-pLabelInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueBeginDebugUtilsLabelEXT-pLabelInfo-parameter)~^~implicit
+VALIDATION_ERROR_46429c01~^~N~^~None~^~vkQueueInsertDebugUtilsLabelEXT~^~VUID-vkQueueInsertDebugUtilsLabelEXT-queue-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueInsertDebugUtilsLabelEXT-queue-parameter)~^~implicit
+VALIDATION_ERROR_46442401~^~N~^~None~^~vkQueueInsertDebugUtilsLabelEXT~^~VUID-vkQueueInsertDebugUtilsLabelEXT-pLabelInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueInsertDebugUtilsLabelEXT-pLabelInfo-parameter)~^~implicit
+VALIDATION_ERROR_46605601~^~N~^~None~^~vkSetDebugUtilsObjectNameEXT~^~VUID-vkSetDebugUtilsObjectNameEXT-device-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectNameEXT-device-parameter)~^~implicit
+VALIDATION_ERROR_4661c201~^~N~^~None~^~vkSetDebugUtilsObjectNameEXT~^~VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pNameInfo must be a valid pointer to a valid VkDebugUtilsObjectNameInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-parameter)~^~implicit
+VALIDATION_ERROR_46805601~^~N~^~None~^~vkSetDebugUtilsObjectTagEXT~^~VUID-vkSetDebugUtilsObjectTagEXT-device-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectTagEXT-device-parameter)~^~implicit
+VALIDATION_ERROR_46825c01~^~N~^~None~^~vkSetDebugUtilsObjectTagEXT~^~VUID-vkSetDebugUtilsObjectTagEXT-pTagInfo-parameter~^~(VK_EXT_debug_utils)~^~The spec valid usage text states 'pTagInfo must be a valid pointer to a valid VkDebugUtilsObjectTagInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectTagEXT-pTagInfo-parameter)~^~implicit
 
index 893678e..59602ee 100644 (file)
@@ -86,6 +86,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_00c00c86 = 0x00c00c86,
     VALIDATION_ERROR_00c00c88 = 0x00c00c88,
     VALIDATION_ERROR_00c00c8a = 0x00c00c8a,
+    VALIDATION_ERROR_00c00ed8 = 0x00c00ed8,
     VALIDATION_ERROR_00c01a01 = 0x00c01a01,
     VALIDATION_ERROR_00c0c601 = 0x00c0c601,
     VALIDATION_ERROR_00c1c40d = 0x00c1c40d,
@@ -115,6 +116,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_00e00cbc = 0x00e00cbc,
     VALIDATION_ERROR_00e00cbe = 0x00e00cbe,
     VALIDATION_ERROR_00e00cc0 = 0x00e00cc0,
+    VALIDATION_ERROR_00e00ede = 0x00e00ede,
     VALIDATION_ERROR_00e0a001 = 0x00e0a001,
     VALIDATION_ERROR_00e1c40d = 0x00e1c40d,
     VALIDATION_ERROR_00e2b00b = 0x00e2b00b,
@@ -141,6 +143,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_01400ade = 0x01400ade,
     VALIDATION_ERROR_01400b16 = 0x01400b16,
     VALIDATION_ERROR_01400c46 = 0x01400c46,
+    VALIDATION_ERROR_01400ebe = 0x01400ebe,
+    VALIDATION_ERROR_01400ec0 = 0x01400ec0,
     VALIDATION_ERROR_01409001 = 0x01409001,
     VALIDATION_ERROR_0141c40d = 0x0141c40d,
     VALIDATION_ERROR_0142b00b = 0x0142b00b,
@@ -215,6 +219,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_01c0002a = 0x01c0002a,
     VALIDATION_ERROR_01c00c01 = 0x01c00c01,
     VALIDATION_ERROR_01c00c03 = 0x01c00c03,
+    VALIDATION_ERROR_01c00e22 = 0x01c00e22,
+    VALIDATION_ERROR_01c00e24 = 0x01c00e24,
     VALIDATION_ERROR_01e0002c = 0x01e0002c,
     VALIDATION_ERROR_0200002e = 0x0200002e,
     VALIDATION_ERROR_02200009 = 0x02200009,
@@ -388,6 +394,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_056002e8 = 0x056002e8,
     VALIDATION_ERROR_056002ea = 0x056002ea,
     VALIDATION_ERROR_056002ec = 0x056002ec,
+    VALIDATION_ERROR_05600e60 = 0x05600e60,
     VALIDATION_ERROR_05609005 = 0x05609005,
     VALIDATION_ERROR_05615a01 = 0x05615a01,
     VALIDATION_ERROR_0561c40d = 0x0561c40d,
@@ -746,6 +753,11 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_09e00c4e = 0x09e00c4e,
     VALIDATION_ERROR_09e00c50 = 0x09e00c50,
     VALIDATION_ERROR_09e00c52 = 0x09e00c52,
+    VALIDATION_ERROR_09e00ec2 = 0x09e00ec2,
+    VALIDATION_ERROR_09e00ec4 = 0x09e00ec4,
+    VALIDATION_ERROR_09e00ec6 = 0x09e00ec6,
+    VALIDATION_ERROR_09e00ec8 = 0x09e00ec8,
+    VALIDATION_ERROR_09e00eca = 0x09e00eca,
     VALIDATION_ERROR_09e09001 = 0x09e09001,
     VALIDATION_ERROR_09e09201 = 0x09e09201,
     VALIDATION_ERROR_09e0ac01 = 0x09e0ac01,
@@ -856,6 +868,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_0ac00dc0 = 0x0ac00dc0,
     VALIDATION_ERROR_0ac00dc2 = 0x0ac00dc2,
     VALIDATION_ERROR_0ac00dc4 = 0x0ac00dc4,
+    VALIDATION_ERROR_0ac00ed0 = 0x0ac00ed0,
     VALIDATION_ERROR_0ac02c01 = 0x0ac02c01,
     VALIDATION_ERROR_0ac09005 = 0x0ac09005,
     VALIDATION_ERROR_0ac09201 = 0x0ac09201,
@@ -968,6 +981,10 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_0c600d9e = 0x0c600d9e,
     VALIDATION_ERROR_0c600da0 = 0x0c600da0,
     VALIDATION_ERROR_0c600da2 = 0x0c600da2,
+    VALIDATION_ERROR_0c600ea0 = 0x0c600ea0,
+    VALIDATION_ERROR_0c600ea2 = 0x0c600ea2,
+    VALIDATION_ERROR_0c600ea4 = 0x0c600ea4,
+    VALIDATION_ERROR_0c600ea6 = 0x0c600ea6,
     VALIDATION_ERROR_0c61c40d = 0x0c61c40d,
     VALIDATION_ERROR_0c62b00b = 0x0c62b00b,
     VALIDATION_ERROR_0c62b00f = 0x0c62b00f,
@@ -1635,6 +1652,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1700081e = 0x1700081e,
     VALIDATION_ERROR_17000b48 = 0x17000b48,
     VALIDATION_ERROR_17000bc8 = 0x17000bc8,
+    VALIDATION_ERROR_17000ed4 = 0x17000ed4,
+    VALIDATION_ERROR_17000ed6 = 0x17000ed6,
     VALIDATION_ERROR_17001a01 = 0x17001a01,
     VALIDATION_ERROR_17001a07 = 0x17001a07,
     VALIDATION_ERROR_17005601 = 0x17005601,
@@ -1654,6 +1673,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_17400b4a = 0x17400b4a,
     VALIDATION_ERROR_17400bca = 0x17400bca,
     VALIDATION_ERROR_17400c90 = 0x17400c90,
+    VALIDATION_ERROR_17400eda = 0x17400eda,
+    VALIDATION_ERROR_17400edc = 0x17400edc,
     VALIDATION_ERROR_17405601 = 0x17405601,
     VALIDATION_ERROR_1740a001 = 0x1740a001,
     VALIDATION_ERROR_1740a007 = 0x1740a007,
@@ -1674,6 +1695,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1780064c = 0x1780064c,
     VALIDATION_ERROR_1780064e = 0x1780064e,
     VALIDATION_ERROR_17800650 = 0x17800650,
+    VALIDATION_ERROR_17800eba = 0x17800eba,
     VALIDATION_ERROR_17802401 = 0x17802401,
     VALIDATION_ERROR_17802413 = 0x17802413,
     VALIDATION_ERROR_17802415 = 0x17802415,
@@ -1775,6 +1797,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_18400d54 = 0x18400d54,
     VALIDATION_ERROR_18400d56 = 0x18400d56,
     VALIDATION_ERROR_18400d58 = 0x18400d58,
+    VALIDATION_ERROR_18400e54 = 0x18400e54,
+    VALIDATION_ERROR_18400e56 = 0x18400e56,
+    VALIDATION_ERROR_18400e58 = 0x18400e58,
     VALIDATION_ERROR_18402401 = 0x18402401,
     VALIDATION_ERROR_18402413 = 0x18402413,
     VALIDATION_ERROR_18402415 = 0x18402415,
@@ -1811,6 +1836,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_18800c12 = 0x18800c12,
     VALIDATION_ERROR_18800d38 = 0x18800d38,
     VALIDATION_ERROR_18800d3a = 0x18800d3a,
+    VALIDATION_ERROR_18800e1a = 0x18800e1a,
+    VALIDATION_ERROR_18800e1c = 0x18800e1c,
     VALIDATION_ERROR_18802401 = 0x18802401,
     VALIDATION_ERROR_18802413 = 0x18802413,
     VALIDATION_ERROR_18802415 = 0x18802415,
@@ -1831,6 +1858,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_18a00b88 = 0x18a00b88,
     VALIDATION_ERROR_18a00d3c = 0x18a00d3c,
     VALIDATION_ERROR_18a00d3e = 0x18a00d3e,
+    VALIDATION_ERROR_18a00e1e = 0x18a00e1e,
+    VALIDATION_ERROR_18a00e20 = 0x18a00e20,
     VALIDATION_ERROR_18a02401 = 0x18a02401,
     VALIDATION_ERROR_18a02413 = 0x18a02413,
     VALIDATION_ERROR_18a02415 = 0x18a02415,
@@ -1851,6 +1880,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_18c000ee = 0x18c000ee,
     VALIDATION_ERROR_18c000f0 = 0x18c000f0,
     VALIDATION_ERROR_18c000f2 = 0x18c000f2,
+    VALIDATION_ERROR_18c00e3c = 0x18c00e3c,
+    VALIDATION_ERROR_18c00e3e = 0x18c00e3e,
+    VALIDATION_ERROR_18c00e40 = 0x18c00e40,
     VALIDATION_ERROR_18c02401 = 0x18c02401,
     VALIDATION_ERROR_18c02413 = 0x18c02413,
     VALIDATION_ERROR_18c02415 = 0x18c02415,
@@ -1875,6 +1907,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_18e00d4a = 0x18e00d4a,
     VALIDATION_ERROR_18e00d4c = 0x18e00d4c,
     VALIDATION_ERROR_18e00e02 = 0x18e00e02,
+    VALIDATION_ERROR_18e00e48 = 0x18e00e48,
+    VALIDATION_ERROR_18e00e4a = 0x18e00e4a,
+    VALIDATION_ERROR_18e00e4c = 0x18e00e4c,
     VALIDATION_ERROR_18e02401 = 0x18e02401,
     VALIDATION_ERROR_18e02413 = 0x18e02413,
     VALIDATION_ERROR_18e02415 = 0x18e02415,
@@ -1912,6 +1947,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_19000d46 = 0x19000d46,
     VALIDATION_ERROR_19000dee = 0x19000dee,
     VALIDATION_ERROR_19000df0 = 0x19000df0,
+    VALIDATION_ERROR_19000e42 = 0x19000e42,
+    VALIDATION_ERROR_19000e44 = 0x19000e44,
+    VALIDATION_ERROR_19000e46 = 0x19000e46,
     VALIDATION_ERROR_19002401 = 0x19002401,
     VALIDATION_ERROR_19002413 = 0x19002413,
     VALIDATION_ERROR_19002415 = 0x19002415,
@@ -1938,6 +1976,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_19200d4e = 0x19200d4e,
     VALIDATION_ERROR_19200d50 = 0x19200d50,
     VALIDATION_ERROR_19200e04 = 0x19200e04,
+    VALIDATION_ERROR_19200e4e = 0x19200e4e,
+    VALIDATION_ERROR_19200e50 = 0x19200e50,
+    VALIDATION_ERROR_19200e52 = 0x19200e52,
     VALIDATION_ERROR_19202401 = 0x19202401,
     VALIDATION_ERROR_19202413 = 0x19202413,
     VALIDATION_ERROR_19202415 = 0x19202415,
@@ -1992,6 +2033,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_19c0031c = 0x19c0031c,
     VALIDATION_ERROR_19c0031e = 0x19c0031e,
     VALIDATION_ERROR_19c00320 = 0x19c00320,
+    VALIDATION_ERROR_19c00e68 = 0x19c00e68,
+    VALIDATION_ERROR_19c00e6a = 0x19c00e6a,
+    VALIDATION_ERROR_19c00e6c = 0x19c00e6c,
     VALIDATION_ERROR_19c02401 = 0x19c02401,
     VALIDATION_ERROR_19c02413 = 0x19c02413,
     VALIDATION_ERROR_19c02415 = 0x19c02415,
@@ -2025,6 +2069,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1a00033c = 0x1a00033c,
     VALIDATION_ERROR_1a00033e = 0x1a00033e,
     VALIDATION_ERROR_1a000340 = 0x1a000340,
+    VALIDATION_ERROR_1a000e6e = 0x1a000e6e,
+    VALIDATION_ERROR_1a000e70 = 0x1a000e70,
+    VALIDATION_ERROR_1a000e72 = 0x1a000e72,
     VALIDATION_ERROR_1a001a01 = 0x1a001a01,
     VALIDATION_ERROR_1a002401 = 0x1a002401,
     VALIDATION_ERROR_1a002413 = 0x1a002413,
@@ -2051,6 +2098,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1a20038a = 0x1a20038a,
     VALIDATION_ERROR_1a200bb6 = 0x1a200bb6,
     VALIDATION_ERROR_1a200bd0 = 0x1a200bd0,
+    VALIDATION_ERROR_1a200e74 = 0x1a200e74,
+    VALIDATION_ERROR_1a200e76 = 0x1a200e76,
+    VALIDATION_ERROR_1a200e78 = 0x1a200e78,
     VALIDATION_ERROR_1a202401 = 0x1a202401,
     VALIDATION_ERROR_1a202413 = 0x1a202413,
     VALIDATION_ERROR_1a202415 = 0x1a202415,
@@ -2077,6 +2127,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1a4003b2 = 0x1a4003b2,
     VALIDATION_ERROR_1a400bb8 = 0x1a400bb8,
     VALIDATION_ERROR_1a400bd2 = 0x1a400bd2,
+    VALIDATION_ERROR_1a400e7a = 0x1a400e7a,
+    VALIDATION_ERROR_1a400e7c = 0x1a400e7c,
+    VALIDATION_ERROR_1a400e7e = 0x1a400e7e,
     VALIDATION_ERROR_1a402401 = 0x1a402401,
     VALIDATION_ERROR_1a402413 = 0x1a402413,
     VALIDATION_ERROR_1a402415 = 0x1a402415,
@@ -2111,6 +2164,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1a600bbe = 0x1a600bbe,
     VALIDATION_ERROR_1a600bd8 = 0x1a600bd8,
     VALIDATION_ERROR_1a600d02 = 0x1a600d02,
+    VALIDATION_ERROR_1a600e8c = 0x1a600e8c,
+    VALIDATION_ERROR_1a600e8e = 0x1a600e8e,
+    VALIDATION_ERROR_1a600e90 = 0x1a600e90,
     VALIDATION_ERROR_1a601a01 = 0x1a601a01,
     VALIDATION_ERROR_1a602401 = 0x1a602401,
     VALIDATION_ERROR_1a602413 = 0x1a602413,
@@ -2147,6 +2203,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1a800d06 = 0x1a800d06,
     VALIDATION_ERROR_1a800d08 = 0x1a800d08,
     VALIDATION_ERROR_1a800d0a = 0x1a800d0a,
+    VALIDATION_ERROR_1a800e92 = 0x1a800e92,
+    VALIDATION_ERROR_1a800e94 = 0x1a800e94,
+    VALIDATION_ERROR_1a800e96 = 0x1a800e96,
     VALIDATION_ERROR_1a801a01 = 0x1a801a01,
     VALIDATION_ERROR_1a802401 = 0x1a802401,
     VALIDATION_ERROR_1a802413 = 0x1a802413,
@@ -2183,6 +2242,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1aa00bba = 0x1aa00bba,
     VALIDATION_ERROR_1aa00bd4 = 0x1aa00bd4,
     VALIDATION_ERROR_1aa00cf8 = 0x1aa00cf8,
+    VALIDATION_ERROR_1aa00e80 = 0x1aa00e80,
+    VALIDATION_ERROR_1aa00e82 = 0x1aa00e82,
+    VALIDATION_ERROR_1aa00e84 = 0x1aa00e84,
     VALIDATION_ERROR_1aa01a01 = 0x1aa01a01,
     VALIDATION_ERROR_1aa02401 = 0x1aa02401,
     VALIDATION_ERROR_1aa02413 = 0x1aa02413,
@@ -2219,6 +2281,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1ac00cfc = 0x1ac00cfc,
     VALIDATION_ERROR_1ac00cfe = 0x1ac00cfe,
     VALIDATION_ERROR_1ac00d00 = 0x1ac00d00,
+    VALIDATION_ERROR_1ac00e86 = 0x1ac00e86,
+    VALIDATION_ERROR_1ac00e88 = 0x1ac00e88,
+    VALIDATION_ERROR_1ac00e8a = 0x1ac00e8a,
     VALIDATION_ERROR_1ac01a01 = 0x1ac01a01,
     VALIDATION_ERROR_1ac02401 = 0x1ac02401,
     VALIDATION_ERROR_1ac02413 = 0x1ac02413,
@@ -2229,6 +2294,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1ae00654 = 0x1ae00654,
     VALIDATION_ERROR_1ae00656 = 0x1ae00656,
     VALIDATION_ERROR_1ae00658 = 0x1ae00658,
+    VALIDATION_ERROR_1ae00ebc = 0x1ae00ebc,
     VALIDATION_ERROR_1ae02401 = 0x1ae02401,
     VALIDATION_ERROR_1ae02413 = 0x1ae02413,
     VALIDATION_ERROR_1ae02415 = 0x1ae02415,
@@ -2260,6 +2326,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1b2000ce = 0x1b2000ce,
     VALIDATION_ERROR_1b2000d0 = 0x1b2000d0,
     VALIDATION_ERROR_1b2000d2 = 0x1b2000d2,
+    VALIDATION_ERROR_1b200e38 = 0x1b200e38,
+    VALIDATION_ERROR_1b200e3a = 0x1b200e3a,
     VALIDATION_ERROR_1b202401 = 0x1b202401,
     VALIDATION_ERROR_1b202413 = 0x1b202413,
     VALIDATION_ERROR_1b202415 = 0x1b202415,
@@ -2275,6 +2343,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1b40003a = 0x1b40003a,
     VALIDATION_ERROR_1b40003c = 0x1b40003c,
     VALIDATION_ERROR_1b40003e = 0x1b40003e,
+    VALIDATION_ERROR_1b400e26 = 0x1b400e26,
+    VALIDATION_ERROR_1b400e28 = 0x1b400e28,
     VALIDATION_ERROR_1b402401 = 0x1b402401,
     VALIDATION_ERROR_1b402413 = 0x1b402413,
     VALIDATION_ERROR_1b402415 = 0x1b402415,
@@ -2406,6 +2476,9 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1c800d5c = 0x1c800d5c,
     VALIDATION_ERROR_1c800d5e = 0x1c800d5e,
     VALIDATION_ERROR_1c800d60 = 0x1c800d60,
+    VALIDATION_ERROR_1c800e5a = 0x1c800e5a,
+    VALIDATION_ERROR_1c800e5c = 0x1c800e5c,
+    VALIDATION_ERROR_1c800e5e = 0x1c800e5e,
     VALIDATION_ERROR_1c802401 = 0x1c802401,
     VALIDATION_ERROR_1c802413 = 0x1c802413,
     VALIDATION_ERROR_1c802415 = 0x1c802415,
@@ -2522,6 +2595,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_1e400048 = 0x1e400048,
     VALIDATION_ERROR_1e40004a = 0x1e40004a,
     VALIDATION_ERROR_1e40004c = 0x1e40004c,
+    VALIDATION_ERROR_1e400e2a = 0x1e400e2a,
+    VALIDATION_ERROR_1e400e2c = 0x1e400e2c,
     VALIDATION_ERROR_1e402401 = 0x1e402401,
     VALIDATION_ERROR_1e402413 = 0x1e402413,
     VALIDATION_ERROR_1e402415 = 0x1e402415,
@@ -2921,6 +2996,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_27400078 = 0x27400078,
     VALIDATION_ERROR_2740007a = 0x2740007a,
     VALIDATION_ERROR_2740007c = 0x2740007c,
+    VALIDATION_ERROR_27400e2e = 0x27400e2e,
     VALIDATION_ERROR_27402401 = 0x27402401,
     VALIDATION_ERROR_27619e01 = 0x27619e01,
     VALIDATION_ERROR_2761f401 = 0x2761f401,
@@ -2990,6 +3066,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_2941c001 = 0x2941c001,
     VALIDATION_ERROR_29600300 = 0x29600300,
     VALIDATION_ERROR_29600302 = 0x29600302,
+    VALIDATION_ERROR_29600e62 = 0x29600e62,
     VALIDATION_ERROR_29605601 = 0x29605601,
     VALIDATION_ERROR_2961fc01 = 0x2961fc01,
     VALIDATION_ERROR_29806001 = 0x29806001,
@@ -3024,6 +3101,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_2a600c5c = 0x2a600c5c,
     VALIDATION_ERROR_2a600d68 = 0x2a600d68,
     VALIDATION_ERROR_2a600d6a = 0x2a600d6a,
+    VALIDATION_ERROR_2a600ece = 0x2a600ece,
     VALIDATION_ERROR_2a605601 = 0x2a605601,
     VALIDATION_ERROR_2a60a001 = 0x2a60a001,
     VALIDATION_ERROR_2a60a007 = 0x2a60a007,
@@ -3527,9 +3605,11 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_3b800b34 = 0x3b800b34,
     VALIDATION_ERROR_3b800b36 = 0x3b800b36,
     VALIDATION_ERROR_3b800b38 = 0x3b800b38,
-    VALIDATION_ERROR_3b800b3a = 0x3b800b3a,
-    VALIDATION_ERROR_3b800b3c = 0x3b800b3c,
     VALIDATION_ERROR_3b800e0a = 0x3b800e0a,
+    VALIDATION_ERROR_3b800ea8 = 0x3b800ea8,
+    VALIDATION_ERROR_3b800eaa = 0x3b800eaa,
+    VALIDATION_ERROR_3b800eac = 0x3b800eac,
+    VALIDATION_ERROR_3b800eae = 0x3b800eae,
     VALIDATION_ERROR_3b801a01 = 0x3b801a01,
     VALIDATION_ERROR_3b80a001 = 0x3b80a001,
     VALIDATION_ERROR_3b81c40d = 0x3b81c40d,
@@ -3540,6 +3620,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_3bc00c6a = 0x3bc00c6a,
     VALIDATION_ERROR_3bc00c6c = 0x3bc00c6c,
     VALIDATION_ERROR_3bc00c6e = 0x3bc00c6e,
+    VALIDATION_ERROR_3bc00ed2 = 0x3bc00ed2,
     VALIDATION_ERROR_3bc0a001 = 0x3bc0a001,
     VALIDATION_ERROR_3bc1c40d = 0x3bc1c40d,
     VALIDATION_ERROR_3bc2b00b = 0x3bc2b00b,
@@ -3661,6 +3742,7 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_3f800cee = 0x3f800cee,
     VALIDATION_ERROR_3f800cf0 = 0x3f800cf0,
     VALIDATION_ERROR_3f800cf2 = 0x3f800cf2,
+    VALIDATION_ERROR_3f800ee0 = 0x3f800ee0,
     VALIDATION_ERROR_3f802c01 = 0x3f802c01,
     VALIDATION_ERROR_3f809201 = 0x3f809201,
     VALIDATION_ERROR_3f81c40d = 0x3f81c40d,
@@ -3756,6 +3838,8 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_41e28401 = 0x41e28401,
     VALIDATION_ERROR_4201c40d = 0x4201c40d,
     VALIDATION_ERROR_4202b00b = 0x4202b00b,
+    VALIDATION_ERROR_42200e64 = 0x42200e64,
+    VALIDATION_ERROR_42200e66 = 0x42200e66,
     VALIDATION_ERROR_42209001 = 0x42209001,
     VALIDATION_ERROR_42209003 = 0x42209003,
     VALIDATION_ERROR_4221c40d = 0x4221c40d,
@@ -3769,6 +3853,10 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_42a2b00b = 0x42a2b00b,
     VALIDATION_ERROR_42c1c40d = 0x42c1c40d,
     VALIDATION_ERROR_42c2b00b = 0x42c2b00b,
+    VALIDATION_ERROR_42e00e30 = 0x42e00e30,
+    VALIDATION_ERROR_42e00e32 = 0x42e00e32,
+    VALIDATION_ERROR_42e00e34 = 0x42e00e34,
+    VALIDATION_ERROR_42e00e36 = 0x42e00e36,
     VALIDATION_ERROR_42e1c40d = 0x42e1c40d,
     VALIDATION_ERROR_42e2b00b = 0x42e2b00b,
     VALIDATION_ERROR_43040001 = 0x43040001,
@@ -3778,8 +3866,99 @@ enum UNIQUE_VALIDATION_ERROR_CODE {
     VALIDATION_ERROR_43405601 = 0x43405601,
     VALIDATION_ERROR_4341fc01 = 0x4341fc01,
     VALIDATION_ERROR_43440401 = 0x43440401,
+    VALIDATION_ERROR_43600ee2 = 0x43600ee2,
+    VALIDATION_ERROR_43600ee4 = 0x43600ee4,
+    VALIDATION_ERROR_43600ee6 = 0x43600ee6,
+    VALIDATION_ERROR_4360da01 = 0x4360da01,
+    VALIDATION_ERROR_4361c40d = 0x4361c40d,
+    VALIDATION_ERROR_4361ce01 = 0x4361ce01,
+    VALIDATION_ERROR_4362b00b = 0x4362b00b,
+    VALIDATION_ERROR_43800ee8 = 0x43800ee8,
+    VALIDATION_ERROR_43800eea = 0x43800eea,
+    VALIDATION_ERROR_43800eec = 0x43800eec,
+    VALIDATION_ERROR_4380da01 = 0x4380da01,
+    VALIDATION_ERROR_4381c40d = 0x4381c40d,
+    VALIDATION_ERROR_43825a01 = 0x43825a01,
+    VALIDATION_ERROR_4382b00b = 0x4382b00b,
+    VALIDATION_ERROR_4382f41b = 0x4382f41b,
+    VALIDATION_ERROR_43a1c40d = 0x43a1c40d,
+    VALIDATION_ERROR_43a2b00b = 0x43a2b00b,
+    VALIDATION_ERROR_43a40801 = 0x43a40801,
+    VALIDATION_ERROR_43c09005 = 0x43c09005,
+    VALIDATION_ERROR_43c0d61b = 0x43c0d61b,
+    VALIDATION_ERROR_43c1b801 = 0x43c1b801,
+    VALIDATION_ERROR_43c1c40d = 0x43c1c40d,
+    VALIDATION_ERROR_43c2b00b = 0x43c2b00b,
+    VALIDATION_ERROR_43c42201 = 0x43c42201,
+    VALIDATION_ERROR_43e00ef4 = 0x43e00ef4,
+    VALIDATION_ERROR_43e09005 = 0x43e09005,
+    VALIDATION_ERROR_43e1c40d = 0x43e1c40d,
+    VALIDATION_ERROR_43e2b00b = 0x43e2b00b,
+    VALIDATION_ERROR_43e40a01 = 0x43e40a01,
+    VALIDATION_ERROR_43e40a03 = 0x43e40a03,
+    VALIDATION_ERROR_43e40c01 = 0x43e40c01,
+    VALIDATION_ERROR_43e40c03 = 0x43e40c03,
+    VALIDATION_ERROR_4400bc01 = 0x4400bc01,
+    VALIDATION_ERROR_4400ec01 = 0x4400ec01,
+    VALIDATION_ERROR_44011e01 = 0x44011e01,
+    VALIDATION_ERROR_44041001 = 0x44041001,
+    VALIDATION_ERROR_4420bc01 = 0x4420bc01,
+    VALIDATION_ERROR_44240a01 = 0x44240a01,
+    VALIDATION_ERROR_44241201 = 0x44241201,
+    VALIDATION_ERROR_44241203 = 0x44241203,
+    VALIDATION_ERROR_44242801 = 0x44242801,
     VALIDATION_ERROR_4441c40d = 0x4441c40d,
     VALIDATION_ERROR_4442b00b = 0x4442b00b,
+    VALIDATION_ERROR_44800ecc = 0x44800ecc,
+    VALIDATION_ERROR_4481c40d = 0x4481c40d,
+    VALIDATION_ERROR_4482b00b = 0x4482b00b,
+    VALIDATION_ERROR_44a00eb0 = 0x44a00eb0,
+    VALIDATION_ERROR_44a00eb2 = 0x44a00eb2,
+    VALIDATION_ERROR_44a01a01 = 0x44a01a01,
+    VALIDATION_ERROR_44a1c40d = 0x44a1c40d,
+    VALIDATION_ERROR_44a2b00b = 0x44a2b00b,
+    VALIDATION_ERROR_44c00eb4 = 0x44c00eb4,
+    VALIDATION_ERROR_44c00eb6 = 0x44c00eb6,
+    VALIDATION_ERROR_44e00ef0 = 0x44e00ef0,
+    VALIDATION_ERROR_44e00ef2 = 0x44e00ef2,
+    VALIDATION_ERROR_44e02401 = 0x44e02401,
+    VALIDATION_ERROR_44e02413 = 0x44e02413,
+    VALIDATION_ERROR_44e02415 = 0x44e02415,
+    VALIDATION_ERROR_45000ef6 = 0x45000ef6,
+    VALIDATION_ERROR_45000ef8 = 0x45000ef8,
+    VALIDATION_ERROR_4500bc01 = 0x4500bc01,
+    VALIDATION_ERROR_4500ec01 = 0x4500ec01,
+    VALIDATION_ERROR_45042601 = 0x45042601,
+    VALIDATION_ERROR_45042607 = 0x45042607,
+    VALIDATION_ERROR_45200eb8 = 0x45200eb8,
+    VALIDATION_ERROR_45201a01 = 0x45201a01,
+    VALIDATION_ERROR_45205601 = 0x45205601,
+    VALIDATION_ERROR_4521f401 = 0x4521f401,
+    VALIDATION_ERROR_45400eee = 0x45400eee,
+    VALIDATION_ERROR_45429c01 = 0x45429c01,
+    VALIDATION_ERROR_4561c40d = 0x4561c40d,
+    VALIDATION_ERROR_4562b00b = 0x4562b00b,
+    VALIDATION_ERROR_45a05601 = 0x45a05601,
+    VALIDATION_ERROR_45a10001 = 0x45a10001,
+    VALIDATION_ERROR_45a39c01 = 0x45a39c01,
+    VALIDATION_ERROR_45c1c40d = 0x45c1c40d,
+    VALIDATION_ERROR_45c2b00b = 0x45c2b00b,
+    VALIDATION_ERROR_45e02401 = 0x45e02401,
+    VALIDATION_ERROR_45e02413 = 0x45e02413,
+    VALIDATION_ERROR_45e02415 = 0x45e02415,
+    VALIDATION_ERROR_45e42401 = 0x45e42401,
+    VALIDATION_ERROR_46002401 = 0x46002401,
+    VALIDATION_ERROR_46002413 = 0x46002413,
+    VALIDATION_ERROR_46002415 = 0x46002415,
+    VALIDATION_ERROR_46042401 = 0x46042401,
+    VALIDATION_ERROR_46229c01 = 0x46229c01,
+    VALIDATION_ERROR_46242401 = 0x46242401,
+    VALIDATION_ERROR_46429c01 = 0x46429c01,
+    VALIDATION_ERROR_46442401 = 0x46442401,
+    VALIDATION_ERROR_46605601 = 0x46605601,
+    VALIDATION_ERROR_4661c201 = 0x4661c201,
+    VALIDATION_ERROR_46805601 = 0x46805601,
+    VALIDATION_ERROR_46825c01 = 0x46825c01,
     VALIDATION_ERROR_MAX_ENUM = 1,
 };
 
@@ -3793,9 +3972,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_00000a14, "The spec valid usage text states 'deviceMask must be a valid device mask' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-deviceMask-01290)"},
     {VALIDATION_ERROR_00000a16, "The spec valid usage text states 'deviceMask must not be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-deviceMask-01291)"},
     {VALIDATION_ERROR_00000d16, "The spec valid usage text states 'swapchain must not be in the retired state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-swapchain-01675)"},
-    {VALIDATION_ERROR_00000dea, "The spec valid usage text states 'If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHX-semaphore-01781)"},
-    {VALIDATION_ERROR_00000dec, "The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHX-semaphore-01782)"},
-    {VALIDATION_ERROR_00000e18, "The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHX-semaphore-01804)"},
+    {VALIDATION_ERROR_00000dea, "The spec valid usage text states 'If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-semaphore-01781)"},
+    {VALIDATION_ERROR_00000dec, "The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-semaphore-01782)"},
+    {VALIDATION_ERROR_00000e18, "The spec valid usage text states 'semaphore and fence must not both be equal to VK_NULL_HANDLE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-semaphore-01804)"},
     {VALIDATION_ERROR_00008801, "The spec valid usage text states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-fence-parameter)"},
     {VALIDATION_ERROR_0001c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-pNext-pNext)"},
     {VALIDATION_ERROR_0002b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAcquireNextImageInfoKHR-sType-sType)"},
@@ -3826,48 +4005,50 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_00a006b2, "The spec valid usage text states 'layout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkAttachmentReference-layout-00857)"},
     {VALIDATION_ERROR_00a0be01, "The spec valid usage text states 'layout must be a valid VkImageLayout value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkAttachmentReference-layout-parameter)"},
     {VALIDATION_ERROR_00c00009, "The spec valid usage text states 'Both of buffer, and memory must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-commonparent)"},
-    {VALIDATION_ERROR_00c00c72, "The spec valid usage text states 'buffer must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01593)"},
-    {VALIDATION_ERROR_00c00c74, "The spec valid usage text states 'buffer must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01594)"},
-    {VALIDATION_ERROR_00c00c76, "The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01595)"},
-    {VALIDATION_ERROR_00c00c78, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01596)"},
-    {VALIDATION_ERROR_00c00c7a, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01597)"},
-    {VALIDATION_ERROR_00c00c7c, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minStorageBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01598)"},
-    {VALIDATION_ERROR_00c00c7e, "The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memory-01599)"},
-    {VALIDATION_ERROR_00c00c80, "The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01600)"},
-    {VALIDATION_ERROR_00c00c82, "The spec valid usage text states 'The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-size-01601)"},
-    {VALIDATION_ERROR_00c00c84, "The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01602)"},
-    {VALIDATION_ERROR_00c00c86, "The spec valid usage text states 'If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01603)"},
-    {VALIDATION_ERROR_00c00c88, "The spec valid usage text states 'If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-buffer-01604)"},
-    {VALIDATION_ERROR_00c00c8a, "The spec valid usage text states 'If the pNext chain includes VkBindBufferMemoryDeviceGroupInfo, all instances of memory specified by VkBindBufferMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-pNext-01605)"},
+    {VALIDATION_ERROR_00c00c72, "The spec valid usage text states 'buffer must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01593)"},
+    {VALIDATION_ERROR_00c00c74, "The spec valid usage text states 'buffer must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01594)"},
+    {VALIDATION_ERROR_00c00c76, "The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memoryOffset-01595)"},
+    {VALIDATION_ERROR_00c00c78, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01596)"},
+    {VALIDATION_ERROR_00c00c7a, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01597)"},
+    {VALIDATION_ERROR_00c00c7c, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minStorageBufferOffsetAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01598)"},
+    {VALIDATION_ERROR_00c00c7e, "The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memory-01599)"},
+    {VALIDATION_ERROR_00c00c80, "The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memoryOffset-01600)"},
+    {VALIDATION_ERROR_00c00c82, "The spec valid usage text states 'The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-size-01601)"},
+    {VALIDATION_ERROR_00c00c84, "The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for buffer), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01602)"},
+    {VALIDATION_ERROR_00c00c86, "The spec valid usage text states 'If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01603)"},
+    {VALIDATION_ERROR_00c00c88, "The spec valid usage text states 'If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-01604)"},
+    {VALIDATION_ERROR_00c00c8a, "The spec valid usage text states 'If the pNext chain includes VkBindBufferMemoryDeviceGroupInfo, all instances of memory specified by VkBindBufferMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-pNext-01605)"},
+    {VALIDATION_ERROR_00c00ed8, "The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfo::buffer and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfoKHR-memory-01900)"},
     {VALIDATION_ERROR_00c01a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-buffer-parameter)"},
     {VALIDATION_ERROR_00c0c601, "The spec valid usage text states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-memory-parameter)"},
     {VALIDATION_ERROR_00c1c40d, "The spec valid usage text states 'pNext must be NULL or a pointer to a valid instance of VkBindBufferMemoryDeviceGroupInfo' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-pNext-pNext)"},
     {VALIDATION_ERROR_00c2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryInfo-sType-sType)"},
     {VALIDATION_ERROR_00e00009, "The spec valid usage text states 'Both of image, and memory that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-commonparent)"},
-    {VALIDATION_ERROR_00e00c92, "The spec valid usage text states 'image must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01609)"},
-    {VALIDATION_ERROR_00e00c94, "The spec valid usage text states 'image must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01610)"},
-    {VALIDATION_ERROR_00e00c96, "The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memoryOffset-01611)"},
-    {VALIDATION_ERROR_00e00c98, "The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01612)"},
-    {VALIDATION_ERROR_00e00c9a, "The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memoryOffset-01613)"},
-    {VALIDATION_ERROR_00e00c9c, "The spec valid usage text states 'The difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01614)"},
-    {VALIDATION_ERROR_00e00c9e, "The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01615)"},
-    {VALIDATION_ERROR_00e00ca0, "The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01616)"},
-    {VALIDATION_ERROR_00e00ca2, "The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01617)"},
-    {VALIDATION_ERROR_00e00ca4, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, image must have been created with the VK_IMAGE_CREATE_DISJOINT_BIT bit set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01618)"},
-    {VALIDATION_ERROR_00e00ca6, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01619)"},
-    {VALIDATION_ERROR_00e00ca8, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01620)"},
-    {VALIDATION_ERROR_00e00caa, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01621)"},
-    {VALIDATION_ERROR_00e00cac, "The spec valid usage text states 'If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01622)"},
-    {VALIDATION_ERROR_00e00cae, "The spec valid usage text states 'If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01623)"},
-    {VALIDATION_ERROR_00e00cb0, "The spec valid usage text states 'If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01624)"},
-    {VALIDATION_ERROR_00e00cb2, "The spec valid usage text states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01625)"},
-    {VALIDATION_ERROR_00e00cb4, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all instances of memory specified by VkBindImageMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01626)"},
-    {VALIDATION_ERROR_00e00cb6, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, and VkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount is not zero, then image must have been created with the VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01627)"},
-    {VALIDATION_ERROR_00e00cb8, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions must be valid rectangles contained within the dimensions of image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01628)"},
-    {VALIDATION_ERROR_00e00cba, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, the union of the areas of all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions that correspond to the same instance of image must cover the entire image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01629)"},
-    {VALIDATION_ERROR_00e00cbc, "The spec valid usage text states 'If image was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a valid instance of VkBindImageMemorySwapchainInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-image-01630)"},
-    {VALIDATION_ERROR_00e00cbe, "The spec valid usage text states 'If the pNext chain includes an instance of VkBindImageMemorySwapchainInfoKHR, memory must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01631)"},
-    {VALIDATION_ERROR_00e00cc0, "The spec valid usage text states 'If the pNext chain does not include an instance of VkBindImageMemorySwapchainInfoKHR, memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-pNext-01632)"},
+    {VALIDATION_ERROR_00e00c92, "The spec valid usage text states 'image must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01609)"},
+    {VALIDATION_ERROR_00e00c94, "The spec valid usage text states 'image must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01610)"},
+    {VALIDATION_ERROR_00e00c96, "The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-memoryOffset-01611)"},
+    {VALIDATION_ERROR_00e00c98, "The spec valid usage text states 'memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memory-01612)"},
+    {VALIDATION_ERROR_00e00c9a, "The spec valid usage text states 'memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memoryOffset-01613)"},
+    {VALIDATION_ERROR_00e00c9c, "The spec valid usage text states 'The difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memory-01614)"},
+    {VALIDATION_ERROR_00e00c9e, "The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01615)"},
+    {VALIDATION_ERROR_00e00ca0, "The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01616)"},
+    {VALIDATION_ERROR_00e00ca2, "The spec valid usage text states 'If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01617)"},
+    {VALIDATION_ERROR_00e00ca4, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, image must have been created with the VK_IMAGE_CREATE_DISJOINT_BIT bit set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01618)"},
+    {VALIDATION_ERROR_00e00ca6, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01619)"},
+    {VALIDATION_ERROR_00e00ca8, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01620)"},
+    {VALIDATION_ERROR_00e00caa, "The spec valid usage text states 'If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2's pNext chain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01621)"},
+    {VALIDATION_ERROR_00e00cac, "The spec valid usage text states 'If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01622)"},
+    {VALIDATION_ERROR_00e00cae, "The spec valid usage text states 'If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01623)"},
+    {VALIDATION_ERROR_00e00cb0, "The spec valid usage text states 'If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01624)"},
+    {VALIDATION_ERROR_00e00cb2, "The spec valid usage text states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBindImageMemoryInfo-memory-01625)"},
+    {VALIDATION_ERROR_00e00cb4, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all instances of memory specified by VkBindImageMemoryDeviceGroupInfo::pDeviceIndices must have been allocated' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01626)"},
+    {VALIDATION_ERROR_00e00cb6, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, and VkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount is not zero, then image must have been created with the VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01627)"},
+    {VALIDATION_ERROR_00e00cb8, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions must be valid rectangles contained within the dimensions of image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01628)"},
+    {VALIDATION_ERROR_00e00cba, "The spec valid usage text states 'If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, the union of the areas of all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions that correspond to the same instance of image must cover the entire image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01629)"},
+    {VALIDATION_ERROR_00e00cbc, "The spec valid usage text states 'If image was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a valid instance of VkBindImageMemorySwapchainInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-01630)"},
+    {VALIDATION_ERROR_00e00cbe, "The spec valid usage text states 'If the pNext chain includes an instance of VkBindImageMemorySwapchainInfoKHR, memory must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01631)"},
+    {VALIDATION_ERROR_00e00cc0, "The spec valid usage text states 'If the pNext chain does not include an instance of VkBindImageMemorySwapchainInfoKHR, memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-01632)"},
+    {VALIDATION_ERROR_00e00ede, "The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfoKHR-memory-01903)"},
     {VALIDATION_ERROR_00e0a001, "The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-image-parameter)"},
     {VALIDATION_ERROR_00e1c40d, "The spec valid usage text states '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 VkBindImageMemoryDeviceGroupInfo, VkBindImageMemorySwapchainInfoKHR, or VkBindImagePlaneMemoryInfo' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-pNext-pNext)"},
     {VALIDATION_ERROR_00e2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryInfo-sType-sType)"},
@@ -3894,6 +4075,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_01400ade, "The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties for the physicalDevice that was used to create device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-01391)"},
     {VALIDATION_ERROR_01400b16, "The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by either vkGetPhysicalDeviceQueueFamilyProperties or vkGetPhysicalDeviceQueueFamilyProperties2 for the physicalDevice that was used to create device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-01419)"},
     {VALIDATION_ERROR_01400c46, "The spec valid usage text states 'If the pNext chain contains an instance of VkDedicatedAllocationBufferCreateInfoNV, and the dedicatedAllocation member of the chained structure is VK_TRUE, then flags must not include VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-pNext-01571)"},
+    {VALIDATION_ERROR_01400ebe, "The spec valid usage text states 'If the protected memory feature is not enabled, flags must not contain VK_BUFFER_CREATE_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-flags-01887)"},
+    {VALIDATION_ERROR_01400ec0, "The spec valid usage text states 'If any of the bits VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT are set, VK_BUFFER_CREATE_PROTECTED_BIT must not also be set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-None-01888)"},
     {VALIDATION_ERROR_01409001, "The spec valid usage text states 'flags must be a valid combination of VkBufferCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-parameter)"},
     {VALIDATION_ERROR_0141c40d, "The spec valid usage text states '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 VkDedicatedAllocationBufferCreateInfoNV or VkExternalMemoryBufferCreateInfo' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-pNext-pNext)"},
     {VALIDATION_ERROR_0142b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sType-sType)"},
@@ -3968,6 +4151,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_01c0002a, "The spec valid usage text states 'clearValue must be a valid VkClearValue union' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearAttachment-clearValue-00021)"},
     {VALIDATION_ERROR_01c00c01, "The spec valid usage text states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearAttachment-aspectMask-parameter)"},
     {VALIDATION_ERROR_01c00c03, "The spec valid usage text states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearAttachment-aspectMask-requiredbitmask)"},
+    {VALIDATION_ERROR_01c00e22, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then the attachment to be cleared must not be a protected image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkClearAttachment-commandBuffer-01809)"},
+    {VALIDATION_ERROR_01c00e24, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then the attachment to be cleared must not be an unprotected image.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkClearAttachment-commandBuffer-01810)"},
     {VALIDATION_ERROR_01e0002c, "The spec valid usage text states 'Unless the VK_EXT_depth_range_unrestricted extension is enabled depth must be between 0.0 and 1.0, inclusive' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkClearDepthStencilValue-depth-00022)"},
     {VALIDATION_ERROR_0200002e, "The spec valid usage text states 'depthStencil must be a valid VkClearDepthStencilValue structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkClearValue-depthStencil-00023)"},
     {VALIDATION_ERROR_02200009, "The spec valid usage text states 'Each of indirectCommandsLayout, objectTable, sequencesCountBuffer, sequencesIndexBuffer, and targetCommandBuffer that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkCmdProcessCommandsInfoNVX-commonparent)"},
@@ -4141,6 +4326,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_056002e8, "The spec valid usage text states '' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-queueFamilyIndex-00372)"},
     {VALIDATION_ERROR_056002ea, "The spec valid usage text states 'If the pNext chain includes a VkPhysicalDeviceFeatures2 structure, then pEnabledFeatures must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceCreateInfo-pNext-00373)"},
     {VALIDATION_ERROR_056002ec, "The spec valid usage text states 'ppEnabledExtensionNames must not contain both VK_KHR_maintenance1 and VK_AMD_negative_viewport_height' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374)"},
+    {VALIDATION_ERROR_05600e60, "The spec valid usage text states 'ppEnabledExtensionNames must not contain VK_AMD_negative_viewport_height' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840)"},
     {VALIDATION_ERROR_05609005, "The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-flags-zerobitmask)"},
     {VALIDATION_ERROR_05615a01, "The spec valid usage text states 'If pEnabledFeatures is not NULL, pEnabledFeatures must be a valid pointer to a valid VkPhysicalDeviceFeatures structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter)"},
     {VALIDATION_ERROR_0561c40d, "The spec valid usage text states '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 VkDeviceGroupDeviceCreateInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDeviceFeatures2, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceSamplerYcbcrConversionFeatures, or VkPhysicalDeviceVariablePointerFeatures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pNext-pNext)"},
@@ -4499,11 +4685,16 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_09e00c4e, "The spec valid usage text states 'If tiling is VK_IMAGE_TILING_OPTIMAL, format is a multi-planar format, and VkFormatProperties::optimalTilingFeatures (as returned by vkGetPhysicalDeviceFormatProperties with the same value of format) does not include VK_FORMAT_FEATURE_DISJOINT_BIT, flags must not contain VK_IMAGE_CREATE_DISJOINT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-tiling-01575)"},
     {VALIDATION_ERROR_09e00c50, "The spec valid usage text states 'If tiling is VK_IMAGE_TILING_LINEAR, format is a multi-planar format, and VkFormatProperties::linearTilingFeatures (as returned by vkGetPhysicalDeviceFormatProperties with the same value of format) does not include VK_FORMAT_FEATURE_DISJOINT_BIT, flags must not contain VK_IMAGE_CREATE_DISJOINT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-tiling-01576)"},
     {VALIDATION_ERROR_09e00c52, "The spec valid usage text states 'If format is not a multi-planar format, and flags does not include VK_IMAGE_CREATE_ALIAS_BIT, flags must not contain VK_IMAGE_CREATE_DISJOINT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-format-01577)"},
+    {VALIDATION_ERROR_09e00ec2, "The spec valid usage text states 'If the pNext chain doesn't contain an instance of VkExternalFormatANDROID, or if format is not VK_FORMAT_UNDEFINED, the combination of format, imageType, tiling, usage, and flags must be supported, as indicated by a VK_SUCCESS return value from vkGetPhysicalDeviceImageFormatProperties invoked with the same values passed to the corresponding parameters.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-01889)"},
+    {VALIDATION_ERROR_09e00ec4, "The spec valid usage text states 'If the protected memory feature is not enabled, flags must not contain VK_IMAGE_CREATE_PROTECTED_BIT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-flags-01890)"},
+    {VALIDATION_ERROR_09e00ec6, "The spec valid usage text states 'If any of the bits VK_IMAGE_CREATE_SPARSE_BINDING_BIT, VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or VK_IMAGE_CREATE_SPARSE_ALIASED_BIT are set, VK_IMAGE_CREATE_PROTECTED_BIT must not also be set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-None-01891)"},
+    {VALIDATION_ERROR_09e00ec8, "The spec valid usage text states 'If the pNext chain includes a VkExternalMemoryImageCreateInfo structure whose handleTypes member includes VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-01892)"},
+    {VALIDATION_ERROR_09e00eca, "The spec valid usage text states 'If the pNext chain includes a VkExternalFormatANDROID structure whose externalFormat member is not 0:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-01893)"},
     {VALIDATION_ERROR_09e09001, "The spec valid usage text states 'flags must be a valid combination of VkImageCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-flags-parameter)"},
     {VALIDATION_ERROR_09e09201, "The spec valid usage text states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-format-parameter)"},
     {VALIDATION_ERROR_09e0ac01, "The spec valid usage text states 'imageType must be a valid VkImageType value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-imageType-parameter)"},
     {VALIDATION_ERROR_09e0b801, "The spec valid usage text states 'initialLayout must be a valid VkImageLayout value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-initialLayout-parameter)"},
-    {VALIDATION_ERROR_09e1c40d, "The spec valid usage text states '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 VkDedicatedAllocationImageCreateInfoNV, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkImageFormatListCreateInfoKHR, or VkImageSwapchainCreateInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-pNext-pNext)"},
+    {VALIDATION_ERROR_09e1c40d, "The spec valid usage text states '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 VkDedicatedAllocationImageCreateInfoNV, VkExternalFormatANDROID, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkImageFormatListCreateInfoKHR, or VkImageSwapchainCreateInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-pNext-pNext)"},
     {VALIDATION_ERROR_09e2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-sType-sType)"},
     {VALIDATION_ERROR_09e2b00f, "The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-sType-unique)"},
     {VALIDATION_ERROR_09e2b401, "The spec valid usage text states 'samples must be a valid VkSampleCountFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-samples-parameter)"},
@@ -4530,8 +4721,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_0a000cf4, "The spec valid usage text states 'If either oldLayout or newLayout is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL then image must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-oldLayout-01658)"},
     {VALIDATION_ERROR_0a000cf6, "The spec valid usage text states 'If either oldLayout or newLayout is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL then image must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-oldLayout-01659)"},
     {VALIDATION_ERROR_0a000d0e, "The spec valid usage text states 'If image has a single-plane color format or is not disjoint, then the aspectMask member of subresourceRange must be VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01671)"},
-    {VALIDATION_ERROR_0a000d10, "The spec valid usage text states 'If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include either at least one of VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, and VK_IMAGE_ASPECT_PLANE_2_BIT_KHR; or must include VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01672)"},
-    {VALIDATION_ERROR_0a000d12, "The spec valid usage text states 'If image has a multi-planar format with only two planes, then the aspectMask member of subresourceRange must not include VK_IMAGE_ASPECT_PLANE_2_BIT_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01673)"},
+    {VALIDATION_ERROR_0a000d10, "The spec valid usage text states 'If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include either at least one of VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, and VK_IMAGE_ASPECT_PLANE_2_BIT; or must include VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01672)"},
+    {VALIDATION_ERROR_0a000d12, "The spec valid usage text states 'If image has a multi-planar format with only two planes, then the aspectMask member of subresourceRange must not include VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01673)"},
     {VALIDATION_ERROR_0a000d78, "The spec valid usage text states 'If subresourceRange.levelCount is not VK_REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel + subresourceRange.levelCount must be less than or equal to the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageMemoryBarrier-subresourceRange-01724)"},
     {VALIDATION_ERROR_0a000d7a, "The spec valid usage text states 'If subresourceRange.layerCount is not VK_REMAINING_ARRAY_LAYERS, subresourceRange.baseArrayLayer + subresourceRange.layerCount must be less than or equal to the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageMemoryBarrier-subresourceRange-01725)"},
     {VALIDATION_ERROR_0a000dcc, "The spec valid usage text states 'If image was created with a sharing mode of VK_SHARING_MODE_CONCURRENT, and one of srcQueueFamilyIndex and dstQueueFamilyIndex is VK_QUEUE_FAMILY_IGNORED, the other must be VK_QUEUE_FAMILY_IGNORED or a special queue family reserved for external memory transfers, as described in synchronization-queue-transfers.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryBarrier-image-01766)"},
@@ -4569,7 +4760,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_0a600d48, "The spec valid usage text states 'layerCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceLayers-layerCount-01700)"},
     {VALIDATION_ERROR_0a800c01, "The spec valid usage text states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-parameter)"},
     {VALIDATION_ERROR_0a800c03, "The spec valid usage text states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-requiredbitmask)"},
-    {VALIDATION_ERROR_0a800d0c, "The spec valid usage text states 'If aspectMask includes VK_IMAGE_ASPECT_COLOR_BIT, then it must not include any of VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, or VK_IMAGE_ASPECT_PLANE_2_BIT_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-01670)"},
+    {VALIDATION_ERROR_0a800d0c, "The spec valid usage text states 'If aspectMask includes VK_IMAGE_ASPECT_COLOR_BIT, then it must not include any of VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageSubresourceRange-aspectMask-01670)"},
     {VALIDATION_ERROR_0a800d70, "The spec valid usage text states 'If levelCount is not VK_REMAINING_MIP_LEVELS, it must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-levelCount-01720)"},
     {VALIDATION_ERROR_0a800d72, "The spec valid usage text states 'If layerCount is not VK_REMAINING_ARRAY_LAYERS, it must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageSubresourceRange-layerCount-01721)"},
     {VALIDATION_ERROR_0aa007c6, "The spec valid usage text states 'If swapchain is not VK_NULL_HANDLE, the fields of VkImageCreateInfo must match the implied image creation parameters of the swapchain' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageSwapchainCreateInfoKHR-swapchain-00995)"},
@@ -4609,6 +4800,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_0ac00dc0, "The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, and if the format of the image is not a multi-planar format, format must be compatible with the format used to create image, as defined in Format Compatibility Classes' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01760)"},
     {VALIDATION_ERROR_0ac00dc2, "The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, but without the VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag, and if the format of the image is not a multi-planar format, format must be compatible with the format used to create image, as defined in Format Compatibility Classes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01761)"},
     {VALIDATION_ERROR_0ac00dc4, "The spec valid usage text states 'If image was not created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag,' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01762)"},
+    {VALIDATION_ERROR_0ac00ed0, "The spec valid usage text states 'If image has an external format:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01896)"},
     {VALIDATION_ERROR_0ac02c01, "The spec valid usage text states 'components must be a valid VkComponentMapping structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-components-parameter)"},
     {VALIDATION_ERROR_0ac09005, "The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-flags-zerobitmask)"},
     {VALIDATION_ERROR_0ac09201, "The spec valid usage text states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-format-parameter)"},
@@ -4721,7 +4913,11 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_0c600d9e, "The spec valid usage text states 'If the parameters define an import operation, the external handle was created by the Vulkan API, and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR or VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, then the values of allocationSize and memoryTypeIndex must match those specified when the memory object being imported was created.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-allocationSize-01743)"},
     {VALIDATION_ERROR_0c600da0, "The spec valid usage text states 'If the parameters define an import operation and the external handle is a host pointer, the value of memoryTypeIndex must be one of those returned by vkGetMemoryHostPointerPropertiesEXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-memoryTypeIndex-01744)"},
     {VALIDATION_ERROR_0c600da2, "The spec valid usage text states 'If the parameters define an import operation and the external handle is a host pointer, allocationSize must be an integer multiple of VkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-allocationSize-01745)"},
-    {VALIDATION_ERROR_0c61c40d, "The spec valid usage text states '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 VkDedicatedAllocationMemoryAllocateInfoNV, VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoNV, VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateFlagsInfo, or VkMemoryDedicatedAllocateInfo' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-pNext)"},
+    {VALIDATION_ERROR_0c600ea0, "The spec valid usage text states 'If the protected memory feature is not enabled, the VkMemoryAllocateInfo::memoryTypeIndex must not indicate a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-memoryTypeIndex-01872)"},
+    {VALIDATION_ERROR_0c600ea2, "The spec valid usage text states 'If the parameters define an import operation and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BIT_ANDROID:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-None-01873)"},
+    {VALIDATION_ERROR_0c600ea4, "The spec valid usage text states 'If the parameters do not define an import operation, and the pNext chain contains an instance of VkExportMemoryAllocateInfo with VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID included in its handleTypes member, and the pNext contains an instance of VkMemoryDedicatedAllocateInfo with image not equal to VK_NULL_HANDLE, then allocationSize must be 0, otherwise allocationSize must be greater than 0.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-01874)"},
+    {VALIDATION_ERROR_0c600ea6, "The spec valid usage text states 'If the parameters define an import operation, the external handle is an Android hardware buffer, and the pNext chain includes an instance of VkMemoryDedicatedAllocateInfo with image that is not VK_NULL_HANDLE:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-01875)"},
+    {VALIDATION_ERROR_0c61c40d, "The spec valid usage text states '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 VkDedicatedAllocationMemoryAllocateInfoNV, VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoNV, VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV, VkImportAndroidHardwareBufferInfoANDROID, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateFlagsInfo, or VkMemoryDedicatedAllocateInfo' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-pNext)"},
     {VALIDATION_ERROR_0c62b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-sType-sType)"},
     {VALIDATION_ERROR_0c62b00f, "The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryAllocateInfo-sType-unique)"},
     {VALIDATION_ERROR_0c806801, "The spec valid usage text states 'dstAccessMask must be a valid combination of VkAccessFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkMemoryBarrier-dstAccessMask-parameter)"},
@@ -5336,7 +5532,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_16009005, "The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkXlibSurfaceCreateInfoKHR-flags-zerobitmask)"},
     {VALIDATION_ERROR_1601c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkXlibSurfaceCreateInfoKHR-pNext-pNext)"},
     {VALIDATION_ERROR_1602b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkXlibSurfaceCreateInfoKHR-sType-sType)"},
-    {VALIDATION_ERROR_16200e16, "The spec valid usage text states 'If the number of currently acquired images is greater than the difference between the number of images in the swapchain member of pAcquireInfo and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, the timeout member of pAcquireInfo must not be UINT64_MAX' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHX-swapchain-01803)"},
+    {VALIDATION_ERROR_16200e16, "The spec valid usage text states 'If the number of currently acquired images is greater than the difference between the number of images in the swapchain member of pAcquireInfo and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, the timeout member of pAcquireInfo must not be UINT64_MAX' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-swapchain-01803)"},
     {VALIDATION_ERROR_16205601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-device-parameter)"},
     {VALIDATION_ERROR_1620e001, "The spec valid usage text states 'pAcquireInfo must be a valid pointer to a valid VkAcquireNextImageInfoKHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-pAcquireInfo-parameter)"},
     {VALIDATION_ERROR_16218601, "The spec valid usage text states 'pImageIndex must be a valid pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkAcquireNextImage2KHR-pImageIndex-parameter)"},
@@ -5386,8 +5582,10 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1700081a, "The spec valid usage text states 'The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-size-01037)"},
     {VALIDATION_ERROR_1700081c, "The spec valid usage text states 'If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to a buffer handle created with identical creation parameters to buffer and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01038)"},
     {VALIDATION_ERROR_1700081e, "The spec valid usage text states 'If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01039)"},
-    {VALIDATION_ERROR_17000b48, "The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01444)"},
-    {VALIDATION_ERROR_17000bc8, "The spec valid usage text states 'If the VkmemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfoKHR in its pNext chain, and VkMemoryDedicatedAllocateInfoKHR::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfoKHR::buffer and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-memory-01508)"},
+    {VALIDATION_ERROR_17000b48, "The spec valid usage text states 'If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for buffer), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-buffer-01444)"},
+    {VALIDATION_ERROR_17000bc8, "The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfo::buffer, and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-memory-01508)"},
+    {VALIDATION_ERROR_17000ed4, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_CREATE_PROTECTED_BIT bit set, the buffer must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-None-01898)"},
+    {VALIDATION_ERROR_17000ed6, "The spec valid usage text states 'If buffer was created with the VK_BUFFER_CREATE_PROTECTED_BIT bit not set, the buffer must not be bound to a memory object created with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindBufferMemory-None-01899)"},
     {VALIDATION_ERROR_17001a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-buffer-parameter)"},
     {VALIDATION_ERROR_17001a07, "The spec valid usage text states 'buffer must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-buffer-parent)"},
     {VALIDATION_ERROR_17005601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-device-parameter)"},
@@ -5405,8 +5603,10 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_17400834, "The spec valid usage text states 'If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to an image handle created with identical creation parameters to image and memoryOffset must be zero' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-image-01050)"},
     {VALIDATION_ERROR_17400836, "The spec valid usage text states 'If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-01051)"},
     {VALIDATION_ERROR_17400b4a, "The spec valid usage text states 'If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-image-01445)"},
-    {VALIDATION_ERROR_17400bca, "The spec valid usage text states 'If the VkmemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfoKHR in its pNext chain, and VkMemoryDedicatedAllocateInfoKHR::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfoKHR::image and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-memory-01509)"},
+    {VALIDATION_ERROR_17400bca, "The spec valid usage text states 'If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-memory-01509)"},
     {VALIDATION_ERROR_17400c90, "The spec valid usage text states 'image must not have been created with the VK_IMAGE_CREATE_DISJOINT_BIT set.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-image-01608)"},
+    {VALIDATION_ERROR_17400eda, "The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_PROTECTED_BIT bit set, the image must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-None-01901)"},
+    {VALIDATION_ERROR_17400edc, "The spec valid usage text states 'If image was created with the VK_IMAGE_CREATE_PROTECTED_BIT bit not set, the image must not be bound to a memory object created with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkBindImageMemory-None-01902)"},
     {VALIDATION_ERROR_17405601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-device-parameter)"},
     {VALIDATION_ERROR_1740a001, "The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-parameter)"},
     {VALIDATION_ERROR_1740a007, "The spec valid usage text states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-parent)"},
@@ -5427,6 +5627,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1780064c, "The spec valid usage text states 'All queries used by the command must not be active' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-None-00806)"},
     {VALIDATION_ERROR_1780064e, "The spec valid usage text states 'All queries used by the command must be unavailable' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-None-00807)"},
     {VALIDATION_ERROR_17800650, "The spec valid usage text states 'If vkCmdBeginQuery is called within a render pass instance, the sum of query and the number of bits set in the current subpass's view mask must be less than or equal to the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-query-00808)"},
+    {VALIDATION_ERROR_17800eba, "The spec valid usage text states 'commandBuffer must not be a protected command buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-01885)"},
     {VALIDATION_ERROR_17802401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-parameter)"},
     {VALIDATION_ERROR_17802413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-recording)"},
     {VALIDATION_ERROR_17802415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commandBuffer-cmdpool)"},
@@ -5528,6 +5729,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_18400d54, "The spec valid usage text states 'The dstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-dstSubresource-01706)"},
     {VALIDATION_ERROR_18400d56, "The spec valid usage text states 'The srcSubresource.baseArrayLayer + srcSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-srcSubresource-01707)"},
     {VALIDATION_ERROR_18400d58, "The spec valid usage text states 'The dstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-dstSubresource-01708)"},
+    {VALIDATION_ERROR_18400e54, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-01834)"},
+    {VALIDATION_ERROR_18400e56, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-01835)"},
+    {VALIDATION_ERROR_18400e58, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-01836)"},
     {VALIDATION_ERROR_18402401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-parameter)"},
     {VALIDATION_ERROR_18402413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-recording)"},
     {VALIDATION_ERROR_18402415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBlitImage-commandBuffer-cmdpool)"},
@@ -5564,6 +5768,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_18800c12, "The spec valid usage text states 'image must not use a format listed in features-formats-requiring-sampler-ycbcr-conversion' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearColorImage-image-01545)"},
     {VALIDATION_ERROR_18800d38, "The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the levelCount member is not VK_REMAINING_MIP_LEVELS, then baseMipLevel + levelCount must be less than the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-pRanges-01692)"},
     {VALIDATION_ERROR_18800d3a, "The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the layerCount member is not VK_REMAINING_ARRAY_LAYERS, then baseArrayLayer + layerCount must be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-pRanges-01693)"},
+    {VALIDATION_ERROR_18800e1a, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then image must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-01805)"},
+    {VALIDATION_ERROR_18800e1c, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then image must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-01806)"},
     {VALIDATION_ERROR_18802401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-parameter)"},
     {VALIDATION_ERROR_18802413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-recording)"},
     {VALIDATION_ERROR_18802415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearColorImage-commandBuffer-cmdpool)"},
@@ -5584,6 +5790,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_18a00b88, "The spec valid usage text states 'The VkImageSubresourceRange::baseArrayLayer members of the elements of the pRanges array must each be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-baseArrayLayer-01476)"},
     {VALIDATION_ERROR_18a00d3c, "The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the levelCount member is not VK_REMAINING_MIP_LEVELS, then baseMipLevel + levelCount must be less than the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-pRanges-01694)"},
     {VALIDATION_ERROR_18a00d3e, "The spec valid usage text states 'For each VkImageSubresourceRange element of pRanges, if the layerCount member is not VK_REMAINING_ARRAY_LAYERS, then baseArrayLayer + layerCount must be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-pRanges-01695)"},
+    {VALIDATION_ERROR_18a00e1e, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then image must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-01807)"},
+    {VALIDATION_ERROR_18a00e20, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then image must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-01808)"},
     {VALIDATION_ERROR_18a02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-parameter)"},
     {VALIDATION_ERROR_18a02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-recording)"},
     {VALIDATION_ERROR_18a02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdClearDepthStencilImage-commandBuffer-cmdpool)"},
@@ -5604,6 +5812,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_18c000ee, "The spec valid usage text states 'If srcBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-srcBuffer-00119)"},
     {VALIDATION_ERROR_18c000f0, "The spec valid usage text states 'dstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-dstBuffer-00120)"},
     {VALIDATION_ERROR_18c000f2, "The spec valid usage text states 'If dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-dstBuffer-00121)"},
+    {VALIDATION_ERROR_18c00e3c, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-01822)"},
+    {VALIDATION_ERROR_18c00e3e, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-01823)"},
+    {VALIDATION_ERROR_18c00e40, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-01824)"},
     {VALIDATION_ERROR_18c02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-parameter)"},
     {VALIDATION_ERROR_18c02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-recording)"},
     {VALIDATION_ERROR_18c02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-commandBuffer-cmdpool)"},
@@ -5628,6 +5839,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_18e00d4a, "The spec valid usage text states 'The imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-imageSubresource-01701)"},
     {VALIDATION_ERROR_18e00d4c, "The spec valid usage text states 'The imageSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-imageSubresource-01702)"},
     {VALIDATION_ERROR_18e00e02, "The spec valid usage text states 'The imageOffset and and imageExtent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-imageOffset-01793)"},
+    {VALIDATION_ERROR_18e00e48, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-01828)"},
+    {VALIDATION_ERROR_18e00e4a, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-01829)"},
+    {VALIDATION_ERROR_18e00e4c, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-01830)"},
     {VALIDATION_ERROR_18e02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-parameter)"},
     {VALIDATION_ERROR_18e02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-recording)"},
     {VALIDATION_ERROR_18e02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBufferToImage-commandBuffer-cmdpool)"},
@@ -5665,6 +5879,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_19000d46, "The spec valid usage text states 'The dstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-dstSubresource-01699)"},
     {VALIDATION_ERROR_19000dee, "The spec valid usage text states 'The srcOffset and and extent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-srcOffset-01783)"},
     {VALIDATION_ERROR_19000df0, "The spec valid usage text states 'The dstOffset and and extent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-dstOffset-01784)"},
+    {VALIDATION_ERROR_19000e42, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-01825)"},
+    {VALIDATION_ERROR_19000e44, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-01826)"},
+    {VALIDATION_ERROR_19000e46, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-01827)"},
     {VALIDATION_ERROR_19002401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-parameter)"},
     {VALIDATION_ERROR_19002413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-recording)"},
     {VALIDATION_ERROR_19002415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImage-commandBuffer-cmdpool)"},
@@ -5691,6 +5908,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_19200d4e, "The spec valid usage text states 'The imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-imageSubresource-01703)"},
     {VALIDATION_ERROR_19200d50, "The spec valid usage text states 'The imageSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-imageSubresource-01704)"},
     {VALIDATION_ERROR_19200e04, "The spec valid usage text states 'The imageOffset and and imageExtent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-imageOffset-01794)"},
+    {VALIDATION_ERROR_19200e4e, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-01831)"},
+    {VALIDATION_ERROR_19200e50, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-01832)"},
+    {VALIDATION_ERROR_19200e52, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-01833)"},
     {VALIDATION_ERROR_19202401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-parameter)"},
     {VALIDATION_ERROR_19202413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-recording)"},
     {VALIDATION_ERROR_19202415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyImageToBuffer-commandBuffer-cmdpool)"},
@@ -5745,6 +5965,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_19c0031c, "The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_LINEAR as a result of this command must be of a format which supports linear filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-linearTilingFeatures-00398)"},
     {VALIDATION_ERROR_19c0031e, "The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must be of a format which supports cubic filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-linearTilingFeatures-00399)"},
     {VALIDATION_ERROR_19c00320, "The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG 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' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-None-00400)"},
+    {VALIDATION_ERROR_19c00e68, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-01844)"},
+    {VALIDATION_ERROR_19c00e6a, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-01845)"},
+    {VALIDATION_ERROR_19c00e6c, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE reads from any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-01846)"},
     {VALIDATION_ERROR_19c02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-parameter)"},
     {VALIDATION_ERROR_19c02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-recording)"},
     {VALIDATION_ERROR_19c02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatch-commandBuffer-cmdpool)"},
@@ -5778,6 +6001,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1a00033c, "The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_LINEAR as a result of this command must be of a format which supports linear filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-linearTilingFeatures-00414)"},
     {VALIDATION_ERROR_1a00033e, "The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must be of a format which supports cubic filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-linearTilingFeatures-00415)"},
     {VALIDATION_ERROR_1a000340, "The spec valid usage text states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG 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' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-None-00416)"},
+    {VALIDATION_ERROR_1a000e6e, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-01847)"},
+    {VALIDATION_ERROR_1a000e70, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-01848)"},
+    {VALIDATION_ERROR_1a000e72, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE reads from any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-01849)"},
     {VALIDATION_ERROR_1a001a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-buffer-parameter)"},
     {VALIDATION_ERROR_1a002401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1a002413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDispatchIndirect-commandBuffer-recording)"},
@@ -5804,6 +6030,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1a20038a, "The spec valid usage text states 'If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-maxMultiviewInstanceIndex-00453)"},
     {VALIDATION_ERROR_1a200bb6, "The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-None-01499)"},
     {VALIDATION_ERROR_1a200bd0, "The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-sampleLocationsEnable-01512)"},
+    {VALIDATION_ERROR_1a200e74, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-01850)"},
+    {VALIDATION_ERROR_1a200e76, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-01851)"},
+    {VALIDATION_ERROR_1a200e78, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-01852)"},
     {VALIDATION_ERROR_1a202401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1a202413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-recording)"},
     {VALIDATION_ERROR_1a202415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDraw-commandBuffer-cmdpool)"},
@@ -5830,6 +6059,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1a4003b2, "The spec valid usage text states 'If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-00473)"},
     {VALIDATION_ERROR_1a400bb8, "The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-None-01500)"},
     {VALIDATION_ERROR_1a400bd2, "The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-sampleLocationsEnable-01513)"},
+    {VALIDATION_ERROR_1a400e7a, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-01853)"},
+    {VALIDATION_ERROR_1a400e7c, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-01854)"},
+    {VALIDATION_ERROR_1a400e7e, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-01855)"},
     {VALIDATION_ERROR_1a402401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1a402413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-recording)"},
     {VALIDATION_ERROR_1a402415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexed-commandBuffer-cmdpool)"},
@@ -5864,6 +6096,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1a600bbe, "The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-None-01503)"},
     {VALIDATION_ERROR_1a600bd8, "The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-sampleLocationsEnable-01516)"},
     {VALIDATION_ERROR_1a600d02, "The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-buffer-01665)"},
+    {VALIDATION_ERROR_1a600e8c, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-01862)"},
+    {VALIDATION_ERROR_1a600e8e, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-01863)"},
+    {VALIDATION_ERROR_1a600e90, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-01864)"},
     {VALIDATION_ERROR_1a601a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-buffer-parameter)"},
     {VALIDATION_ERROR_1a602401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1a602413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-commandBuffer-recording)"},
@@ -5900,6 +6135,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1a800d06, "The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-buffer-01667)"},
     {VALIDATION_ERROR_1a800d08, "The spec valid usage text states 'If countBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-countBuffer-01668)"},
     {VALIDATION_ERROR_1a800d0a, "The spec valid usage text states 'countBuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-countBuffer-01669)"},
+    {VALIDATION_ERROR_1a800e92, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01865)"},
+    {VALIDATION_ERROR_1a800e94, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01866)"},
+    {VALIDATION_ERROR_1a800e96, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01867)"},
     {VALIDATION_ERROR_1a801a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-buffer-parameter)"},
     {VALIDATION_ERROR_1a802401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1a802413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-recording)"},
@@ -5936,6 +6174,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1aa00bba, "The spec valid usage text states 'Image subresources used as attachments in the current render pass must not be accessed in any way other than as an attachment by this command.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-None-01501)"},
     {VALIDATION_ERROR_1aa00bd4, "The spec valid usage text states 'If the currently bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-sampleLocationsEnable-01514)"},
     {VALIDATION_ERROR_1aa00cf8, "The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-buffer-01660)"},
+    {VALIDATION_ERROR_1aa00e80, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-01856)"},
+    {VALIDATION_ERROR_1aa00e82, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-01857)"},
+    {VALIDATION_ERROR_1aa00e84, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-01858)"},
     {VALIDATION_ERROR_1aa01a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-buffer-parameter)"},
     {VALIDATION_ERROR_1aa02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1aa02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirect-commandBuffer-recording)"},
@@ -5972,6 +6213,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1ac00cfc, "The spec valid usage text states 'buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-buffer-01662)"},
     {VALIDATION_ERROR_1ac00cfe, "The spec valid usage text states 'If countBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-countBuffer-01663)"},
     {VALIDATION_ERROR_1ac00d00, "The spec valid usage text states 'countBuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-countBuffer-01664)"},
+    {VALIDATION_ERROR_1ac00e86, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01859)"},
+    {VALIDATION_ERROR_1ac00e88, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01860)"},
+    {VALIDATION_ERROR_1ac00e8a, "The spec valid usage text states 'If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01861)"},
     {VALIDATION_ERROR_1ac01a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-buffer-parameter)"},
     {VALIDATION_ERROR_1ac02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1ac02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-recording)"},
@@ -5982,6 +6226,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1ae00654, "The spec valid usage text states 'query must be less than the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-query-00810)"},
     {VALIDATION_ERROR_1ae00656, "The spec valid usage text states 'All queries used by the command must be active' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndQuery-None-00811)"},
     {VALIDATION_ERROR_1ae00658, "The spec valid usage text states 'If vkCmdEndQuery is called within a render pass instance, the sum of query and the number of bits set in the current subpass's view mask must be less than or equal to the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndQuery-query-00812)"},
+    {VALIDATION_ERROR_1ae00ebc, "The spec valid usage text states 'commandBuffer must not be a protected command buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-01886)"},
     {VALIDATION_ERROR_1ae02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1ae02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-recording)"},
     {VALIDATION_ERROR_1ae02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdEndQuery-commandBuffer-cmdpool)"},
@@ -6013,6 +6258,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1b2000ce, "The spec valid usage text states 'If commandBuffer has a VK_QUERY_TYPE_OCCLUSION query active, then each element of pCommandBuffers must have been recorded with VkCommandBufferInheritanceInfo::queryFlags having all bits set that are set for the query' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-00103)"},
     {VALIDATION_ERROR_1b2000d0, "The spec valid usage text states 'If commandBuffer has a VK_QUERY_TYPE_PIPELINE_STATISTICS query active, then each element of pCommandBuffers must have been recorded with VkCommandBufferInheritanceInfo::pipelineStatistics having all bits set that are set in the VkQueryPool the query uses' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-00104)"},
     {VALIDATION_ERROR_1b2000d2, "The spec valid usage text states 'Each element of pCommandBuffers must not begin any query types that are active in commandBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-pCommandBuffers-00105)"},
+    {VALIDATION_ERROR_1b200e38, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then each element of pCommandBuffers must be a protected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-01820)"},
+    {VALIDATION_ERROR_1b200e3a, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then each element of pCommandBuffers must be an unprotected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-01821)"},
     {VALIDATION_ERROR_1b202401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1b202413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-recording)"},
     {VALIDATION_ERROR_1b202415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdExecuteCommands-commandBuffer-cmdpool)"},
@@ -6028,6 +6275,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1b40003a, "The spec valid usage text states 'dstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-dstBuffer-00029)"},
     {VALIDATION_ERROR_1b40003c, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-00030)"},
     {VALIDATION_ERROR_1b40003e, "The spec valid usage text states 'If dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-dstBuffer-00031)"},
+    {VALIDATION_ERROR_1b400e26, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-01811)"},
+    {VALIDATION_ERROR_1b400e28, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-01812)"},
     {VALIDATION_ERROR_1b402401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1b402413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-recording)"},
     {VALIDATION_ERROR_1b402415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdFillBuffer-commandBuffer-cmdpool)"},
@@ -6159,6 +6408,9 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1c800d5c, "The spec valid usage text states 'The dstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-dstSubresource-01710)"},
     {VALIDATION_ERROR_1c800d5e, "The spec valid usage text states 'The srcSubresource.baseArrayLayer + srcSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-srcSubresource-01711)"},
     {VALIDATION_ERROR_1c800d60, "The spec valid usage text states 'The dstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-dstSubresource-01712)"},
+    {VALIDATION_ERROR_1c800e5a, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-01837)"},
+    {VALIDATION_ERROR_1c800e5c, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-01838)"},
+    {VALIDATION_ERROR_1c800e5e, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-01839)"},
     {VALIDATION_ERROR_1c802401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1c802413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-recording)"},
     {VALIDATION_ERROR_1c802415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdResolveImage-commandBuffer-cmdpool)"},
@@ -6275,6 +6527,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_1e400048, "The spec valid usage text states 'dstOffset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-dstOffset-00036)"},
     {VALIDATION_ERROR_1e40004a, "The spec valid usage text states 'dataSize must be less than or equal to 65536' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-dataSize-00037)"},
     {VALIDATION_ERROR_1e40004c, "The spec valid usage text states 'dataSize must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-dataSize-00038)"},
+    {VALIDATION_ERROR_1e400e2a, "The spec valid usage text states 'If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-01813)"},
+    {VALIDATION_ERROR_1e400e2c, "The spec valid usage text states 'If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-01814)"},
     {VALIDATION_ERROR_1e402401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-parameter)"},
     {VALIDATION_ERROR_1e402413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-recording)"},
     {VALIDATION_ERROR_1e402415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdUpdateBuffer-commandBuffer-cmdpool)"},
@@ -6674,6 +6928,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_27400078, "The spec valid usage text states 'If commandBuffer is a primary command buffer, there must not be an active render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-00060)"},
     {VALIDATION_ERROR_2740007a, "The spec valid usage text states 'All queries made active during the recording of commandBuffer must have been made inactive' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-00061)"},
     {VALIDATION_ERROR_2740007c, "The spec valid usage text states 'If commandBuffer is a secondary command buffer, there must not be an outstanding vkCmdDebugMarkerBeginEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdDebugMarkerEndEXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-00062)"},
+    {VALIDATION_ERROR_27400e2e, "The spec valid usage text states 'If commandBuffer is a secondary command buffer, there must not be an outstanding vkCmdBeginUtilsLabelEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdEndDebugUtilsLabelEXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-01815)"},
     {VALIDATION_ERROR_27402401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEndCommandBuffer-commandBuffer-parameter)"},
     {VALIDATION_ERROR_27619e01, "The spec valid usage text states 'If pLayerName is not NULL, pLayerName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumerateDeviceExtensionProperties-pLayerName-parameter)"},
     {VALIDATION_ERROR_2761f401, "The spec valid usage text states 'If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount VkExtensionProperties structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumerateDeviceExtensionProperties-pProperties-parameter)"},
@@ -6743,6 +6998,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_2941c001, "The spec valid usage text states 'pName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceProcAddr-pName-parameter)"},
     {VALIDATION_ERROR_29600300, "The spec valid usage text states 'queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-queueFamilyIndex-00384)"},
     {VALIDATION_ERROR_29600302, "The spec valid usage text states 'queueIndex must be less than the number of queues created for the specified queue family index when device was created, via the queueCount member of the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-queueIndex-00385)"},
+    {VALIDATION_ERROR_29600e62, "The spec valid usage text states 'VkDeviceQueueCreateInfo::flags must have been set to zero when device was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-flags-01841)"},
     {VALIDATION_ERROR_29605601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-device-parameter)"},
     {VALIDATION_ERROR_2961fc01, "The spec valid usage text states 'pQueue must be a valid pointer to a VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetDeviceQueue-pQueue-parameter)"},
     {VALIDATION_ERROR_29806001, "The spec valid usage text states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDisplayModePropertiesKHR-display-parameter)"},
@@ -6777,6 +7033,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_2a600c5c, "The spec valid usage text states 'If the format of image is a multi-planar format with three planes, the aspectMask member of pSubresource must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetImageSubresourceLayout-format-01582)"},
     {VALIDATION_ERROR_2a600d68, "The spec valid usage text states 'The mipLevel member of pSubresource must be less than the mipLevels specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-mipLevel-01716)"},
     {VALIDATION_ERROR_2a600d6a, "The spec valid usage text states 'The arrayLayer member of pSubresource must be less than the arrayLayers specified in VkImageCreateInfo when image was created' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-arrayLayer-01717)"},
+    {VALIDATION_ERROR_2a600ece, "The spec valid usage text states 'If image was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then image must be bound to memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetImageSubresourceLayout-image-01895)"},
     {VALIDATION_ERROR_2a605601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-device-parameter)"},
     {VALIDATION_ERROR_2a60a001, "The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-image-parameter)"},
     {VALIDATION_ERROR_2a60a007, "The spec valid usage text states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetImageSubresourceLayout-image-parent)"},
@@ -7109,7 +7366,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_3380d807, "The spec valid usage text states 'objectTable must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUnregisterObjectsNVX-objectTable-parent)"},
     {VALIDATION_ERROR_3381c801, "The spec valid usage text states 'pObjectEntryTypes must be a valid pointer to an array of objectCount valid VkObjectEntryTypeNVX values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUnregisterObjectsNVX-pObjectEntryTypes-parameter)"},
     {VALIDATION_ERROR_3381cc01, "The spec valid usage text states 'pObjectIndices must be a valid pointer to an array of objectCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUnregisterObjectsNVX-pObjectIndices-parameter)"},
-    {VALIDATION_ERROR_33a00d2a, "The spec valid usage text states 'pData must be a valid pointer to a memory that contains one or more valid instances of VkDescriptorImageInfo, VkDescriptorBufferInfo, or VkBufferView in a layout defined by descriptorUpdateTemplate when it was created with vkCreateDescriptorUpdateTemplate' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-01685)"},
+    {VALIDATION_ERROR_33a00d2a, "The spec valid usage text states 'pData must be a valid pointer to a memory that contains one or more valid instances of VkDescriptorImageInfo, VkDescriptorBufferInfo, or VkBufferView in a layout defined by descriptorUpdateTemplate when it was created with vkCreateDescriptorUpdateTemplate' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-pData-01685)"},
     {VALIDATION_ERROR_33a04801, "The spec valid usage text states 'descriptorSet must be a valid VkDescriptorSet handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-descriptorSet-parameter)"},
     {VALIDATION_ERROR_33a05201, "The spec valid usage text states 'descriptorUpdateTemplate must be a valid VkDescriptorUpdateTemplate handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-descriptorUpdateTemplate-parameter)"},
     {VALIDATION_ERROR_33a05207, "The spec valid usage text states 'descriptorUpdateTemplate must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplate-descriptorUpdateTemplate-parent)"},
@@ -7127,7 +7384,7 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_3402b00f, "The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceProperties2-sType-unique)"},
     {VALIDATION_ERROR_3421c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkFormatProperties2-pNext-pNext)"},
     {VALIDATION_ERROR_3422b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkFormatProperties2-sType-sType)"},
-    {VALIDATION_ERROR_3441c40d, "The spec valid usage text states '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 VkExternalImageFormatProperties, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-pNext-pNext)"},
+    {VALIDATION_ERROR_3441c40d, "The spec valid usage text states '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 VkAndroidHardwareBufferUsageANDROID, VkExternalImageFormatProperties, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-pNext-pNext)"},
     {VALIDATION_ERROR_3442b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-sType-sType)"},
     {VALIDATION_ERROR_3442b00f, "The spec valid usage text states 'Each sType member in the pNext chain must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatProperties2-sType-unique)"},
     {VALIDATION_ERROR_3461c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceMemoryProperties2-pNext-pNext)"},
@@ -7280,9 +7537,11 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_3b800b34, "The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must have been created without VK_IMAGE_CREATE_SPARSE_BINDING_BIT set in VkImageCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-01434)"},
     {VALIDATION_ERROR_3b800b36, "The spec valid usage text states 'If buffer is not VK_NULL_HANDLE, VkMemoryAllocateInfo::allocationSize must equal the VkMemoryRequirements::size of the buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-01435)"},
     {VALIDATION_ERROR_3b800b38, "The spec valid usage text states 'If buffer is not VK_NULL_HANDLE, buffer must have been created without VK_BUFFER_CREATE_SPARSE_BINDING_BIT set in VkBufferCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-01436)"},
-    {VALIDATION_ERROR_3b800b3a, "The spec valid usage text states 'If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-01437)"},
-    {VALIDATION_ERROR_3b800b3c, "The spec valid usage text states 'If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-01438)"},
-    {VALIDATION_ERROR_3b800e0a, "The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must not have been created with VK_IMAGE_CREATE_DISJOINT_BIT_KHR set in VkImageCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-image-01797)"},
+    {VALIDATION_ERROR_3b800e0a, "The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must not have been created with VK_IMAGE_CREATE_DISJOINT_BIT set in VkImageCreateInfo::flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-01797)"},
+    {VALIDATION_ERROR_3b800ea8, "The spec valid usage text states 'If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-image-01876)"},
+    {VALIDATION_ERROR_3b800eaa, "The spec valid usage text states 'If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01877)"},
+    {VALIDATION_ERROR_3b800eac, "The spec valid usage text states 'If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-image-01878)"},
+    {VALIDATION_ERROR_3b800eae, "The spec valid usage text states 'If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01879)"},
     {VALIDATION_ERROR_3b801a01, "The spec valid usage text states 'If buffer is not VK_NULL_HANDLE, buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-buffer-parameter)"},
     {VALIDATION_ERROR_3b80a001, "The spec valid usage text states 'If image is not VK_NULL_HANDLE, image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-image-parameter)"},
     {VALIDATION_ERROR_3b81c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryDedicatedAllocateInfo-pNext-pNext)"},
@@ -7290,9 +7549,10 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_3ba01a01, "The spec valid usage text states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferMemoryRequirementsInfo2-buffer-parameter)"},
     {VALIDATION_ERROR_3ba1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferMemoryRequirementsInfo2-pNext-pNext)"},
     {VALIDATION_ERROR_3ba2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferMemoryRequirementsInfo2-sType-sType)"},
-    {VALIDATION_ERROR_3bc00c6a, "The spec valid usage text states 'If image was created with a multi-planar format and the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01589)"},
-    {VALIDATION_ERROR_3bc00c6c, "The spec valid usage text states 'If image was not created with the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01590)"},
-    {VALIDATION_ERROR_3bc00c6e, "The spec valid usage text states 'If image was created with a single-plane format, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01591)"},
+    {VALIDATION_ERROR_3bc00c6a, "The spec valid usage text states 'If image was created with a multi-planar format and the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-01589)"},
+    {VALIDATION_ERROR_3bc00c6c, "The spec valid usage text states 'If image was not created with the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-01590)"},
+    {VALIDATION_ERROR_3bc00c6e, "The spec valid usage text states 'If image was created with a single-plane format, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-01591)"},
+    {VALIDATION_ERROR_3bc00ed2, "The spec valid usage text states 'If image was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then image must be bound to memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2KHR-image-01897)"},
     {VALIDATION_ERROR_3bc0a001, "The spec valid usage text states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-image-parameter)"},
     {VALIDATION_ERROR_3bc1c40d, "The spec valid usage text states 'pNext must be NULL or a pointer to a valid instance of VkImagePlaneMemoryRequirementsInfo' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-pNext-pNext)"},
     {VALIDATION_ERROR_3bc2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageMemoryRequirementsInfo2-sType-sType)"},
@@ -7384,14 +7644,14 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_3ec2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDevicePointClippingProperties-sType-sType)"},
     {VALIDATION_ERROR_3ee00c01, "The spec valid usage text states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-aspectMask-parameter)"},
     {VALIDATION_ERROR_3ee00c03, "The spec valid usage text states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-aspectMask-requiredbitmask)"},
-    {VALIDATION_ERROR_3ee00c40, "The spec valid usage text states 'There must be an input attachment at pCreateInfo::pSubpasses[subpass].pInputAttachments[inputAttachment].' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReferenceKHR-pCreateInfo-01568)"},
-    {VALIDATION_ERROR_3ee00c42, "The spec valid usage text states 'The specified input attachment must have more than one aspect mask.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReferenceKHR-None-01569)"},
-    {VALIDATION_ERROR_3ee00c44, "The spec valid usage text states 'aspectMask must be a subset of the aspect masks in the specified input attachment.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReferenceKHR-aspectMask-01570)"},
+    {VALIDATION_ERROR_3ee00c40, "The spec valid usage text states 'There must be an input attachment at pCreateInfo::pSubpasses[subpass].pInputAttachments[inputAttachmentIndex].' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-pCreateInfo-01568)"},
+    {VALIDATION_ERROR_3ee00c42, "The spec valid usage text states 'The specified input attachment must have more than one aspect mask.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-None-01569)"},
+    {VALIDATION_ERROR_3ee00c44, "The spec valid usage text states 'aspectMask must be a subset of the aspect masks in the specified input attachment.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkInputAttachmentAspectReference-aspectMask-01570)"},
     {VALIDATION_ERROR_3f01c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-pNext-pNext)"},
     {VALIDATION_ERROR_3f02b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-sType-sType)"},
     {VALIDATION_ERROR_3f03ce1b, "The spec valid usage text states 'aspectReferenceCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-aspectReferenceCount-arraylength)"},
     {VALIDATION_ERROR_3f03d001, "The spec valid usage text states 'pAspectReferences must be a valid pointer to an array of aspectReferenceCount valid VkInputAttachmentAspectReference structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkRenderPassInputAttachmentAspectCreateInfo-pAspectReferences-parameter)"},
-    {VALIDATION_ERROR_3f200c66, "The spec valid usage text states 'usage must not include any set bits that were not set in the usage member of the VkImageCreateInfo structure used to create the image this image view is created from.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfoKHR-usage-01587)"},
+    {VALIDATION_ERROR_3f200c66, "The spec valid usage text states 'usage must not include any set bits that were not set in the usage member of the VkImageCreateInfo structure used to create the image this image view is created from.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-usage-01587)"},
     {VALIDATION_ERROR_3f21c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-pNext-pNext)"},
     {VALIDATION_ERROR_3f22b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-sType-sType)"},
     {VALIDATION_ERROR_3f230601, "The spec valid usage text states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageViewUsageCreateInfo-usage-parameter)"},
@@ -7405,50 +7665,51 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_3f61c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatListCreateInfoKHR-pNext-pNext)"},
     {VALIDATION_ERROR_3f62b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatListCreateInfoKHR-sType-sType)"},
     {VALIDATION_ERROR_3f63e401, "The spec valid usage text states 'If viewFormatCount is not 0, pViewFormats must be a valid pointer to an array of viewFormatCount valid VkFormat values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImageFormatListCreateInfoKHR-pViewFormats-parameter)"},
-    {VALIDATION_ERROR_3f800ce2, "The spec valid usage text states 'format must not be VK_FORMAT_UNDEFINED' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01649)"},
-    {VALIDATION_ERROR_3f800ce4, "The spec valid usage text states 'format must support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01650)"},
-    {VALIDATION_ERROR_3f800ce6, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_COSITED_EVEN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01651)"},
-    {VALIDATION_ERROR_3f800ce8, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_MIDPOINT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01652)"},
-    {VALIDATION_ERROR_3f800cea, "The spec valid usage text states 'format must represent unsigned normalized values (i.e. the format must be a UNORM format)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01653)"},
-    {VALIDATION_ERROR_3f800cec, "The spec valid usage text states 'If the format has a _422 or _420 suffix:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-None-01654)"},
-    {VALIDATION_ERROR_3f800cee, "The spec valid usage text states 'If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to channels of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a channel which contains zero or one as a consequence of conversion to RGBA' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-ycbcrModel-01655)"},
-    {VALIDATION_ERROR_3f800cf0, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, forceExplicitReconstruction must be FALSE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-forceExplicitReconstruction-01656)"},
-    {VALIDATION_ERROR_3f800cf2, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, chromaFilter must be VK_FILTER_NEAREST' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-chromaFilter-01657)"},
+    {VALIDATION_ERROR_3f800ce2, "The spec valid usage text states 'format must not be VK_FORMAT_UNDEFINED' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-01649)"},
+    {VALIDATION_ERROR_3f800ce4, "The spec valid usage text states 'format must support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-01650)"},
+    {VALIDATION_ERROR_3f800ce6, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_COSITED_EVEN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01651)"},
+    {VALIDATION_ERROR_3f800ce8, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_MIDPOINT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01652)"},
+    {VALIDATION_ERROR_3f800cea, "The spec valid usage text states 'format must represent unsigned normalized values (i.e. the format must be a UNORM format)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-01653)"},
+    {VALIDATION_ERROR_3f800cec, "The spec valid usage text states 'If the format has a _422 or _420 suffix:' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-None-01654)"},
+    {VALIDATION_ERROR_3f800cee, "The spec valid usage text states 'If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to channels of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a channel which contains zero or one as a consequence of conversion to RGBA' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-01655)"},
+    {VALIDATION_ERROR_3f800cf0, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, forceExplicitReconstruction must be FALSE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-forceExplicitReconstruction-01656)"},
+    {VALIDATION_ERROR_3f800cf2, "The spec valid usage text states 'If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, chromaFilter must be VK_FILTER_NEAREST' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-01657)"},
+    {VALIDATION_ERROR_3f800ee0, "The spec valid usage text states 'If an external format conversion is being created, format must be VK_FORMAT_UNDEFINED, otherwise it must not be VK_FORMAT_UNDEFINED.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01904)"},
     {VALIDATION_ERROR_3f802c01, "The spec valid usage text states 'components must be a valid VkComponentMapping structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-components-parameter)"},
     {VALIDATION_ERROR_3f809201, "The spec valid usage text states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-format-parameter)"},
-    {VALIDATION_ERROR_3f81c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext)"},
+    {VALIDATION_ERROR_3f81c40d, "The spec valid usage text states 'pNext must be NULL or a pointer to a valid instance of VkExternalFormatANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext)"},
     {VALIDATION_ERROR_3f82b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-sType-sType)"},
     {VALIDATION_ERROR_3f83d401, "The spec valid usage text states 'ycbcrModel must be a valid VkSamplerYcbcrModelConversion value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-parameter)"},
     {VALIDATION_ERROR_3f83d601, "The spec valid usage text states 'ycbcrRange must be a valid VkSamplerYcbcrRange value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrRange-parameter)"},
     {VALIDATION_ERROR_3f83d801, "The spec valid usage text states 'xChromaOffset must be a valid VkChromaLocation value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-parameter)"},
     {VALIDATION_ERROR_3f83da01, "The spec valid usage text states 'yChromaOffset must be a valid VkChromaLocation value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-yChromaOffset-parameter)"},
     {VALIDATION_ERROR_3f83dc01, "The spec valid usage text states 'chromaFilter must be a valid VkFilter value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-parameter)"},
-    {VALIDATION_ERROR_3fa00cd4, "The spec valid usage text states 'planeAspect must be a single valid plane aspect for the image format (that is, planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT for \"_2PLANE\" formats and planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT for \"_3PLANE\" formats)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfoKHR-planeAspect-01642)"},
-    {VALIDATION_ERROR_3fa00cd6, "The spec valid usage text states 'A single call to vkBindImageMemory2 must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a single vkBindImageMemory2 call), as separate bindings' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfoKHR-None-01643)"},
+    {VALIDATION_ERROR_3fa00cd4, "The spec valid usage text states 'planeAspect must be a single valid plane aspect for the image format (that is, planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT for \"_2PLANE\" formats and planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT for \"_3PLANE\" formats)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-planeAspect-01642)"},
+    {VALIDATION_ERROR_3fa00cd6, "The spec valid usage text states 'A single call to vkBindImageMemory2 must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a single vkBindImageMemory2 call), as separate bindings' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-None-01643)"},
     {VALIDATION_ERROR_3fa2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-sType-sType)"},
     {VALIDATION_ERROR_3fa3de01, "The spec valid usage text states 'planeAspect must be a valid VkImageAspectFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImagePlaneMemoryInfo-planeAspect-parameter)"},
-    {VALIDATION_ERROR_3fc00c70, "The spec valid usage text states 'planeAspect must be an aspect that exists in the format; that is, for a two-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT, and for a three-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfoKHR-planeAspect-01592)"},
+    {VALIDATION_ERROR_3fc00c70, "The spec valid usage text states 'planeAspect must be an aspect that exists in the format; that is, for a two-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT, and for a three-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-01592)"},
     {VALIDATION_ERROR_3fc2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfo-sType-sType)"},
     {VALIDATION_ERROR_3fc3de01, "The spec valid usage text states 'planeAspect must be a valid VkImageAspectFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-parameter)"},
-    {VALIDATION_ERROR_3fe00ce0, "The spec valid usage text states 'The sampler Y'CBCR conversion feature must be enabled' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversionKHR-None-01648)"},
+    {VALIDATION_ERROR_3fe00ce0, "The spec valid usage text states 'The sampler Y'CBCR conversion feature must be enabled' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-None-01648)"},
     {VALIDATION_ERROR_3fe05601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-device-parameter)"},
     {VALIDATION_ERROR_3fe0ec01, "The spec valid usage text states 'If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-pAllocator-parameter)"},
     {VALIDATION_ERROR_3fe11e01, "The spec valid usage text states 'pCreateInfo must be a valid pointer to a valid VkSamplerYcbcrConversionCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-pCreateInfo-parameter)"},
     {VALIDATION_ERROR_3fe3e001, "The spec valid usage text states 'pYcbcrConversion must be a valid pointer to a VkSamplerYcbcrConversion handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateSamplerYcbcrConversion-pYcbcrConversion-parameter)"},
-    {VALIDATION_ERROR_40000c8c, "The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfoKHR-deviceIndexCount-01606)"},
-    {VALIDATION_ERROR_40000c8e, "The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfoKHR-pDeviceIndices-01607)"},
+    {VALIDATION_ERROR_40000c8c, "The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-deviceIndexCount-01606)"},
+    {VALIDATION_ERROR_40000c8e, "The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-01607)"},
     {VALIDATION_ERROR_40013e01, "The spec valid usage text states 'If deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-parameter)"},
     {VALIDATION_ERROR_4001c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-pNext-pNext)"},
     {VALIDATION_ERROR_4002b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindBufferMemoryDeviceGroupInfo-sType-sType)"},
-    {VALIDATION_ERROR_40200cc2, "The spec valid usage text states 'At least one of deviceIndexCount and splitInstanceBindRegionCount must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01633)"},
-    {VALIDATION_ERROR_40200cc4, "The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01634)"},
-    {VALIDATION_ERROR_40200cc6, "The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-pDeviceIndices-01635)"},
-    {VALIDATION_ERROR_40200cc8, "The spec valid usage text states 'splitInstanceBindRegionCount must either be zero or equal to the number of physical devices in the logical device squared' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-splitInstanceBindRegionCount-01636)"},
-    {VALIDATION_ERROR_40200cca, "The spec valid usage text states 'Elements of pSplitInstanceBindRegions that correspond to the same instance of an image must not overlap.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-pSplitInstanceBindRegions-01637)"},
-    {VALIDATION_ERROR_40200ccc, "The spec valid usage text states 'The offset.x member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01638)"},
-    {VALIDATION_ERROR_40200cce, "The spec valid usage text states 'The offset.y member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01639)"},
-    {VALIDATION_ERROR_40200cd0, "The spec valid usage text states 'The extent.width member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block width of all non-metadata aspects of the image, or else extent.width + offset.x must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01640)"},
-    {VALIDATION_ERROR_40200cd2, "The spec valid usage text states 'The extent.height member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block height of all non-metadata aspects of the image, or else extent.height offset.y must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01641)"},
+    {VALIDATION_ERROR_40200cc2, "The spec valid usage text states 'At least one of deviceIndexCount and splitInstanceBindRegionCount must be zero.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01633)"},
+    {VALIDATION_ERROR_40200cc4, "The spec valid usage text states 'deviceIndexCount must either be zero or equal to the number of physical devices in the logical device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01634)"},
+    {VALIDATION_ERROR_40200cc6, "The spec valid usage text states 'All elements of pDeviceIndices must be valid device indices.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-01635)"},
+    {VALIDATION_ERROR_40200cc8, "The spec valid usage text states 'splitInstanceBindRegionCount must either be zero or equal to the number of physical devices in the logical device squared' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-splitInstanceBindRegionCount-01636)"},
+    {VALIDATION_ERROR_40200cca, "The spec valid usage text states 'Elements of pSplitInstanceBindRegions that correspond to the same instance of an image must not overlap.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pSplitInstanceBindRegions-01637)"},
+    {VALIDATION_ERROR_40200ccc, "The spec valid usage text states 'The offset.x member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-offset-01638)"},
+    {VALIDATION_ERROR_40200cce, "The spec valid usage text states 'The offset.y member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of all non-metadata aspects of the image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-offset-01639)"},
+    {VALIDATION_ERROR_40200cd0, "The spec valid usage text states 'The extent.width member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block width of all non-metadata aspects of the image, or else extent.width + offset.x must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-extent-01640)"},
+    {VALIDATION_ERROR_40200cd2, "The spec valid usage text states 'The extent.height member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block height of all non-metadata aspects of the image, or else extent.height offset.y must equal the width of the image subresource' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-extent-01641)"},
     {VALIDATION_ERROR_40213e01, "The spec valid usage text states 'If deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-parameter)"},
     {VALIDATION_ERROR_4021c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-pNext-pNext)"},
     {VALIDATION_ERROR_4022b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBindImageMemoryDeviceGroupInfo-sType-sType)"},
@@ -7509,6 +7770,8 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_41e28401, "The spec valid usage text states 'pipelineStage must be a valid VkPipelineStageFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameter)"},
     {VALIDATION_ERROR_4201c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutSupport-pNext-pNext)"},
     {VALIDATION_ERROR_4202b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutSupport-sType-sType)"},
+    {VALIDATION_ERROR_42200e64, "The spec valid usage text states 'queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-queueFamilyIndex-01842)"},
+    {VALIDATION_ERROR_42200e66, "The spec valid usage text states 'queueIndex must be less than the number of queues created for the specified queue family index and VkDeviceQueueCreateFlags member flags equal to this flags value when device was created, via the queueCount member of the VkDeviceQueueCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-queueIndex-01843)"},
     {VALIDATION_ERROR_42209001, "The spec valid usage text states 'flags must be a valid combination of VkDeviceQueueCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-flags-parameter)"},
     {VALIDATION_ERROR_42209003, "The spec valid usage text states 'flags must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-flags-requiredbitmask)"},
     {VALIDATION_ERROR_4221c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDeviceQueueInfo2-pNext-pNext)"},
@@ -7522,6 +7785,10 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_42a2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceShaderDrawParameterFeatures-sType-sType)"},
     {VALIDATION_ERROR_42c1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceSubgroupProperties-pNext-pNext)"},
     {VALIDATION_ERROR_42c2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceSubgroupProperties-sType-sType)"},
+    {VALIDATION_ERROR_42e00e30, "The spec valid usage text states 'If the protected memory feature is not enabled, protectedSubmit must not be VK_TRUE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-protectedSubmit-01816)"},
+    {VALIDATION_ERROR_42e00e32, "The spec valid usage text states 'If protectedSubmit is VK_TRUE, then each element of the pCommandBuffers array must be a protected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-protectedSubmit-01817)"},
+    {VALIDATION_ERROR_42e00e34, "The spec valid usage text states 'If protectedSubmit is VK_FALSE, then each element of the pCommandBuffers array must be an unprotected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-protectedSubmit-01818)"},
+    {VALIDATION_ERROR_42e00e36, "The spec valid usage text states 'If the VkSubmitInfo::pNext chain does not include a VkProtectedSubmitInfo structure, then each element of the command buffer of the pCommandBuffers array must be an unprotected command buffer.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-pNext-01819)"},
     {VALIDATION_ERROR_42e1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-pNext-pNext)"},
     {VALIDATION_ERROR_42e2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkProtectedSubmitInfo-sType-sType)"},
     {VALIDATION_ERROR_43040001, "The spec valid usage text states 'pApiVersion must be a valid pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkEnumerateInstanceVersion-pApiVersion-parameter)"},
@@ -7531,6 +7798,97 @@ static std::unordered_map<int, char const *const> validation_error_map{
     {VALIDATION_ERROR_43405601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDeviceQueue2-device-parameter)"},
     {VALIDATION_ERROR_4341fc01, "The spec valid usage text states 'pQueue must be a valid pointer to a VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDeviceQueue2-pQueue-parameter)"},
     {VALIDATION_ERROR_43440401, "The spec valid usage text states 'pQueueInfo must be a valid pointer to a valid VkDeviceQueueInfo2 structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetDeviceQueue2-pQueueInfo-parameter)"},
+    {VALIDATION_ERROR_43600ee2, "The spec valid usage text states 'objectType must not be VK_OBJECT_TYPE_UNKNOWN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectType-01905)"},
+    {VALIDATION_ERROR_43600ee4, "The spec valid usage text states 'objectHandle must not be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01906)"},
+    {VALIDATION_ERROR_43600ee6, "The spec valid usage text states 'objectHandle must be a Vulkan object of the type associated with objectType as defined in debugging-object-types.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01907)"},
+    {VALIDATION_ERROR_4360da01, "The spec valid usage text states 'objectType must be a valid VkObjectType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-objectType-parameter)"},
+    {VALIDATION_ERROR_4361c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-pNext-pNext)"},
+    {VALIDATION_ERROR_4361ce01, "The spec valid usage text states 'If pObjectName is not NULL, pObjectName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-pObjectName-parameter)"},
+    {VALIDATION_ERROR_4362b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectNameInfoEXT-sType-sType)"},
+    {VALIDATION_ERROR_43800ee8, "The spec valid usage text states 'objectType must not be VK_OBJECT_TYPE_UNKNOWN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectType-01908)"},
+    {VALIDATION_ERROR_43800eea, "The spec valid usage text states 'objectHandle must not be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01909)"},
+    {VALIDATION_ERROR_43800eec, "The spec valid usage text states 'objectHandle must be a Vulkan object of the type associated with objectType as defined in debugging-object-types.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01910)"},
+    {VALIDATION_ERROR_4380da01, "The spec valid usage text states 'objectType must be a valid VkObjectType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-objectType-parameter)"},
+    {VALIDATION_ERROR_4381c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-pNext-pNext)"},
+    {VALIDATION_ERROR_43825a01, "The spec valid usage text states 'pTag must be a valid pointer to an array of tagSize bytes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-pTag-parameter)"},
+    {VALIDATION_ERROR_4382b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-sType-sType)"},
+    {VALIDATION_ERROR_4382f41b, "The spec valid usage text states 'tagSize must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsObjectTagInfoEXT-tagSize-arraylength)"},
+    {VALIDATION_ERROR_43a1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsLabelEXT-pNext-pNext)"},
+    {VALIDATION_ERROR_43a2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsLabelEXT-sType-sType)"},
+    {VALIDATION_ERROR_43a40801, "The spec valid usage text states 'pLabelName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsLabelEXT-pLabelName-parameter)"},
+    {VALIDATION_ERROR_43c09005, "The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask)"},
+    {VALIDATION_ERROR_43c0d61b, "The spec valid usage text states 'objectCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-objectCount-arraylength)"},
+    {VALIDATION_ERROR_43c1b801, "The spec valid usage text states 'pMessage must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter)"},
+    {VALIDATION_ERROR_43c1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext)"},
+    {VALIDATION_ERROR_43c2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-sType)"},
+    {VALIDATION_ERROR_43c42201, "The spec valid usage text states 'If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter)"},
+    {VALIDATION_ERROR_43e00ef4, "The spec valid usage text states 'pfnUserCallback must be a valid PFN_vkDebugUtilsMessengerCallbackEXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914)"},
+    {VALIDATION_ERROR_43e09005, "The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-flags-zerobitmask)"},
+    {VALIDATION_ERROR_43e1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-pNext-pNext)"},
+    {VALIDATION_ERROR_43e2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-sType-sType)"},
+    {VALIDATION_ERROR_43e40a01, "The spec valid usage text states 'messageSeverity must be a valid combination of VkDebugUtilsMessageSeverityFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-parameter)"},
+    {VALIDATION_ERROR_43e40a03, "The spec valid usage text states 'messageSeverity must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-requiredbitmask)"},
+    {VALIDATION_ERROR_43e40c01, "The spec valid usage text states 'messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter)"},
+    {VALIDATION_ERROR_43e40c03, "The spec valid usage text states 'messageType must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-requiredbitmask)"},
+    {VALIDATION_ERROR_4400bc01, "The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-instance-parameter)"},
+    {VALIDATION_ERROR_4400ec01, "The spec valid usage text states 'If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-pAllocator-parameter)"},
+    {VALIDATION_ERROR_44011e01, "The spec valid usage text states 'pCreateInfo must be a valid pointer to a valid VkDebugUtilsMessengerCreateInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-pCreateInfo-parameter)"},
+    {VALIDATION_ERROR_44041001, "The spec valid usage text states 'pMessenger must be a valid pointer to a VkDebugUtilsMessengerEXT handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCreateDebugUtilsMessengerEXT-pMessenger-parameter)"},
+    {VALIDATION_ERROR_4420bc01, "The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-instance-parameter)"},
+    {VALIDATION_ERROR_44240a01, "The spec valid usage text states 'messageSeverity must be a valid VkDebugUtilsMessageSeverityFlagBitsEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-messageSeverity-parameter)"},
+    {VALIDATION_ERROR_44241201, "The spec valid usage text states 'messageTypes must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-parameter)"},
+    {VALIDATION_ERROR_44241203, "The spec valid usage text states 'messageTypes must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-requiredbitmask)"},
+    {VALIDATION_ERROR_44242801, "The spec valid usage text states 'pCallbackData must be a valid pointer to a valid VkDebugUtilsMessengerCallbackDataEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSubmitDebugUtilsMessageEXT-pCallbackData-parameter)"},
     {VALIDATION_ERROR_4441c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-pNext-pNext)"},
     {VALIDATION_ERROR_4442b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-sType-sType)"},
+    {VALIDATION_ERROR_44800ecc, "The spec valid usage text states 'externalFormat must be 0 or a value returned in the externalFormat member of VkAndroidHardwareBufferFormatPropertiesANDROID by an earlier call to vkGetAndroidHardwareBufferPropertiesANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkExternalFormatANDROID-externalFormat-01894)"},
+    {VALIDATION_ERROR_4481c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkExternalFormatANDROID-pNext-pNext)"},
+    {VALIDATION_ERROR_4482b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkExternalFormatANDROID-sType-sType)"},
+    {VALIDATION_ERROR_44a00eb0, "The spec valid usage text states 'If buffer is not NULL, Android hardware buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880)"},
+    {VALIDATION_ERROR_44a00eb2, "The spec valid usage text states 'If buffer is not NULL, it must be a valid Android hardware buffer object with format and usage compatible with Vulkan as described by VkExternalMemoryHandleTypeFlagBits.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881)"},
+    {VALIDATION_ERROR_44a01a01, "The spec valid usage text states 'buffer must be a valid pointer to a AHardwareBuffer value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameter)"},
+    {VALIDATION_ERROR_44a1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-pNext-pNext)"},
+    {VALIDATION_ERROR_44a2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType)"},
+    {VALIDATION_ERROR_44c00eb4, "The spec valid usage text states 'VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must have been included in VkExportMemoryAllocateInfoKHR::handleTypes when memory was created.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882)"},
+    {VALIDATION_ERROR_44c00eb6, "The spec valid usage text states 'If the pNext chain of the VkMemoryAllocateInfo used to allocate memory included a VkMemoryDedicatedAllocateInfo with non-NULL image member, then that image must already be bound to memory.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883)"},
+    {VALIDATION_ERROR_44e00ef0, "The spec valid usage text states 'There must be an outstanding vkCmdBeginDebugUtilsLabelEXT command prior to the vkCmdEndDebugUtilsLabelEXT on the queue that commandBuffer is submitted to' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912)"},
+    {VALIDATION_ERROR_44e00ef2, "The spec valid usage text states 'If commandBuffer is a secondary command buffer, there must be an outstanding vkCmdBeginDebugUtilsLabelEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdEndDebugUtilsLabelEXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01913)"},
+    {VALIDATION_ERROR_44e02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-parameter)"},
+    {VALIDATION_ERROR_44e02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-recording)"},
+    {VALIDATION_ERROR_44e02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-cmdpool)"},
+    {VALIDATION_ERROR_45000ef6, "The spec valid usage text states 'If VkAllocationCallbacks were provided when messenger was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01915)"},
+    {VALIDATION_ERROR_45000ef8, "The spec valid usage text states 'If no VkAllocationCallbacks were provided when messenger was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01916)"},
+    {VALIDATION_ERROR_4500bc01, "The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-instance-parameter)"},
+    {VALIDATION_ERROR_4500ec01, "The spec valid usage text states 'If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-pAllocator-parameter)"},
+    {VALIDATION_ERROR_45042601, "The spec valid usage text states 'messenger must be a valid VkDebugUtilsMessengerEXT handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parameter)"},
+    {VALIDATION_ERROR_45042607, "The spec valid usage text states 'messenger must have been created, allocated, or retrieved from instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parent)"},
+    {VALIDATION_ERROR_45200eb8, "The spec valid usage text states 'buffer must be a valid Android hardware buffer object with at least one of the AHARDWAREBUFFER_USAGE_GPU_* usage flags.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884)"},
+    {VALIDATION_ERROR_45201a01, "The spec valid usage text states 'buffer must be a valid pointer to a valid AHardwareBuffer value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-parameter)"},
+    {VALIDATION_ERROR_45205601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter)"},
+    {VALIDATION_ERROR_4521f401, "The spec valid usage text states 'pProperties must be a valid pointer to a VkAndroidHardwareBufferPropertiesANDROID structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameter)"},
+    {VALIDATION_ERROR_45400eee, "The spec valid usage text states 'There must be an outstanding vkQueueBeginDebugUtilsLabelEXT command prior to the vkQueueEndDebugUtilsLabelEXT on the queue' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueEndDebugUtilsLabelEXT-None-01911)"},
+    {VALIDATION_ERROR_45429c01, "The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueEndDebugUtilsLabelEXT-queue-parameter)"},
+    {VALIDATION_ERROR_4561c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferUsageANDROID-pNext-pNext)"},
+    {VALIDATION_ERROR_4562b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferUsageANDROID-sType-sType)"},
+    {VALIDATION_ERROR_45a05601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter)"},
+    {VALIDATION_ERROR_45a10001, "The spec valid usage text states 'pBuffer must be a valid pointer to a valid pointer to a AHardwareBuffer value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameter)"},
+    {VALIDATION_ERROR_45a39c01, "The spec valid usage text states 'pInfo must be a valid pointer to a valid VkMemoryGetAndroidHardwareBufferInfoANDROID structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameter)"},
+    {VALIDATION_ERROR_45c1c40d, "The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-pNext-pNext)"},
+    {VALIDATION_ERROR_45c2b00b, "The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType)"},
+    {VALIDATION_ERROR_45e02401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-parameter)"},
+    {VALIDATION_ERROR_45e02413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-recording)"},
+    {VALIDATION_ERROR_45e02415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-cmdpool)"},
+    {VALIDATION_ERROR_45e42401, "The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdBeginDebugUtilsLabelEXT-pLabelInfo-parameter)"},
+    {VALIDATION_ERROR_46002401, "The spec valid usage text states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-parameter)"},
+    {VALIDATION_ERROR_46002413, "The spec valid usage text states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-recording)"},
+    {VALIDATION_ERROR_46002415, "The spec valid usage text states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-cmdpool)"},
+    {VALIDATION_ERROR_46042401, "The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdInsertDebugUtilsLabelEXT-pLabelInfo-parameter)"},
+    {VALIDATION_ERROR_46229c01, "The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueBeginDebugUtilsLabelEXT-queue-parameter)"},
+    {VALIDATION_ERROR_46242401, "The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueBeginDebugUtilsLabelEXT-pLabelInfo-parameter)"},
+    {VALIDATION_ERROR_46429c01, "The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueInsertDebugUtilsLabelEXT-queue-parameter)"},
+    {VALIDATION_ERROR_46442401, "The spec valid usage text states 'pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueueInsertDebugUtilsLabelEXT-pLabelInfo-parameter)"},
+    {VALIDATION_ERROR_46605601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectNameEXT-device-parameter)"},
+    {VALIDATION_ERROR_4661c201, "The spec valid usage text states 'pNameInfo must be a valid pointer to a valid VkDebugUtilsObjectNameInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-parameter)"},
+    {VALIDATION_ERROR_46805601, "The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectTagEXT-device-parameter)"},
+    {VALIDATION_ERROR_46825c01, "The spec valid usage text states 'pTagInfo must be a valid pointer to a valid VkDebugUtilsObjectTagInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkSetDebugUtilsObjectTagEXT-pTagInfo-parameter)"},
 };
index 794a9a7..b0ed3a7 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_core_validation",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_core_validation.dll",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
index 8f1ccc8..dbee39c 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_object_tracker",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_object_tracker.dll",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
index a61e994..cd24d2b 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_parameter_validation",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_parameter_validation.dll",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
index 4fade57..42245a1 100644 (file)
@@ -3,7 +3,7 @@
     "layer": {
         "name": "VK_LAYER_LUNARG_standard_validation",
         "type": "GLOBAL",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "LunarG Standard Validation",
         "component_layers": [
index 5ad9774..823cdc7 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_threading",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_threading.dll",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "Google Validation Layer",
         "instance_extensions": [
index bf8a99c..27b4e58 100644 (file)
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_unique_objects",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_unique_objects.dll",
-        "api_version": "1.1.70",
+        "api_version": "1.1.71",
         "implementation_version": "1",
         "description": "Google Validation Layer"
     }
index 18139bb..7b1d801 100644 (file)
@@ -1,9 +1,9 @@
 {
   "version info": {
     "schema version": 2,
-    "api version": "1.1.70",
-    "comment": "from git branch: github-master commit: ab08f0951ef1ad9b84db93f971e113c1d9d55609",
-    "date": "2018-03-07 11:53:25Z"
+    "api version": "1.1.71",
+    "comment": "from git branch: github-master commit: e958791a01a51b816b4eb2c9e3777877b8d93bd2",
+    "date": "2018-03-17 11:09:58Z"
   },
   "validation": {
     "vkGetInstanceProcAddr": {
           "text": " If the <code>pNext</code> chain includes a <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a> structure, then <code>pEnabledFeatures</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
         }
       ],
+      "(VK_AMD_negative_viewport_height)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840",
+          "text": " <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> not contain <code>VK_AMD_negative_viewport_height</code>"
+        }
+      ],
       "(VK_AMD_negative_viewport_height)+!(VK_VERSION_1_1)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
         {
           "vuid": "VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374",
           "text": " <code>queueIndex</code> <strong class=\"purple\">must</strong> be less than the number of queues created for the specified queue family index when <code>device</code> was created, via the <code>queueCount</code> member of the <code>VkDeviceQueueCreateInfo</code> structure"
         },
         {
+          "vuid": "VUID-vkGetDeviceQueue-flags-01841",
+          "text": " <a href=\"#VkDeviceQueueCreateInfo\">VkDeviceQueueCreateInfo</a>::<code>flags</code> <strong class=\"purple\">must</strong> have been set to zero when <code>device</code> was created"
+        },
+        {
           "vuid": "VUID-vkGetDeviceQueue-device-parameter",
           "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <code>VkDevice</code> handle"
         },
     "VkDeviceQueueInfo2": {
       "(VK_VERSION_1_1)": [
         {
+          "vuid": "VUID-VkDeviceQueueInfo2-queueFamilyIndex-01842",
+          "text": " <code>queueFamilyIndex</code> <strong class=\"purple\">must</strong> be one of the queue family indices specified when <code>device</code> was created, via the <code>VkDeviceQueueCreateInfo</code> structure"
+        },
+        {
+          "vuid": "VUID-VkDeviceQueueInfo2-queueIndex-01843",
+          "text": " <code>queueIndex</code> <strong class=\"purple\">must</strong> be less than the number of queues created for the specified queue family index and <code>VkDeviceQueueCreateFlags</code> member <code>flags</code> equal to this <code>flags</code> value when <code>device</code> was created, via the <code>queueCount</code> member of the <code>VkDeviceQueueCreateInfo</code> structure"
+        },
+        {
           "vuid": "VUID-VkDeviceQueueInfo2-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2</code>"
         },
           "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
         }
       ],
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkEndCommandBuffer-commandBuffer-01815",
+          "text": " If <code>commandBuffer</code> is a secondary command buffer, there <strong class=\"purple\">must</strong> not be an outstanding <a href=\"#vkCmdBeginUtilsLabelEXT\">vkCmdBeginUtilsLabelEXT</a> command recorded to <code>commandBuffer</code> that has not previously been ended by a call to <a href=\"#vkCmdEndDebugUtilsLabelEXT\">vkCmdEndDebugUtilsLabelEXT</a>."
+        }
+      ],
       "(VK_EXT_debug_marker)": [
         {
           "vuid": "VUID-vkEndCommandBuffer-commandBuffer-00062",
     "VkProtectedSubmitInfo": {
       "(VK_VERSION_1_1)": [
         {
+          "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01816",
+          "text": " If the protected memory feature is not enabled, <code>protectedSubmit</code> <strong class=\"purple\">must</strong> not be <code>VK_TRUE</code>."
+        },
+        {
+          "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01817",
+          "text": " If <code>protectedSubmit</code> is <code>VK_TRUE</code>, then each element of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be a protected command buffer."
+        },
+        {
+          "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01818",
+          "text": " If <code>protectedSubmit</code> is <code>VK_FALSE</code>, then each element of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be an unprotected command buffer."
+        },
+        {
+          "vuid": "VUID-VkProtectedSubmitInfo-pNext-01819",
+          "text": " If the <code>VkSubmitInfo</code>::<code>pNext</code> chain does not include a <code>VkProtectedSubmitInfo</code> structure, then each element of the command buffer of the <code>pCommandBuffers</code> array <strong class=\"purple\">must</strong> be an unprotected command buffer."
+        },
+        {
           "vuid": "VUID-VkProtectedSubmitInfo-sType-sType",
           "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO</code>"
         },
           "vuid": "VUID-vkCmdExecuteCommands-commonparent",
           "text": " Both of <code>commandBuffer</code>, and the elements of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdExecuteCommands-commandBuffer-01820",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then each element of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> be a protected command buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdExecuteCommands-commandBuffer-01821",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then each element of <code>pCommandBuffers</code> <strong class=\"purple\">must</strong> be an unprotected command buffer."
+        }
       ]
     },
     "VkDeviceGroupCommandBufferBeginInfo": {
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-image-01672",
-          "text": " If <code>image</code> has a multi-planar format and the image is <em>disjoint</em>, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> include either at least one of <code>VK_IMAGE_ASPECT_PLANE_0_BIT_KHR</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT_KHR</code>, and <code>VK_IMAGE_ASPECT_PLANE_2_BIT_KHR</code>; or <strong class=\"purple\">must</strong> include <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
+          "text": " If <code>image</code> has a multi-planar format and the image is <em>disjoint</em>, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> include either at least one of <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, and <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>; or <strong class=\"purple\">must</strong> include <code>VK_IMAGE_ASPECT_COLOR_BIT</code>"
         },
         {
           "vuid": "VUID-VkImageMemoryBarrier-image-01673",
-          "text": " If <code>image</code> has a multi-planar format with only two planes, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_PLANE_2_BIT_KHR</code>"
+          "text": " If <code>image</code> has a multi-planar format with only two planes, then the <code>aspectMask</code> member of <code>subresourceRange</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_maintenance2)": [
     "VkInputAttachmentAspectReference": {
       "(VK_VERSION_1_1,VK_KHR_maintenance2)": [
         {
-          "vuid": "VUID-VkInputAttachmentAspectReferenceKHR-pCreateInfo-01568",
-          "text": " There <strong class=\"purple\">must</strong> be an input attachment at <code>pCreateInfo</code>::<code>pSubpasses</code>[<code>subpass</code>].<code>pInputAttachments</code>[<code>inputAttachment</code>]."
+          "vuid": "VUID-VkInputAttachmentAspectReference-pCreateInfo-01568",
+          "text": " There <strong class=\"purple\">must</strong> be an input attachment at <code>pCreateInfo</code>::<code>pSubpasses</code>[<code>subpass</code>].<code>pInputAttachments</code>[<code>inputAttachmentIndex</code>]."
         },
         {
-          "vuid": "VUID-VkInputAttachmentAspectReferenceKHR-None-01569",
+          "vuid": "VUID-VkInputAttachmentAspectReference-None-01569",
           "text": " The specified input attachment <strong class=\"purple\">must</strong> have more than one aspect mask."
         },
         {
-          "vuid": "VUID-VkInputAttachmentAspectReferenceKHR-aspectMask-01570",
+          "vuid": "VUID-VkInputAttachmentAspectReference-aspectMask-01570",
           "text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> be a subset of the aspect masks in the specified input attachment."
         },
         {
       ]
     },
     "VkMemoryAllocateInfo": {
-      "core": [
+      "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-00638",
           "text": " <code>allocationSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
-        },
-        {
-          "vuid": "VUID-VkMemoryAllocateInfo-sType-sType",
-          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO</code>"
-        },
-        {
-          "vuid": "VUID-VkMemoryAllocateInfo-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>, <a href=\"#VkExportMemoryAllocateInfoNV\">VkExportMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryWin32HandleInfoKHR\">VkExportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkExportMemoryWin32HandleInfoNV\">VkExportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportMemoryFdInfoKHR\">VkImportMemoryFdInfoKHR</a>, <a href=\"#VkImportMemoryHostPointerInfoEXT\">VkImportMemoryHostPointerInfoEXT</a>, <a href=\"#VkImportMemoryWin32HandleInfoKHR\">VkImportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkImportMemoryWin32HandleInfoNV\">VkImportMemoryWin32HandleInfoNV</a>, <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a>, or <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>"
-        },
-        {
-          "vuid": "VUID-VkMemoryAllocateInfo-sType-unique",
-          "text": " Each <code>sType</code> member in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
         }
       ],
       "(VK_KHR_external_memory)+(VK_KHR_dedicated_allocation,VK_NV_dedicated_allocation)": [
           "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, <code>allocationSize</code> <strong class=\"purple\">must</strong> match the size specified when creating the Direct3D 12 heap from which the external handle was extracted."
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-01872",
+          "text": " If the protected memory feature is not enabled, the <code>VkMemoryAllocateInfo</code>::<code>memoryTypeIndex</code> <strong class=\"purple\">must</strong> not indicate a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>."
+        }
+      ],
       "(VK_EXT_external_memory_host)": [
         {
           "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-01744",
           "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-01745",
           "text": " If the parameters define an import operation and the external handle is a host pointer, <code>allocationSize</code> <strong class=\"purple\">must</strong> be an integer multiple of <code>VkPhysicalDeviceExternalMemoryHostPropertiesEXT</code>::<code>minImportedHostPointerAlignment</code>"
         }
+      ],
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-None-01873",
+          "text": " If the parameters define an import operation and the external handle type is <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BIT_ANDROID</code>:"
+        },
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-pNext-01874",
+          "text": " If the parameters do not define an import operation, and the <code>pNext</code> chain contains an instance of <code>VkExportMemoryAllocateInfo</code> with <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> included in its <code>handleTypes</code> member, and the <code>pNext</code> contains an instance of <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> with <code>image</code> not equal to <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, then <code>allocationSize</code> <strong class=\"purple\">must</strong> be <code>0</code>, otherwise <code>allocationSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>."
+        },
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-pNext-01875",
+          "text": " If the parameters define an import operation, the external handle is an Android hardware buffer, and the <code>pNext</code> chain includes an instance of <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> with <code>image</code> that is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>:"
+        }
+      ],
+      "core": [
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO</code>"
+        },
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-pNext-pNext",
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>, <a href=\"#VkExportMemoryAllocateInfoNV\">VkExportMemoryAllocateInfoNV</a>, <a href=\"#VkExportMemoryWin32HandleInfoKHR\">VkExportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkExportMemoryWin32HandleInfoNV\">VkExportMemoryWin32HandleInfoNV</a>, <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a>, <a href=\"#VkImportMemoryFdInfoKHR\">VkImportMemoryFdInfoKHR</a>, <a href=\"#VkImportMemoryHostPointerInfoEXT\">VkImportMemoryHostPointerInfoEXT</a>, <a href=\"#VkImportMemoryWin32HandleInfoKHR\">VkImportMemoryWin32HandleInfoKHR</a>, <a href=\"#VkImportMemoryWin32HandleInfoNV\">VkImportMemoryWin32HandleInfoNV</a>, <a href=\"#VkMemoryAllocateFlagsInfo\">VkMemoryAllocateFlagsInfo</a>, or <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>"
+        },
+        {
+          "vuid": "VUID-VkMemoryAllocateInfo-sType-unique",
+          "text": " Each <code>sType</code> member in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+        }
       ]
     },
     "VkMemoryDedicatedAllocateInfo": {
           "text": " Both of <code>buffer</code>, and <code>image</code> that are valid handles <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
       ],
-      "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32,VK_KHR_external_memory_fd)": [
+      "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32)": [
+        {
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-image-01876",
+          "text": " If <code>image</code> is not <code>VK_NULL_HANDLE</code> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation with handle type <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, or <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT</code>, and the external handle was created by the Vulkan API, then the memory being imported <strong class=\"purple\">must</strong> also be a dedicated image allocation and <code>image</code> must be identical to the image associated with the imported memory."
+        },
+        {
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01877",
+          "text": " If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation with handle type <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT</code>, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT</code>, or <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT</code>, and the external handle was created by the Vulkan API, then the memory being imported <strong class=\"purple\">must</strong> also be a dedicated buffer allocation and <code>buffer</code> must be identical to the buffer associated with the imported memory."
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_fd)": [
         {
-          "vuid": "VUID-VkMemoryDedicatedAllocateInfo-image-01437",
-          "text": " If <code>image</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation, the memory being imported <strong class=\"purple\">must</strong> also be a dedicated image allocation and <code>image</code> must be identical to the image associated with the imported memory."
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-image-01878",
+          "text": " If <code>image</code> is not <code>VK_NULL_HANDLE</code> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation with handle type <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT</code>, the memory being imported <strong class=\"purple\">must</strong> also be a dedicated image allocation and <code>image</code> must be identical to the image associated with the imported memory."
         },
         {
-          "vuid": "VUID-VkMemoryDedicatedAllocateInfo-buffer-01438",
-          "text": " If <code>buffer</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation, the memory being imported <strong class=\"purple\">must</strong> also be a dedicated buffer allocation and <code>buffer</code> must be identical to the buffer associated with the imported memory."
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01879",
+          "text": " If <code>buffer</code> is not <code>VK_NULL_HANDLE</code> and <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a> defines a memory import operation with handle type <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT</code>, the memory being imported <strong class=\"purple\">must</strong> also be a dedicated buffer allocation and <code>buffer</code> must be identical to the buffer associated with the imported memory."
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-image-01797",
-          "text": " If <code>image</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>image</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_IMAGE_CREATE_DISJOINT_BIT_KHR</code> set in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code>"
+          "vuid": "VUID-VkMemoryDedicatedAllocateInfo-image-01797",
+          "text": " If <code>image</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>image</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> set in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code>"
         }
       ]
     },
         }
       ]
     },
+    "VkImportAndroidHardwareBufferInfoANDROID": {
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880",
+          "text": " If <code>buffer</code> is not <code>NULL</code>, Android hardware buffers <strong class=\"purple\">must</strong> be supported for import, as reported by <a href=\"#VkExternalImageFormatProperties\">VkExternalImageFormatProperties</a> or <a href=\"#VkExternalBufferProperties\">VkExternalBufferProperties</a>."
+        },
+        {
+          "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881",
+          "text": " If <code>buffer</code> is not <code>NULL</code>, it <strong class=\"purple\">must</strong> be a valid Android hardware buffer object with format and usage compatible with Vulkan as described by <a href=\"#VkExternalMemoryHandleTypeFlagBits\">VkExternalMemoryHandleTypeFlagBits</a>."
+        },
+        {
+          "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID</code>"
+        },
+        {
+          "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameter",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>AHardwareBuffer</code> value"
+        }
+      ]
+    },
+    "vkGetMemoryAndroidHardwareBufferANDROID": {
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <code>VkDevice</code> handle"
+        },
+        {
+          "vuid": "VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameter",
+          "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkMemoryGetAndroidHardwareBufferInfoANDROID</code> structure"
+        },
+        {
+          "vuid": "VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameter",
+          "text": " <code>pBuffer</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid pointer to a <code>AHardwareBuffer</code> value"
+        }
+      ]
+    },
+    "VkMemoryGetAndroidHardwareBufferInfoANDROID": {
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882",
+          "text": " <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> have been included in <a href=\"#VkExportMemoryAllocateInfoKHR\">VkExportMemoryAllocateInfoKHR</a>::<code>handleTypes</code> when <code>memory</code> was created."
+        },
+        {
+          "vuid": "VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883",
+          "text": " If the <code>pNext</code> chain of the <code>VkMemoryAllocateInfo</code> used to allocate <code>memory</code> included a <code>VkMemoryDedicatedAllocateInfo</code> with non-NULL <code>image</code> member, then that <code>image</code> <strong class=\"purple\">must</strong> already be bound to <code>memory</code>."
+        }
+      ]
+    },
+    "vkGetAndroidHardwareBufferPropertiesANDROID": {
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid Android hardware buffer object with at least one of the <code>AHARDWAREBUFFER_USAGE_GPU_</code>* usage flags."
+        },
+        {
+          "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <code>VkDevice</code> handle"
+        },
+        {
+          "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-parameter",
+          "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>AHardwareBuffer</code> value"
+        },
+        {
+          "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameter",
+          "text": " <code>pProperties</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>VkAndroidHardwareBufferPropertiesANDROID</code> structure"
+        }
+      ]
+    },
+    "VkAndroidHardwareBufferFormatPropertiesANDROID": {
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID</code>"
+        },
+        {
+          "vuid": "VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
     "VkExportMemoryAllocateInfoNV": {
       "(VK_NV_external_memory)": [
         {
           "text": " If the <code>pNext</code> chain contains an instance of <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, its <code>handleTypes</code> member <strong class=\"purple\">must</strong> only contain bits that are also in <a href=\"#VkExternalBufferProperties\">VkExternalBufferProperties</a>::<code>externalMemoryProperties.pname</code>:compatibleHandleTypes, as returned by <a href=\"#vkGetPhysicalDeviceExternalBufferProperties\">vkGetPhysicalDeviceExternalBufferProperties</a> with <code>pExternalBufferInfo</code>\\-&amp;amp;gt;<code>handleType</code> equal to any one of the handle types specified in <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>::<code>handleTypes</code>"
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkBufferCreateInfo-flags-01887",
+          "text": " If the protected memory feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_BUFFER_CREATE_PROTECTED_BIT</code>"
+        },
+        {
+          "vuid": "VUID-VkBufferCreateInfo-None-01888",
+          "text": " If any of the bits <code>VK_BUFFER_CREATE_SPARSE_BINDING_BIT</code>, <code>VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT</code>, or <code>VK_BUFFER_CREATE_SPARSE_ALIASED_BIT</code> are set, <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> <strong class=\"purple\">must</strong> not also be set"
+        }
+      ],
       "(VK_NV_dedicated_allocation)": [
         {
           "vuid": "VUID-VkBufferCreateInfo-pNext-01571",
       ]
     },
     "VkImageCreateInfo": {
-      "core": [
+      "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
         {
           "vuid": "VUID-VkImageCreateInfo-format-00940",
           "text": " The combination of <code>format</code>, <code>imageType</code>, <code>tiling</code>, <code>usage</code>, and <code>flags</code> <strong class=\"purple\">must</strong> be supported, as indicated by a <code>VK_SUCCESS</code> return value from <code>vkGetPhysicalDeviceImageFormatProperties</code> invoked with the same values passed to the corresponding parameters."
+        }
+      ],
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkImageCreateInfo-pNext-01889",
+          "text": " If the <code>pNext</code> chain doesn&#8217;t contain an instance of <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, or if <code>format</code> is not VK_FORMAT_UNDEFINED, the combination of <code>format</code>, <code>imageType</code>, <code>tiling</code>, <code>usage</code>, and <code>flags</code> <strong class=\"purple\">must</strong> be supported, as indicated by a <code>VK_SUCCESS</code> return value from <code>vkGetPhysicalDeviceImageFormatProperties</code> invoked with the same values passed to the corresponding parameters."
         },
         {
+          "vuid": "VUID-VkImageCreateInfo-pNext-01892",
+          "text": " If the <code>pNext</code> chain includes a <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a> structure whose <code>handleTypes</code> member includes <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code>:"
+        },
+        {
+          "vuid": "VUID-VkImageCreateInfo-pNext-01893",
+          "text": " If the <code>pNext</code> chain includes a <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a> structure whose <code>externalFormat</code> member is not <code>0</code>:"
+        }
+      ],
+      "core": [
+        {
           "vuid": "VUID-VkImageCreateInfo-sharingMode-00941",
           "text": " If <code>sharingMode</code> is <code>VK_SHARING_MODE_CONCURRENT</code>, <code>pQueueFamilyIndices</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>queueFamilyIndexCount</code> <code>uint32_t</code> values"
         },
         },
         {
           "vuid": "VUID-VkImageCreateInfo-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageFormatListCreateInfoKHR\">VkImageFormatListCreateInfoKHR</a>, or <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageFormatListCreateInfoKHR\">VkImageFormatListCreateInfoKHR</a>, or <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>"
         },
         {
           "vuid": "VUID-VkImageCreateInfo-sType-unique",
           "text": " If <code>flags</code> contains <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code>, <code>imageType</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TYPE_3D</code>"
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkImageCreateInfo-flags-01890",
+          "text": " If the protected memory feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_IMAGE_CREATE_PROTECTED_BIT</code>."
+        },
+        {
+          "vuid": "VUID-VkImageCreateInfo-None-01891",
+          "text": " If any of the bits <code>VK_IMAGE_CREATE_SPARSE_BINDING_BIT</code>, <code>VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT</code>, or <code>VK_IMAGE_CREATE_SPARSE_ALIASED_BIT</code> are set, <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> <strong class=\"purple\">must</strong> not also be set."
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_external_memory)+(VK_NV_external_memory)": [
         {
           "vuid": "VUID-VkImageCreateInfo-pNext-00988",
         }
       ]
     },
+    "VkExternalFormatANDROID": {
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkExternalFormatANDROID-externalFormat-01894",
+          "text": " <code>externalFormat</code> <strong class=\"purple\">must</strong> be <code>0</code> or a value returned in the <code>externalFormat</code> member of <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a> by an earlier call to <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a>"
+        },
+        {
+          "vuid": "VUID-VkExternalFormatANDROID-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID</code>"
+        },
+        {
+          "vuid": "VUID-VkExternalFormatANDROID-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
     "VkImageSwapchainCreateInfoKHR": {
       "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)": [
         {
           "vuid": "VUID-vkGetImageSubresourceLayout-format-01582",
           "text": " If the <code>format</code> of <code>image</code> is a &amp;amp;lt;&amp;amp;lt;features-formats-requiring-sampler-ycbcr-conversion,multi-planar format&amp;amp;gt;&amp;amp;gt; with three planes, the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
         }
+      ],
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-vkGetImageSubresourceLayout-image-01895",
+          "text": " If <code>image</code> was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then <code>image</code> <strong class=\"purple\">must</strong> be bound to memory."
+        }
       ]
     },
     "VkImageSubresource": {
           "vuid": "VUID-VkImageViewCreateInfo-image-01019",
           "text": " If <code>image</code> was not created with the <code>VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT</code> flag, <code>format</code> <strong class=\"purple\">must</strong> be identical to the <code>format</code> used to create <code>image</code>"
         }
+      ],
+      "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkImageViewCreateInfo-image-01896",
+          "text": " If <code>image</code> has an &amp;amp;lt;&amp;amp;lt;memory-external-android-hardware-buffer-external-formats,external format&amp;amp;gt;&amp;amp;gt;:"
+        }
       ]
     },
     "VkImageViewUsageCreateInfo": {
       "(VK_VERSION_1_1,VK_KHR_maintenance2)": [
         {
-          "vuid": "VUID-VkImageViewUsageCreateInfoKHR-usage-01587",
+          "vuid": "VUID-VkImageViewUsageCreateInfo-usage-01587",
           "text": " <code>usage</code> <strong class=\"purple\">must</strong> not include any set bits that were not set in the <code>usage</code> member of the <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> structure used to create the image this image view is created from."
         },
         {
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
           "vuid": "VUID-VkImageSubresourceRange-aspectMask-01670",
-          "text": " If <code>aspectMask</code> includes <code>VK_IMAGE_ASPECT_COLOR_BIT</code>, then it <strong class=\"purple\">must</strong> not include any of <code>VK_IMAGE_ASPECT_PLANE_0_BIT_KHR</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT_KHR</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT_KHR</code>"
+          "text": " If <code>aspectMask</code> includes <code>VK_IMAGE_ASPECT_COLOR_BIT</code>, then it <strong class=\"purple\">must</strong> not include any of <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
         }
       ]
     },
     "VkImageMemoryRequirementsInfo2": {
       "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01589",
+          "vuid": "VUID-VkImageMemoryRequirementsInfo2-image-01589",
           "text": " If <code>image</code> was created with a <em>multi-planar</em> format and the <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> flag, there <strong class=\"purple\">must</strong> be a <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a> in the <code>pNext</code> chain of the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a> structure"
         },
         {
-          "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01590",
+          "vuid": "VUID-VkImageMemoryRequirementsInfo2-image-01590",
           "text": " If <code>image</code> was not created with the <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> flag, there <strong class=\"purple\">must</strong> not be a <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a> in the <code>pNext</code> chain of the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a> structure"
         },
         {
-          "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01591",
+          "vuid": "VUID-VkImageMemoryRequirementsInfo2-image-01591",
           "text": " If <code>image</code> was created with a single-plane format, there <strong class=\"purple\">must</strong> not be a <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a> in the <code>pNext</code> chain of the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a> structure"
         }
       ],
+      "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01897",
+          "text": " If <code>image</code> was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then <code>image</code> <strong class=\"purple\">must</strong> be bound to memory."
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)": [
         {
           "vuid": "VUID-VkImageMemoryRequirementsInfo2-sType-sType",
     "VkImagePlaneMemoryRequirementsInfo": {
       "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkImagePlaneMemoryRequirementsInfoKHR-planeAspect-01592",
+          "vuid": "VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-01592",
           "text": " <code>planeAspect</code> <strong class=\"purple\">must</strong> be an aspect that exists in the format; that is, for a two-plane image <code>planeAspect</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, and for a three-plane image <code>planeAspect</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>"
         },
         {
       "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
           "vuid": "VUID-vkBindBufferMemory-buffer-01444",
-          "text": " If <code>buffer</code> requires a dedicated allocation(as reported by <a href=\"#vkGetBufferMemoryRequirements2\">vkGetBufferMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>image</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> equal to <code>buffer</code>"
+          "text": " If <code>buffer</code> requires a dedicated allocation(as reported by <a href=\"#vkGetBufferMemoryRequirements2\">vkGetBufferMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>buffer</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> equal to <code>buffer</code>"
         },
         {
           "vuid": "VUID-vkBindBufferMemory-memory-01508",
-          "text": " If the <code>VkmemoryAllocateInfo</code> provided when <code>memory</code> was allocated included an instance of <a href=\"#VkMemoryDedicatedAllocateInfoKHR\">VkMemoryDedicatedAllocateInfoKHR</a> in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfoKHR\">VkMemoryDedicatedAllocateInfoKHR</a>::<code>buffer</code> was not <code>VK_NULL_HANDLE</code>, then <code>buffer</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfoKHR\">VkMemoryDedicatedAllocateInfoKHR</a>::<code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero."
+          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included an instance of <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> was not <code>VK_NULL_HANDLE</code>, then <code>buffer</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code>, and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero."
+        }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkBindBufferMemory-None-01898",
+          "text": " If buffer was created with the <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> bit set, the buffer <strong class=\"purple\">must</strong> be bound to a memory object allocated with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkBindBufferMemory-None-01899",
+          "text": " If buffer was created with the <code>VK_BUFFER_CREATE_PROTECTED_BIT</code> bit not set, the buffer <strong class=\"purple\">must</strong> not be bound to a memory object created with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
         }
       ],
       "(VK_NV_dedicated_allocation)": [
     "VkBindBufferMemoryInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01593",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01593",
           "text": " <code>buffer</code> <strong class=\"purple\">must</strong> not already be backed by a memory object"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01594",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01594",
           "text": " <code>buffer</code> <strong class=\"purple\">must</strong> not have been created with any sparse memory binding flags"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01595",
+          "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01595",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>memory</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01596",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01596",
           "text": " If <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code> or <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>, <code>memoryOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minTexelBufferOffsetAlignment</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01597",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01597",
           "text": " If <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT</code>, <code>memoryOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minUniformBufferOffsetAlignment</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01598",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01598",
           "text": " If <code>buffer</code> was created with the <code>VK_BUFFER_USAGE_STORAGE_BUFFER_BIT</code>, <code>memoryOffset</code> <strong class=\"purple\">must</strong> be a multiple of <code>VkPhysicalDeviceLimits</code>::<code>minStorageBufferOffsetAlignment</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-memory-01599",
+          "vuid": "VUID-VkBindBufferMemoryInfo-memory-01599",
           "text": " <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <code>vkGetBufferMemoryRequirements</code> with <code>buffer</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01600",
+          "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01600",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <code>vkGetBufferMemoryRequirements</code> with <code>buffer</code>"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-size-01601",
+          "vuid": "VUID-VkBindBufferMemoryInfo-size-01601",
           "text": " The <code>size</code> member of the <code>VkMemoryRequirements</code> structure returned from a call to <code>vkGetBufferMemoryRequirements</code> with <code>buffer</code> <strong class=\"purple\">must</strong> be less than or equal to the size of <code>memory</code> minus <code>memoryOffset</code>"
         },
         {
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01602",
-          "text": " If <code>buffer</code> requires a dedicated allocation(as reported by <a href=\"#vkGetBufferMemoryRequirements2\">vkGetBufferMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>image</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> equal to <code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01602",
+          "text": " If <code>buffer</code> requires a dedicated allocation(as reported by <a href=\"#vkGetBufferMemoryRequirements2\">vkGetBufferMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>buffer</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> equal to <code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+        },
+        {
+          "vuid": "VUID-VkBindBufferMemoryInfoKHR-memory-01900",
+          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included an instance of <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> was not <code>VK_NULL_HANDLE</code>, then <code>buffer</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero."
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01603",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01603",
           "text": " If <code>buffer</code> was created with <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>::<code>buffer</code> equal to <code>buffer</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01604",
+          "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01604",
           "text": " If <code>buffer</code> was not created with <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> not have been allocated dedicated for a specific buffer or image"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryInfoKHR-pNext-01605",
+          "vuid": "VUID-VkBindBufferMemoryInfo-pNext-01605",
           "text": " If the <code>pNext</code> chain includes <a href=\"#VkBindBufferMemoryDeviceGroupInfo\">VkBindBufferMemoryDeviceGroupInfo</a>, all instances of <code>memory</code> specified by <a href=\"#VkBindBufferMemoryDeviceGroupInfo\">VkBindBufferMemoryDeviceGroupInfo</a>::<code>pDeviceIndices</code> <strong class=\"purple\">must</strong> have been allocated"
         }
       ]
     "VkBindBufferMemoryDeviceGroupInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfoKHR-deviceIndexCount-01606",
+          "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfo-deviceIndexCount-01606",
           "text": " <code>deviceIndexCount</code> <strong class=\"purple\">must</strong> either be zero or equal to the number of physical devices in the logical device"
         },
         {
-          "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfoKHR-pDeviceIndices-01607",
+          "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-01607",
           "text": " All elements of <code>pDeviceIndices</code> <strong class=\"purple\">must</strong> be valid device indices"
         },
         {
         },
         {
           "vuid": "VUID-vkBindImageMemory-memory-01509",
-          "text": " If the <code>VkmemoryAllocateInfo</code> provided when <code>memory</code> was allocated included an instance of <a href=\"#VkMemoryDedicatedAllocateInfoKHR\">VkMemoryDedicatedAllocateInfoKHR</a> in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfoKHR\">VkMemoryDedicatedAllocateInfoKHR</a>::<code>image</code> was not <code>VK_NULL_HANDLE</code>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfoKHR\">VkMemoryDedicatedAllocateInfoKHR</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero."
+          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included an instance of <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <code>VK_NULL_HANDLE</code>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero."
+        }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkBindImageMemory-None-01901",
+          "text": " If image was created with the <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> bit set, the image <strong class=\"purple\">must</strong> be bound to a memory object allocated with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
+        },
+        {
+          "vuid": "VUID-vkBindImageMemory-None-01902",
+          "text": " If image was created with the <code>VK_IMAGE_CREATE_PROTECTED_BIT</code> bit not set, the image <strong class=\"purple\">must</strong> not be bound to a memory object created with a memory type that reports <code>VK_MEMORY_PROPERTY_PROTECTED_BIT</code>"
         }
       ],
       "(VK_NV_dedicated_allocation)": [
     "VkBindImageMemoryInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01609",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01609",
           "text": " <code>image</code> <strong class=\"purple\">must</strong> not already be backed by a memory object"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01610",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01610",
           "text": " <code>image</code> <strong class=\"purple\">must</strong> not have been created with any sparse memory binding flags"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-memoryOffset-01611",
+          "vuid": "VUID-VkBindImageMemoryInfo-memoryOffset-01611",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be less than the size of <code>memory</code>"
         },
         {
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01612",
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-01612",
           "text": " <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements\">vkGetImageMemoryRequirements</a> with <code>image</code>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-memoryOffset-01613",
+          "vuid": "VUID-VkBindImageMemoryInfo-memoryOffset-01613",
           "text": " <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements\">vkGetImageMemoryRequirements</a> with <code>image</code>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01614",
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-01614",
           "text": " The difference of the size of <code>memory</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements\">vkGetImageMemoryRequirements</a> with the same <code>image</code>"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01615",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01615",
           "text": " If the <code>pNext</code> chain does not include an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with <code>image</code>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01616",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01616",
           "text": " If the <code>pNext</code> chain does not include an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with <code>image</code>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01617",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01617",
           "text": " If the <code>pNext</code> chain does not include an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, the difference of the size of <code>memory</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with the same <code>image</code>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01618",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01618",
           "text": " If the <code>pNext</code> chain includes an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, <code>image</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_DISJOINT_BIT</code> bit set."
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01619",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01619",
           "text": " If the <code>pNext</code> chain includes an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated using one of the memory types allowed in the <code>memoryTypeBits</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with <code>image</code> and the correct <code>planeAspect</code> for this plane in the <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a> structure attached to the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a>&#8217;s <code>pNext</code> chain"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01620",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01620",
           "text": " If the <code>pNext</code> chain includes an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, <code>memoryOffset</code> <strong class=\"purple\">must</strong> be an integer multiple of the <code>alignment</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with <code>image</code> and the correct <code>planeAspect</code> for this plane in the <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a> structure attached to the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a>&#8217;s <code>pNext</code> chain"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01621",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01621",
           "text": " If the <code>pNext</code> chain includes an instance of the <a href=\"#VkBindImagePlaneMemoryInfo\">VkBindImagePlaneMemoryInfo</a> structure, the difference of the size of <code>memory</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>size</code> member of the <a href=\"#VkMemoryRequirements\">VkMemoryRequirements</a> structure returned from a call to <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> with the same <code>image</code> and the correct <code>planeAspect</code> for this plane in the <a href=\"#VkImagePlaneMemoryRequirementsInfo\">VkImagePlaneMemoryRequirementsInfo</a> structure attached to the <a href=\"#VkImageMemoryRequirementsInfo2\">VkImageMemoryRequirementsInfo2</a>&#8217;s <code>pNext</code> chain"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01622",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01622",
           "text": " If <code>image</code> requires a dedicated allocation (as reported by <a href=\"#vkGetImageMemoryRequirements2\">vkGetImageMemoryRequirements2</a> in <a href=\"#VkMemoryDedicatedRequirements\">VkMemoryDedicatedRequirements</a>::requiresDedicatedAllocation for <code>image</code>), <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> equal to <code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
+        },
+        {
+          "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01903",
+          "text": " If the <code>VkMemoryAllocateInfo</code> provided when <code>memory</code> was allocated included an instance of <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a> in its <code>pNext</code> chain, and <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> was not <code>VK_NULL_HANDLE</code>, then <code>image</code> <strong class=\"purple\">must</strong> equal <a href=\"#VkMemoryDedicatedAllocateInfo\">VkMemoryDedicatedAllocateInfo</a>::<code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero."
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01623",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01623",
           "text": " If <code>image</code> was created with <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> have been created with <a href=\"#VkDedicatedAllocationMemoryAllocateInfoNV\">VkDedicatedAllocationMemoryAllocateInfoNV</a>::<code>image</code> equal to <code>image</code> and <code>memoryOffset</code> <strong class=\"purple\">must</strong> be zero"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01624",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01624",
           "text": " If <code>image</code> was not created with <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>::<code>dedicatedAllocation</code> equal to <code>VK_TRUE</code>, <code>memory</code> <strong class=\"purple\">must</strong> not have been allocated dedicated for a specific buffer or image"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01625",
+          "vuid": "VUID-VkBindImageMemoryInfo-memory-01625",
           "text": " <code>memory</code> <strong class=\"purple\">must</strong> be a valid <code>VkDeviceMemory</code> handle"
         }
       ],
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01626",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01626",
           "text": " If the <code>pNext</code> chain includes <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>, all instances of <code>memory</code> specified by <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>::<code>pDeviceIndices</code> <strong class=\"purple\">must</strong> have been allocated"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01627",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01627",
           "text": " If the <code>pNext</code> chain includes <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>, and <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>::<code>splitInstanceBindRegionCount</code> is not zero, then <code>image</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT</code> bit set"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01628",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01628",
           "text": " If the <code>pNext</code> chain includes <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>, all elements of <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>::<code>pSplitInstanceBindRegions</code> <strong class=\"purple\">must</strong> be valid rectangles contained within the dimensions of <code>image</code>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01629",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01629",
           "text": " If the <code>pNext</code> chain includes <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>, the union of the areas of all elements of <a href=\"#VkBindImageMemoryDeviceGroupInfo\">VkBindImageMemoryDeviceGroupInfo</a>::<code>pSplitInstanceBindRegions</code> that correspond to the same instance of <code>image</code> <strong class=\"purple\">must</strong> cover the entire image."
-        },
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)": [
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01630",
+          "vuid": "VUID-VkBindImageMemoryInfo-image-01630",
           "text": " If <code>image</code> was created with a valid swapchain handle in <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>::<code>swapchain</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid instance of <a href=\"#VkBindImageMemorySwapchainInfoKHR\">VkBindImageMemorySwapchainInfoKHR</a>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01631",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01631",
           "text": " If the <code>pNext</code> chain includes an instance of <a href=\"#VkBindImageMemorySwapchainInfoKHR\">VkBindImageMemorySwapchainInfoKHR</a>, <code>memory</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01632",
+          "vuid": "VUID-VkBindImageMemoryInfo-pNext-01632",
           "text": " If the <code>pNext</code> chain does not include an instance of <a href=\"#VkBindImageMemorySwapchainInfoKHR\">VkBindImageMemorySwapchainInfoKHR</a>, <code>memory</code> <strong class=\"purple\">must</strong> be a valid <code>VkDeviceMemory</code> handle"
         }
       ]
     "VkBindImageMemoryDeviceGroupInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01633",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01633",
           "text": " At least one of <code>deviceIndexCount</code> and <code>splitInstanceBindRegionCount</code> <strong class=\"purple\">must</strong> be zero."
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01634",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01634",
           "text": " <code>deviceIndexCount</code> <strong class=\"purple\">must</strong> either be zero or equal to the number of physical devices in the logical device"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-pDeviceIndices-01635",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-01635",
           "text": " All elements of <code>pDeviceIndices</code> <strong class=\"purple\">must</strong> be valid device indices."
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-splitInstanceBindRegionCount-01636",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-splitInstanceBindRegionCount-01636",
           "text": " <code>splitInstanceBindRegionCount</code> <strong class=\"purple\">must</strong> either be zero or equal to the number of physical devices in the logical device squared"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-pSplitInstanceBindRegions-01637",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-pSplitInstanceBindRegions-01637",
           "text": " Elements of <code>pSplitInstanceBindRegions</code> that correspond to the same instance of an image <strong class=\"purple\">must</strong> not overlap."
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01638",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-offset-01638",
           "text": " The <code>offset.x</code> member of any element of <code>pSplitInstanceBindRegions</code> <strong class=\"purple\">must</strong> be a multiple of the sparse image block width (<code>VkSparseImageFormatProperties</code>::<code>imageGranularity.width</code>) of all non-metadata aspects of the image"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01639",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-offset-01639",
           "text": " The <code>offset.y</code> member of any element of <code>pSplitInstanceBindRegions</code> <strong class=\"purple\">must</strong> be a multiple of the sparse image block height (<code>VkSparseImageFormatProperties</code>::<code>imageGranularity.height</code>) of all non-metadata aspects of the image"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01640",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-extent-01640",
           "text": " The <code>extent.width</code> member of any element of <code>pSplitInstanceBindRegions</code> <strong class=\"purple\">must</strong> either be a multiple of the sparse image block width of all non-metadata aspects of the image, or else <code>extent.width</code> + <code>offset.x</code> <strong class=\"purple\">must</strong> equal the width of the image subresource"
         },
         {
-          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01641",
+          "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-extent-01641",
           "text": " The <code>extent.height</code> member of any element of <code>pSplitInstanceBindRegions</code> <strong class=\"purple\">must</strong> either be a multiple of the sparse image block height of all non-metadata aspects of the image, or else <code>extent.height</code><br> <code>offset.y</code> <strong class=\"purple\">must</strong> equal the width of the image subresource"
         },
         {
     "VkBindImagePlaneMemoryInfo": {
       "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkBindImagePlaneMemoryInfoKHR-planeAspect-01642",
+          "vuid": "VUID-VkBindImagePlaneMemoryInfo-planeAspect-01642",
           "text": " <code>planeAspect</code> <strong class=\"purple\">must</strong> be a single valid plane aspect for the image format (that is, <code>planeAspect</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code> or <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code> for &#8220;<code>_2PLANE</code>&#8221; formats and <code>planeAspect</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, or <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code> for &#8220;<code>_3PLANE</code>&#8221; formats)"
         },
         {
-          "vuid": "VUID-VkBindImagePlaneMemoryInfoKHR-None-01643",
+          "vuid": "VUID-VkBindImagePlaneMemoryInfo-None-01643",
           "text": " A single call to <a href=\"#vkBindImageMemory2\">vkBindImageMemory2</a> <strong class=\"purple\">must</strong> bind all or none of the planes of an image (i.e. bindings to all planes of an image <strong class=\"purple\">must</strong> be made in a single <a href=\"#vkBindImageMemory2\">vkBindImageMemory2</a> call), as separate bindings"
         },
         {
     "vkCreateSamplerYcbcrConversion": {
       "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-vkCreateSamplerYcbcrConversionKHR-None-01648",
+          "vuid": "VUID-vkCreateSamplerYcbcrConversion-None-01648",
           "text": " The &amp;amp;lt;&amp;amp;lt;features-features-sampler-YCbCr-conversion, sampler Y&#8217;C<sub>B</sub>C<sub>R</sub> conversion feature&amp;amp;gt;&amp;amp;gt; <strong class=\"purple\">must</strong> be enabled"
         },
         {
       ]
     },
     "VkSamplerYcbcrConversionCreateInfo": {
-      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
+      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01649",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-01649",
           "text": " <code>format</code> <strong class=\"purple\">must</strong> not be <code>VK_FORMAT_UNDEFINED</code>"
-        },
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01904",
+          "text": " If an external format conversion is being created, <code>format</code> <strong class=\"purple\">must</strong> be <code>VK_FORMAT_UNDEFINED</code>, otherwise it <strong class=\"purple\">must</strong> not be <code>VK_FORMAT_UNDEFINED</code>."
+        }
+      ],
+      "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01650",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-01650",
           "text": " <code>format</code> <strong class=\"purple\">must</strong> support <code>VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT</code> or <code>VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT</code>"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01651",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01651",
           "text": " If the format does not support <code>VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT</code>, <code>xChromaOffset</code> and <code>yChromaOffset</code> <strong class=\"purple\">must</strong> not be <code>VK_CHROMA_LOCATION_COSITED_EVEN</code>"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01652",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01652",
           "text": " If the format does not support <code>VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT</code>, <code>xChromaOffset</code> and <code>yChromaOffset</code> <strong class=\"purple\">must</strong> not be <code>VK_CHROMA_LOCATION_MIDPOINT</code>"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01653",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-01653",
           "text": " <code>format</code> <strong class=\"purple\">must</strong> represent unsigned normalized values (i.e. the format must be a <code>UNORM</code> format)"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-None-01654",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-None-01654",
           "text": " If the format has a <code>_422</code> or <code>_420</code> suffix:"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-ycbcrModel-01655",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-01655",
           "text": " If <code>ycbcrModel</code> is not <code>VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY</code>, then <code>components.r</code>, <code>components.g</code>, and <code>components.b</code> <strong class=\"purple\">must</strong> correspond to channels of the <code>format</code>; that is, <code>components.r</code>, <code>components.g</code>, and <code>components.b</code> <strong class=\"purple\">must</strong> not be <code>VK_COMPONENT_SWIZZLE_ZERO</code> or <code>VK_COMPONENT_SWIZZLE_ONE</code>, and <strong class=\"purple\">must</strong> not correspond to a channel which contains zero or one as a consequence of &amp;amp;lt;&amp;amp;lt;textures-conversion-to-rgba,conversion to RGBA&amp;amp;gt;&amp;amp;gt;"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-forceExplicitReconstruction-01656",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-forceExplicitReconstruction-01656",
           "text": " If the format does not support <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT</code>, <code>forceExplicitReconstruction</code> <strong class=\"purple\">must</strong> be FALSE"
         },
         {
-          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-chromaFilter-01657",
+          "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-01657",
           "text": " If the format does not support <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT</code>, <code>chromaFilter</code> <strong class=\"purple\">must</strong> be <code>VK_FILTER_NEAREST</code>"
         },
         {
         },
         {
           "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext",
-          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>"
         },
         {
           "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-parameter",
     "vkUpdateDescriptorSetWithTemplate": {
       "(VK_VERSION_1_1,VK_KHR_descriptor_update_template)": [
         {
-          "vuid": "VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-01685",
+          "vuid": "VUID-vkUpdateDescriptorSetWithTemplate-pData-01685",
           "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a valid pointer to a memory that contains one or more valid instances of <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a>, <a href=\"#VkDescriptorBufferInfo\">VkDescriptorBufferInfo</a>, or <a href=\"#VkBufferView\">VkBufferView</a> in a layout defined by <code>descriptorUpdateTemplate</code> when it was created with <a href=\"#vkCreateDescriptorUpdateTemplate\">vkCreateDescriptorUpdateTemplate</a>"
         },
         {
           "text": " Both of <code>commandBuffer</code>, and <code>queryPool</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdBeginQuery-commandBuffer-01885",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
           "vuid": "VUID-vkCmdBeginQuery-None-00806",
           "text": " Both of <code>commandBuffer</code>, and <code>queryPool</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdEndQuery-commandBuffer-01886",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer"
+        }
+      ],
       "(VK_VERSION_1_1,VK_KHR_multiview)": [
         {
           "vuid": "VUID-vkCmdEndQuery-None-00811",
           "vuid": "VUID-vkCmdClearColorImage-imageLayout-01394",
           "text": " <code>imageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdClearColorImage-commandBuffer-01805",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>image</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdClearColorImage-commandBuffer-01806",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>image</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
       ]
     },
     "vkCmdClearDepthStencilImage": {
           "vuid": "VUID-vkCmdClearDepthStencilImage-commonparent",
           "text": " Both of <code>commandBuffer</code>, and <code>image</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdClearDepthStencilImage-commandBuffer-01807",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>image</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdClearDepthStencilImage-commandBuffer-01808",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>image</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
       ]
     },
     "vkCmdClearAttachments": {
           "vuid": "VUID-VkClearAttachment-aspectMask-requiredbitmask",
           "text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-VkClearAttachment-commandBuffer-01809",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then the attachment to be cleared <strong class=\"purple\">must</strong> not be a protected image."
+        },
+        {
+          "vuid": "VUID-VkClearAttachment-commandBuffer-01810",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then the attachment to be cleared <strong class=\"purple\">must</strong> not be an unprotected image."
+        }
       ]
     },
     "VkClearDepthStencilValue": {
           "vuid": "VUID-vkCmdFillBuffer-commandBuffer-00030",
           "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics or compute operations"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdFillBuffer-commandBuffer-01811",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdFillBuffer-commandBuffer-01812",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be an unprotected buffer"
+        }
       ]
     },
     "vkCmdUpdateBuffer": {
           "vuid": "VUID-vkCmdUpdateBuffer-commonparent",
           "text": " Both of <code>commandBuffer</code>, and <code>dstBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdUpdateBuffer-commandBuffer-01813",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdUpdateBuffer-commandBuffer-01814",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be an unprotected buffer"
+        }
       ]
     },
     "vkCmdCopyBuffer": {
           "vuid": "VUID-vkCmdCopyBuffer-commonparent",
           "text": " Each of <code>commandBuffer</code>, <code>dstBuffer</code>, and <code>srcBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyBuffer-commandBuffer-01822",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer-commandBuffer-01823",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBuffer-commandBuffer-01824",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be an unprotected buffer"
+        }
       ]
     },
     "vkCmdCopyImage": {
           "vuid": "VUID-vkCmdCopyImage-dstImageLayout-01395",
           "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyImage-commandBuffer-01825",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-commandBuffer-01826",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImage-commandBuffer-01827",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
       ]
     },
     "VkImageCopy": {
           "vuid": "VUID-vkCmdCopyBufferToImage-dstImageLayout-01396",
           "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_GENERAL</code>, or <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-01828",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-01829",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-01830",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
       ]
     },
     "vkCmdCopyImageToBuffer": {
           "vuid": "VUID-vkCmdCopyImageToBuffer-srcImageLayout-01397",
           "text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-01831",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-01832",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer"
+        },
+        {
+          "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-01833",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstBuffer</code> <strong class=\"purple\">must</strong> not be an unprotected buffer"
+        }
       ]
     },
     "VkBufferImageCopy": {
           "vuid": "VUID-vkCmdBlitImage-filter-00237",
           "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_IMG</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> have a <a href=\"#VkImageType\">VkImageType</a> of <code>VK_IMAGE_TYPE_3D</code>"
         }
-      ]
-    },
-    "VkImageBlit": {
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdBlitImage-commandBuffer-01834",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-commandBuffer-01835",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdBlitImage-commandBuffer-01836",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
+      ]
+    },
+    "VkImageBlit": {
       "core": [
         {
           "vuid": "VUID-VkImageBlit-aspectMask-00238",
           "vuid": "VUID-vkCmdResolveImage-dstImageLayout-01401",
           "text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdResolveImage-commandBuffer-01837",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>srcImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-commandBuffer-01838",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image"
+        },
+        {
+          "vuid": "VUID-vkCmdResolveImage-commandBuffer-01839",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, then <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image"
+        }
       ]
     },
     "VkImageResolve": {
           "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>."
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDraw-commandBuffer-01850",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-commandBuffer-01851",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDraw-commandBuffer-01852",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
+      ],
       "(VK_EXT_sample_locations)": [
         {
           "vuid": "VUID-vkCmdDraw-sampleLocationsEnable-01512",
           "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>."
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-01853",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-01854",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-01855",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
+      ],
       "(VK_EXT_sample_locations)": [
         {
           "vuid": "VUID-vkCmdDrawIndexed-sampleLocationsEnable-01513",
           "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>."
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-commandBuffer-01856",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-commandBuffer-01857",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirect-commandBuffer-01858",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
+      ],
       "(VK_EXT_sample_locations)": [
         {
           "vuid": "VUID-vkCmdDrawIndirect-sampleLocationsEnable-01514",
           "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>."
         }
       ],
+      "(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01859",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01860",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01861",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
+      ],
       "(VK_AMD_draw_indirect_count)+(VK_EXT_sample_locations)": [
         {
           "vuid": "VUID-vkCmdDrawIndirectCountAMD-sampleLocationsEnable-01515",
           "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>."
         }
       ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-commandBuffer-01862",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-commandBuffer-01863",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirect-commandBuffer-01864",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
+      ],
       "(VK_EXT_sample_locations)": [
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirect-sampleLocationsEnable-01516",
           "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>::<code>maxMultiviewInstanceIndex</code>."
         }
       ],
+      "(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01865",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01866",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01867",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> reads from or writes to any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
+      ],
       "(VK_AMD_draw_indirect_count)+(VK_EXT_sample_locations)": [
         {
           "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-sampleLocationsEnable-01517",
           "vuid": "VUID-vkCmdDispatch-None-00400",
           "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDispatch-commandBuffer-01844",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_COMPUTE</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-commandBuffer-01845",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_POINT_COMPUTE</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatch-commandBuffer-01846",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_POINT_COMPUTE</code> reads from any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
       ]
     },
     "vkCmdDispatchIndirect": {
           "vuid": "VUID-vkCmdDispatchIndirect-None-00416",
           "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
         }
+      ],
+      "(VK_VERSION_1_1)": [
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-01847",
+          "text": " If <code>commandBuffer</code> is an unprotected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_BIND_POINT_COMPUTE</code> reads from or writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-01848",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_POINT_COMPUTE</code> writes to any image or buffer, that image or buffer <strong class=\"purple\">must</strong> not be an unprotected image or unprotected buffer."
+        },
+        {
+          "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-01849",
+          "text": " If <code>commandBuffer</code> is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the <code>VkPipeline</code> object currently bound to <code>VK_PIPELINE_POINT_COMPUTE</code> reads from any image or buffer, the image or buffer <strong class=\"purple\">must</strong> not be a protected image or protected buffer."
+        }
       ]
     },
     "VkDispatchIndirectCommand": {
     "vkAcquireNextImage2KHR": {
       "(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)": [
         {
-          "vuid": "VUID-vkAcquireNextImage2KHX-swapchain-01803",
+          "vuid": "VUID-vkAcquireNextImage2KHR-swapchain-01803",
           "text": " If the number of currently acquired images is greater than the difference between the number of images in the <code>swapchain</code> member of <code>pAcquireInfo</code> and the value of <a href=\"#VkSurfaceCapabilitiesKHR\">VkSurfaceCapabilitiesKHR</a>::<code>minImageCount</code> as returned by a call to <a href=\"#vkGetPhysicalDeviceSurfaceCapabilities2KHR\">vkGetPhysicalDeviceSurfaceCapabilities2KHR</a> with the <code>surface</code> used to create <code>swapchain</code>, the <code>timeout</code> member of <code>pAcquireInfo</code> <strong class=\"purple\">must</strong> not be <code>UINT64_MAX</code>"
         },
         {
           "text": " If <code>semaphore</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> it <strong class=\"purple\">must</strong> be unsignaled"
         },
         {
-          "vuid": "VUID-VkAcquireNextImageInfoKHX-semaphore-01781",
+          "vuid": "VUID-VkAcquireNextImageInfoKHR-semaphore-01781",
           "text": " If <code>semaphore</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> it <strong class=\"purple\">must</strong> not have any uncompleted signal or wait operations pending"
         },
         {
           "text": " If <code>fence</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> it <strong class=\"purple\">must</strong> be unsignaled and <strong class=\"purple\">must</strong> not be associated with any other queue command that has not yet completed execution on that queue"
         },
         {
-          "vuid": "VUID-VkAcquireNextImageInfoKHX-semaphore-01782",
+          "vuid": "VUID-VkAcquireNextImageInfoKHR-semaphore-01782",
           "text": " <code>semaphore</code> and <code>fence</code> <strong class=\"purple\">must</strong> not both be equal to <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
         },
         {
           "text": " <code>deviceMask</code> <strong class=\"purple\">must</strong> not be zero"
         },
         {
-          "vuid": "VUID-VkAcquireNextImageInfoKHX-semaphore-01804",
+          "vuid": "VUID-VkAcquireNextImageInfoKHR-semaphore-01804",
           "text": " <code>semaphore</code> and <code>fence</code> <strong class=\"purple\">must</strong> not both be equal to <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>."
         },
         {
         },
         {
           "vuid": "VUID-VkImageFormatProperties2-pNext-pNext",
-          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExternalImageFormatProperties\">VkExternalImageFormatProperties</a>, <a href=\"#VkSamplerYcbcrConversionImageFormatProperties\">VkSamplerYcbcrConversionImageFormatProperties</a>, or <a href=\"#VkTextureLODGatherFormatPropertiesAMD\">VkTextureLODGatherFormatPropertiesAMD</a>"
+          "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkAndroidHardwareBufferUsageANDROID\">VkAndroidHardwareBufferUsageANDROID</a>, <a href=\"#VkExternalImageFormatProperties\">VkExternalImageFormatProperties</a>, <a href=\"#VkSamplerYcbcrConversionImageFormatProperties\">VkSamplerYcbcrConversionImageFormatProperties</a>, or <a href=\"#VkTextureLODGatherFormatPropertiesAMD\">VkTextureLODGatherFormatPropertiesAMD</a>"
         },
         {
           "vuid": "VUID-VkImageFormatProperties2-sType-unique",
         }
       ]
     },
+    "VkAndroidHardwareBufferUsageANDROID": {
+      "(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
+        {
+          "vuid": "VUID-VkAndroidHardwareBufferUsageANDROID-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID</code>"
+        },
+        {
+          "vuid": "VUID-VkAndroidHardwareBufferUsageANDROID-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        }
+      ]
+    },
     "vkGetPhysicalDeviceExternalBufferProperties": {
       "(VK_VERSION_1_1,VK_KHR_external_memory_capabilities)": [
         {
         }
       ]
     },
+    "vkSetDebugUtilsObjectNameEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <code>VkDevice</code> handle"
+        },
+        {
+          "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-parameter",
+          "text": " <code>pNameInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsObjectNameInfoEXT</code> structure"
+        }
+      ]
+    },
+    "VkDebugUtilsObjectNameInfoEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectType-01905",
+          "text": " <code>objectType</code> <strong class=\"purple\">must</strong> not be <code>VK_OBJECT_TYPE_UNKNOWN</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01906",
+          "text": " <code>objectHandle</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01907",
+          "text": " <code>objectHandle</code> <strong class=\"purple\">must</strong> be a Vulkan object of the type associated with <code>objectType</code> as defined in &amp;amp;lt;&amp;amp;lt;debugging-object-types&amp;amp;gt;&amp;amp;gt;."
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectType-parameter",
+          "text": " <code>objectType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkObjectType\">VkObjectType</a> value"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-pObjectName-parameter",
+          "text": " If <code>pObjectName</code> is not <code>NULL</code>, <code>pObjectName</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string"
+        }
+      ]
+    },
+    "vkSetDebugUtilsObjectTagEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-device-parameter",
+          "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <code>VkDevice</code> handle"
+        },
+        {
+          "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-pTagInfo-parameter",
+          "text": " <code>pTagInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsObjectTagInfoEXT</code> structure"
+        }
+      ]
+    },
+    "VkDebugUtilsObjectTagInfoEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectType-01908",
+          "text": " <code>objectType</code> <strong class=\"purple\">must</strong> not be <code>VK_OBJECT_TYPE_UNKNOWN</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01909",
+          "text": " <code>objectHandle</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01910",
+          "text": " <code>objectHandle</code> <strong class=\"purple\">must</strong> be a Vulkan object of the type associated with <code>objectType</code> as defined in &amp;amp;lt;&amp;amp;lt;debugging-object-types&amp;amp;gt;&amp;amp;gt;."
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectType-parameter",
+          "text": " <code>objectType</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkObjectType\">VkObjectType</a> value"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-pTag-parameter",
+          "text": " <code>pTag</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>tagSize</code> bytes"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-tagSize-arraylength",
+          "text": " <code>tagSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ]
+    },
+    "vkQueueBeginDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkQueueBeginDebugUtilsLabelEXT-queue-parameter",
+          "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <code>VkQueue</code> handle"
+        },
+        {
+          "vuid": "VUID-vkQueueBeginDebugUtilsLabelEXT-pLabelInfo-parameter",
+          "text": " <code>pLabelInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsLabelEXT</code> structure"
+        }
+      ]
+    },
+    "VkDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-VkDebugUtilsLabelEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsLabelEXT-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsLabelEXT-pLabelName-parameter",
+          "text": " <code>pLabelName</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string"
+        }
+      ]
+    },
+    "vkQueueEndDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkQueueEndDebugUtilsLabelEXT-None-01911",
+          "text": " There <strong class=\"purple\">must</strong> be an outstanding <code>vkQueueBeginDebugUtilsLabelEXT</code> command prior to the <code>vkQueueEndDebugUtilsLabelEXT</code> on the queue"
+        },
+        {
+          "vuid": "VUID-vkQueueEndDebugUtilsLabelEXT-queue-parameter",
+          "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <code>VkQueue</code> handle"
+        }
+      ]
+    },
+    "vkQueueInsertDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkQueueInsertDebugUtilsLabelEXT-queue-parameter",
+          "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <code>VkQueue</code> handle"
+        },
+        {
+          "vuid": "VUID-vkQueueInsertDebugUtilsLabelEXT-pLabelInfo-parameter",
+          "text": " <code>pLabelInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsLabelEXT</code> structure"
+        }
+      ]
+    },
+    "vkCmdBeginDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-pLabelInfo-parameter",
+          "text": " <code>pLabelInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsLabelEXT</code> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the &amp;amp;lt;&amp;amp;lt;commandbuffers-lifecycle, recording state&amp;amp;gt;&amp;amp;gt;"
+        },
+        {
+          "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+        }
+      ]
+    },
+    "vkCmdEndDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912",
+          "text": " There <strong class=\"purple\">must</strong> be an outstanding <code>vkCmdBeginDebugUtilsLabelEXT</code> command prior to the <code>vkCmdEndDebugUtilsLabelEXT</code> on the queue that <code>commandBuffer</code> is submitted to"
+        },
+        {
+          "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01913",
+          "text": " If <code>commandBuffer</code> is a secondary command buffer, there <strong class=\"purple\">must</strong> be an outstanding <code>vkCmdBeginDebugUtilsLabelEXT</code> command recorded to <code>commandBuffer</code> that has not previously been ended by a call to <code>vkCmdEndDebugUtilsLabelEXT</code>."
+        },
+        {
+          "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the &amp;amp;lt;&amp;amp;lt;commandbuffers-lifecycle, recording state&amp;amp;gt;&amp;amp;gt;"
+        },
+        {
+          "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+        }
+      ]
+    },
+    "vkCmdInsertDebugUtilsLabelEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-parameter",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
+        },
+        {
+          "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-pLabelInfo-parameter",
+          "text": " <code>pLabelInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsLabelEXT</code> structure"
+        },
+        {
+          "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-recording",
+          "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the &amp;amp;lt;&amp;amp;lt;commandbuffers-lifecycle, recording state&amp;amp;gt;&amp;amp;gt;"
+        },
+        {
+          "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-cmdpool",
+          "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+        }
+      ]
+    },
+    "vkCreateDebugUtilsMessengerEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-instance-parameter",
+          "text": " <code>instance</code> <strong class=\"purple\">must</strong> be a valid <code>VkInstance</code> handle"
+        },
+        {
+          "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-pCreateInfo-parameter",
+          "text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsMessengerCreateInfoEXT</code> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkAllocationCallbacks</code> structure"
+        },
+        {
+          "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-pMessenger-parameter",
+          "text": " <code>pMessenger</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>VkDebugUtilsMessengerEXT</code> handle"
+        }
+      ]
+    },
+    "VkDebugUtilsMessengerCreateInfoEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914",
+          "text": " <code>pfnUserCallback</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#PFN_vkDebugUtilsMessengerCallbackEXT\">PFN_vkDebugUtilsMessengerCallbackEXT</a>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-flags-zerobitmask",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-parameter",
+          "text": " <code>messageSeverity</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkDebugUtilsMessageSeverityFlagBitsEXT\">VkDebugUtilsMessageSeverityFlagBitsEXT</a> values"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-requiredbitmask",
+          "text": " <code>messageSeverity</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter",
+          "text": " <code>messageType</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkDebugUtilsMessageTypeFlagBitsEXT\">VkDebugUtilsMessageTypeFlagBitsEXT</a> values"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-requiredbitmask",
+          "text": " <code>messageType</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        }
+      ]
+    },
+    "VkDebugUtilsMessengerCallbackDataEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-sType",
+          "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext",
+          "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask",
+          "text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter",
+          "text": " If <code>pMessageIdName</code> is not <code>NULL</code>, <code>pMessageIdName</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter",
+          "text": " <code>pMessage</code> <strong class=\"purple\">must</strong> be a null-terminated UTF-8 string"
+        },
+        {
+          "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-objectCount-arraylength",
+          "text": " <code>objectCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+        }
+      ]
+    },
+    "vkSubmitDebugUtilsMessageEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-instance-parameter",
+          "text": " <code>instance</code> <strong class=\"purple\">must</strong> be a valid <code>VkInstance</code> handle"
+        },
+        {
+          "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-messageSeverity-parameter",
+          "text": " <code>messageSeverity</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDebugUtilsMessageSeverityFlagBitsEXT\">VkDebugUtilsMessageSeverityFlagBitsEXT</a> value"
+        },
+        {
+          "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-parameter",
+          "text": " <code>messageTypes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkDebugUtilsMessageTypeFlagBitsEXT\">VkDebugUtilsMessageTypeFlagBitsEXT</a> values"
+        },
+        {
+          "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-requiredbitmask",
+          "text": " <code>messageTypes</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+        },
+        {
+          "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-pCallbackData-parameter",
+          "text": " <code>pCallbackData</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkDebugUtilsMessengerCallbackDataEXT</code> structure"
+        }
+      ]
+    },
+    "vkDestroyDebugUtilsMessengerEXT": {
+      "(VK_EXT_debug_utils)": [
+        {
+          "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01915",
+          "text": " If <code>VkAllocationCallbacks</code> were provided when <code>messenger</code> was created, a compatible set of callbacks <strong class=\"purple\">must</strong> be provided here"
+        },
+        {
+          "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01916",
+          "text": " If no <code>VkAllocationCallbacks</code> were provided when <code>messenger</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+        },
+        {
+          "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-instance-parameter",
+          "text": " <code>instance</code> <strong class=\"purple\">must</strong> be a valid <code>VkInstance</code> handle"
+        },
+        {
+          "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parameter",
+          "text": " <code>messenger</code> <strong class=\"purple\">must</strong> be a valid <code>VkDebugUtilsMessengerEXT</code> handle"
+        },
+        {
+          "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-pAllocator-parameter",
+          "text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <code>VkAllocationCallbacks</code> structure"
+        },
+        {
+          "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parent",
+          "text": " <code>messenger</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>instance</code>"
+        }
+      ]
+    },
     "vkDebugMarkerSetObjectNameEXT": {
       "(VK_EXT_debug_marker)": [
         {
index 3d7a35b..36076d0 100644 (file)
@@ -136,7 +136,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
         <type category="define">// Vulkan 1.1 version number
 #define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
         <type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 70</type>
+#define <name>VK_HEADER_VERSION</name> 71</type>
 
         <type category="define">
 #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@@ -156,6 +156,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
         </type>
 
         <type category="define">struct <name>ANativeWindow</name>;</type>
+        <type category="define">struct <name>AHardwareBuffer</name>;</type>
 
         <type category="basetype">typedef <type>uint32_t</type> <name>VkSampleMask</name>;</type>
         <type category="basetype">typedef <type>uint32_t</type> <name>VkBool32</name>;</type>
@@ -2929,6 +2930,44 @@ private version is maintained in the 1.0 branch of the member gitlab server.
             <member><type>void</type>*                  <name>pNext</name></member>
             <member><type>uint32_t</type>               <name>maxVertexAttribDivisor</name><comment>max value of vertex attribute divisor</comment></member>
         </type>
+        <type category="struct" name="VkImportAndroidHardwareBufferInfoANDROID" structextends="VkMemoryAllocateInfo">
+            <member values="VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member>struct <type>AHardwareBuffer</type>*            <name>buffer</name></member>
+        </type>
+        <type category="struct" name="VkAndroidHardwareBufferUsageANDROID" structextends="VkImageFormatProperties2" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                              <name>pNext</name></member>
+            <member><type>uint64_t</type>                           <name>androidHardwareBufferUsage</name></member>
+        </type>
+        <type category="struct" name="VkAndroidHardwareBufferPropertiesANDROID" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                              <name>pNext</name></member>
+            <member><type>VkDeviceSize</type>                       <name>allocationSize</name></member>
+            <member><type>uint32_t</type>                           <name>memoryTypeBits</name></member>
+        </type>
+        <type category="struct" name="VkMemoryGetAndroidHardwareBufferInfoANDROID">
+            <member values="VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                        <name>pNext</name></member>
+            <member><type>VkDeviceMemory</type>                     <name>memory</name></member>
+        </type>
+        <type category="struct" name="VkAndroidHardwareBufferFormatPropertiesANDROID" structextends="VkAndroidHardwareBufferPropertiesANDROID" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                              <name>pNext</name></member>
+            <member><type>VkFormat</type>                           <name>format</name></member>
+            <member><type>uint64_t</type>                           <name>externalFormat</name></member>
+            <member><type>VkFormatFeatureFlags</type>               <name>formatFeatures</name></member>
+            <member><type>VkComponentMapping</type>                 <name>samplerYcbcrConversionComponents</name></member>
+            <member><type>VkSamplerYcbcrModelConversion</type>      <name>suggestedYcbcrModel</name></member>
+            <member><type>VkSamplerYcbcrRange</type>                <name>suggestedYcbcrRange</name></member>
+            <member><type>VkChromaLocation</type>                   <name>suggestedXChromaOffset</name></member>
+            <member><type>VkChromaLocation</type>                   <name>suggestedYChromaOffset</name></member>
+        </type>
+        <type category="struct" name="VkExternalFormatANDROID" structextends="VkImageCreateInfo,VkSamplerYcbcrConversionCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                              <name>pNext</name></member>
+            <member><type>uint64_t</type>                           <name>externalFormat</name></member>
+        </type>
     </types>
 
     <comment>Vulkan enumerant (token) definitions</comment>
@@ -5488,7 +5527,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
             <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
             <param><type>VkFence</type>* <name>pFence</name></param>
         </command>
-        <command successcodes="VK_SUCCESS,VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR">
             <proto><type>VkResult</type> <name>vkGetSwapchainCounterEXT</name></proto>
             <param><type>VkDevice</type> <name>device</name></param>
             <param><type>VkSwapchainKHR</type> <name>swapchain</name></param>
@@ -5862,6 +5901,18 @@ private version is maintained in the 1.0 branch of the member gitlab server.
             <param><type>VkDeviceSize</type> <name>dstOffset</name></param>
             <param><type>uint32_t</type> <name>marker</name></param>
         </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR">
+            <proto><type>VkResult</type> <name>vkGetAndroidHardwareBufferPropertiesANDROID</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param>const struct <type>AHardwareBuffer</type>* <name>buffer</name></param>
+            <param><type>VkAndroidHardwareBufferPropertiesANDROID</type>* <name>pProperties</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
+            <proto><type>VkResult</type> <name>vkGetMemoryAndroidHardwareBufferANDROID</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param>const <type>VkMemoryGetAndroidHardwareBufferInfoANDROID</type>* <name>pInfo</name></param>
+            <param>struct <type>AHardwareBuffer</type>** <name>pBuffer</name></param>
+        </command>
     </commands>
 
     <feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
@@ -7102,7 +7153,7 @@ private version is maintained in the 1.0 branch of the member gitlab server.
         </extension>
         <extension name="VK_KHR_maintenance1" number="70" type="device" author="KHR" contact="Piers Daniell @pdaniell" supported="vulkan">
             <require>
-                <enum value="1"                                                 name="VK_KHR_MAINTENANCE1_SPEC_VERSION"/>
+                <enum value="2"                                                 name="VK_KHR_MAINTENANCE1_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_maintenance1&quot;"                   name="VK_KHR_MAINTENANCE1_EXTENSION_NAME"/>
                 <enum extends="VkResult"                                        name="VK_ERROR_OUT_OF_POOL_MEMORY_KHR" alias="VK_ERROR_OUT_OF_POOL_MEMORY"/>
                 <enum extends="VkFormatFeatureFlagBits"                         name="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"/>
@@ -7287,12 +7338,10 @@ private version is maintained in the 1.0 branch of the member gitlab server.
                 <enum value="1" extends="VkDescriptorUpdateTemplateType"    name="VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR" comment="Create descriptor update template for pushed descriptor updates"/>
             </require>
         </extension>
-        <extension name="VK_KHX_depth_stencil_layouts" number="82" type="device" author="KHR" contact="Piers Daniell @pdaniell" supported="disabled">
+        <extension name="VK_EXT_extension_82" number="82" type="device" author="EXT" contact="Piers Daniell @pdaniell" supported="disabled">
             <require>
-                <enum value="1"                                             name="VK_KHX_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHX_depth_stencil_layouts&quot;"      name="VK_KHX_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME"/>
-                <enum offset="0" extends="VkImageLayout"                    name="VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHX"/>
-                <enum offset="1" extends="VkImageLayout"                    name="VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHX"/>
+                <enum value="0"                                             name="VK_EXT_EXTENSION_82_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_82&quot;"              name="VK_EXT_EXTENSION_82_EXTENSION_NAME"/>
             </require>
         </extension>
         <extension name="VK_KHR_extension_83" number="83" author="KHR" contact="Jan-Harald Fredriksen @janharald" supported="disabled">
@@ -7828,10 +7877,25 @@ private version is maintained in the 1.0 branch of the member gitlab server.
                 <command name="vkSubmitDebugUtilsMessageEXT"/>
             </require>
         </extension>
-        <extension name="VK_KHR_extension_130" number="130" author="KHR" contact="Jesse Hall @jessehall" supported="disabled">
+        <extension name="VK_ANDROID_external_memory_android_hardware_buffer" number="130" type="device" author="ANDROID" requires="VK_KHR_sampler_ycbcr_conversion,VK_KHR_external_memory" platform="android" contact="Jesse Hall @jessehall" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_KHR_EXTENSION_130_SPEC_VERSION"/>
-                <enum value="&quot;VK_KHR_extension_130&quot;"              name="VK_KHR_EXTENSION_130_EXTENSION_NAME"/>
+                <enum value="3"                                             name="VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION"/>
+                <enum value="&quot;VK_ANDROID_external_memory_android_hardware_buffer&quot;" name="VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME"/>
+                <enum bitpos="10" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID"/>
+                <enum offset="0" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"/>
+                <enum offset="1" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"/>
+                <enum offset="2" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID"/>
+                <enum offset="3" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"/>
+                <enum offset="4" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"/>
+                <enum offset="5" extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"/>
+                <type name="VkAndroidHardwareBufferUsageANDROID"/>
+                <type name="VkAndroidHardwareBufferPropertiesANDROID"/>
+                <type name="VkAndroidHardwareBufferFormatPropertiesANDROID"/>
+                <type name="VkImportAndroidHardwareBufferInfoANDROID"/>
+                <type name="VkMemoryGetAndroidHardwareBufferInfoANDROID"/>
+                <type name="VkExternalFormatANDROID"/>
+                <command name="vkGetAndroidHardwareBufferPropertiesANDROID"/>
+                <command name="vkGetMemoryAndroidHardwareBufferANDROID"/>
             </require>
         </extension>
         <extension name="VK_EXT_sampler_filter_minmax" number="131" type="device" author="NV" requires="VK_KHR_get_physical_device_properties2" contact="Jeff Bolz @jbolz" supported="vulkan">
@@ -8455,5 +8519,11 @@ private version is maintained in the 1.0 branch of the member gitlab server.
                 <enum value="&quot;VK_EXT_extension_197&quot;"          name="VK_EXT_EXTENSION_197_EXTENSION_NAME"/>
             </require>
         </extension>
+         <extension name="VK_ARM_extension_198" number="198" author="Alexander Galazin" contact="@debater" supported="disabled">
+            <require>
+                <enum value="0"                                         name="VK_ARM_EXTENSION_198_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_198&quot;"          name="VK_ARM_EXTENSION_198_EXTENSION_NAME"/>
+            </require>
+        </extension>
     </extensions>
 </registry>
index 4848c8a..4767396 100644 (file)
@@ -601,6 +601,23 @@ func_struct_id_map = {
 'vkSubmitDebugUtilsMessageEXT' : 545,
 'VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' : 546,
 'VkPipelineVertexInputDivisorStateCreateInfoEXT' : 547,
+'VkExternalFormatANDROID' : 548,
+'VkImportAndroidHardwareBufferInfoANDROID' : 549,
+'VkMemoryGetAndroidHardwareBufferInfoANDROID' : 550,
+'vkCmdEndDebugUtilsLabelEXT' : 551,
+'vkDestroyDebugUtilsMessengerEXT' : 552,
+'vkGetAndroidHardwareBufferPropertiesANDROID' : 553,
+'vkQueueEndDebugUtilsLabelEXT' : 554,
+'VkAndroidHardwareBufferUsageANDROID' : 555,
+'VkAndroidHardwareBufferPropertiesANDROID' : 556,
+'vkGetMemoryAndroidHardwareBufferANDROID' : 557,
+'VkAndroidHardwareBufferFormatPropertiesANDROID' : 558,
+'vkCmdBeginDebugUtilsLabelEXT' : 559,
+'vkCmdInsertDebugUtilsLabelEXT' : 560,
+'vkQueueBeginDebugUtilsLabelEXT' : 561,
+'vkQueueInsertDebugUtilsLabelEXT' : 562,
+'vkSetDebugUtilsObjectNameEXT' : 563,
+'vkSetDebugUtilsObjectTagEXT' : 564,
 ### ADD New func/struct mappings above this line
 }
 # Mapping of params to unique IDs
@@ -1129,6 +1146,15 @@ implicit_param_map = {
 'messageTypes' : 521,
 'vertexBindingDivisorCount' : 522,
 'pVertexBindingDivisors' : 523,
+'formatFeatures' : 524,
+'suggestedYcbcrModel' : 525,
+'suggestedYcbcrRange' : 526,
+'suggestedXChromaOffset' : 527,
+'suggestedYChromaOffset' : 528,
+'pMessageIdName' : 529,
+'pLabelInfo' : 530,
+'messenger' : 531,
+'pCallbackData' : 532,
 ### ADD New implicit param mappings above this line
 }