header: Update to version 1.0.57 of the vulkan hdr

- updated vulkan.h
- updated vk.xml
- updated cgenerator.py
- updated Win/Lin json files
- updated and fixed vk_validation_error_database.h
- updated vk_validation_error_messages.h
- updated vulkan.hpp

Change-Id: Idebc490660833daac43d234db44131e9bf2b910b
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index b98e447..3a74f5e 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -43,7 +43,7 @@
 #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 56
+#define VK_HEADER_VERSION 57
 
 
 #define VK_NULL_HANDLE 0
@@ -1366,6 +1366,27 @@
 } VkStencilFaceFlagBits;
 typedef VkFlags VkStencilFaceFlags;
 
+typedef struct VkApplicationInfo {
+    VkStructureType    sType;
+    const void*        pNext;
+    const char*        pApplicationName;
+    uint32_t           applicationVersion;
+    const char*        pEngineName;
+    uint32_t           engineVersion;
+    uint32_t           apiVersion;
+} VkApplicationInfo;
+
+typedef struct VkInstanceCreateInfo {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkInstanceCreateFlags       flags;
+    const VkApplicationInfo*    pApplicationInfo;
+    uint32_t                    enabledLayerCount;
+    const char* const*          ppEnabledLayerNames;
+    uint32_t                    enabledExtensionCount;
+    const char* const*          ppEnabledExtensionNames;
+} VkInstanceCreateInfo;
+
 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
     void*                                       pUserData,
     size_t                                      size,
@@ -1395,29 +1416,6 @@
     VkInternalAllocationType                    allocationType,
     VkSystemAllocationScope                     allocationScope);
 
-typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
-
-typedef struct VkApplicationInfo {
-    VkStructureType    sType;
-    const void*        pNext;
-    const char*        pApplicationName;
-    uint32_t           applicationVersion;
-    const char*        pEngineName;
-    uint32_t           engineVersion;
-    uint32_t           apiVersion;
-} VkApplicationInfo;
-
-typedef struct VkInstanceCreateInfo {
-    VkStructureType             sType;
-    const void*                 pNext;
-    VkInstanceCreateFlags       flags;
-    const VkApplicationInfo*    pApplicationInfo;
-    uint32_t                    enabledLayerCount;
-    const char* const*          ppEnabledLayerNames;
-    uint32_t                    enabledExtensionCount;
-    const char* const*          ppEnabledExtensionNames;
-} VkInstanceCreateInfo;
-
 typedef struct VkAllocationCallbacks {
     void*                                   pUserData;
     PFN_vkAllocationFunction                pfnAllocation;
@@ -1658,6 +1656,7 @@
     VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];
 } VkPhysicalDeviceMemoryProperties;
 
+typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
 typedef struct VkDeviceQueueCreateInfo {
     VkStructureType             sType;
     const void*                 pNext;
@@ -4852,6 +4851,11 @@
 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
 
 
+#define VK_KHR_relaxed_block_layout 1
+#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
+#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
+
+
 #define VK_KHR_get_memory_requirements2 1
 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
@@ -4980,7 +4984,6 @@
     const char*                                 pMessage,
     void*                                       pUserData);
 
-
 typedef struct VkDebugReportCallbackCreateInfoEXT {
     VkStructureType                 sType;
     const void*                     pNext;
@@ -6334,6 +6337,11 @@
 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
 
 
+#define VK_AMD_mixed_attachment_samples 1
+#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
+#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
+
+
 #define VK_EXT_blend_operation_advanced 1
 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
@@ -6427,6 +6435,11 @@
 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
 
 
+#define VK_EXT_post_depth_coverage 1
+#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
+#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
+
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp
index 8dfa0c7..2397f46 100644
--- a/include/vulkan/vulkan.hpp
+++ b/include/vulkan/vulkan.hpp
@@ -33,7 +33,7 @@
 # include <memory>
 # include <vector>
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
-static_assert( VK_HEADER_VERSION ==  56 , "Wrong VK_HEADER_VERSION!" );
+static_assert( VK_HEADER_VERSION ==  57 , "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
diff --git a/layers/linux/VkLayer_core_validation.json b/layers/linux/VkLayer_core_validation.json
index b8b9d84..db0cc37 100644
--- a/layers/linux/VkLayer_core_validation.json
+++ b/layers/linux/VkLayer_core_validation.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_core_validation",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_core_validation.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
diff --git a/layers/linux/VkLayer_object_tracker.json b/layers/linux/VkLayer_object_tracker.json
index cc3b272..227c89e 100644
--- a/layers/linux/VkLayer_object_tracker.json
+++ b/layers/linux/VkLayer_object_tracker.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_object_tracker",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_object_tracker.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
diff --git a/layers/linux/VkLayer_parameter_validation.json b/layers/linux/VkLayer_parameter_validation.json
index 583e1d5..07f9ee4 100644
--- a/layers/linux/VkLayer_parameter_validation.json
+++ b/layers/linux/VkLayer_parameter_validation.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_parameter_validation",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_parameter_validation.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
diff --git a/layers/linux/VkLayer_standard_validation.json b/layers/linux/VkLayer_standard_validation.json
index d5456c4..a594355 100644
--- a/layers/linux/VkLayer_standard_validation.json
+++ b/layers/linux/VkLayer_standard_validation.json
@@ -3,7 +3,7 @@
     "layer": {
         "name": "VK_LAYER_LUNARG_standard_validation",
         "type": "GLOBAL",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Standard Validation",
         "component_layers": [
diff --git a/layers/linux/VkLayer_threading.json b/layers/linux/VkLayer_threading.json
index 4066635..dcb4dba 100644
--- a/layers/linux/VkLayer_threading.json
+++ b/layers/linux/VkLayer_threading.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_threading",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_threading.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "Google Validation Layer",
         "instance_extensions": [
diff --git a/layers/linux/VkLayer_unique_objects.json b/layers/linux/VkLayer_unique_objects.json
index e4b68bf..c2cd313 100644
--- a/layers/linux/VkLayer_unique_objects.json
+++ b/layers/linux/VkLayer_unique_objects.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_unique_objects",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_unique_objects.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "Google Validation Layer"
     }
diff --git a/layers/vk_validation_error_database.txt b/layers/vk_validation_error_database.txt
index 0903a0e..399869f 100644
--- a/layers/vk_validation_error_database.txt
+++ b/layers/vk_validation_error_database.txt
@@ -530,7 +530,7 @@
 VALIDATION_ERROR_096005e4~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00754~^~core~^~The spec valid usage text states 'If the depth bias clamping feature is not enabled, no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_DEPTH_BIAS, and the depthBiasEnable member of pDepthStencil is VK_TRUE, the depthBiasClamp member of pDepthStencil must be 0.0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00754)~^~
 VALIDATION_ERROR_096005e6~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00755~^~!(VK_EXT_depth_range_unrestricted)~^~The spec valid usage text states 'If no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_DEPTH_BOUNDS, and the depthBoundsTestEnable member of pDepthStencil is VK_TRUE, the minDepthBounds and maxDepthBounds members of pDepthStencil must be between 0.0 and 1.0, inclusive' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00755)~^~
 VALIDATION_ERROR_096005e8~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-layout-00756~^~core~^~The spec valid usage text states 'layout must be consistent with all shaders specified in pStages' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-layout-00756)~^~
-VALIDATION_ERROR_096005ea~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-subpass-00757~^~!(VK_NV_framebuffer_mixed_samples)~^~The spec valid usage text states 'If subpass uses color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must be the same as the sample count for those subpass attachments' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-00757)~^~
+VALIDATION_ERROR_096005ea~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-subpass-00757~^~!(VK_AMD_mixed_attachment_samples)+!(VK_NV_framebuffer_mixed_samples)~^~The spec valid usage text states 'If subpass uses color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must be the same as the sample count for those subpass attachments' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-00757)~^~
 VALIDATION_ERROR_096005ec~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-subpass-00758~^~core~^~The spec valid usage text states 'If subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must follow the rules for a zero-attachment subpass' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-00758)~^~
 VALIDATION_ERROR_096005ee~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-subpass-00759~^~core~^~The spec valid usage text states 'subpass must be a valid subpass within renderpass' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-00759)~^~
 VALIDATION_ERROR_096005f0~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-renderPass-00760~^~(VK_KHX_multiview)~^~The spec valid usage text states 'If the renderPass has multiview enabled and subpass has more than one bit set in the view mask and multiviewTessellationShader is not enabled, then pStages must not include tessellation shaders.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-renderPass-00760)~^~
@@ -540,6 +540,7 @@
 VALIDATION_ERROR_096005f8~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-flags-00764~^~(VK_KHX_device_group)~^~The spec valid usage text states 'flags must not contain the VK_PIPELINE_CREATE_DISPATCH_BASE_KHX flag.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-flags-00764)~^~
 VALIDATION_ERROR_09600b06~^~N~^~None~^~VkGraphicsPipelineCreateInfo~^~VUID-VkGraphicsPipelineCreateInfo-subpass-01411~^~(VK_NV_framebuffer_mixed_samples)~^~The spec valid usage text states 'If subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled, then the rasterizationSamples member of pMultisampleState must be the same as the sample count of the depth/stencil attachment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-01411)~^~
 VALIDATION_ERROR_09600b08~^~N~^~None~^~VkGraphicsPipelineCreateInfo~^~VUID-VkGraphicsPipelineCreateInfo-subpass-01412~^~(VK_NV_framebuffer_mixed_samples)~^~The spec valid usage text states 'If subpass has any color attachments, then the rasterizationSamples member of pMultisampleState must be greater than or equal to the sample count for those subpass attachments' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-01412)~^~
+VALIDATION_ERROR_09600bc2~^~N~^~None~^~VkGraphicsPipelineCreateInfo~^~VUID-VkGraphicsPipelineCreateInfo-subpass-01505~^~(VK_AMD_mixed_attachment_samples)~^~The spec valid usage text states 'If subpass uses color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must equal the maximum of the sample counts of those subpass attachments' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-01505)~^~
 VALIDATION_ERROR_09609001~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-flags-parameter~^~core~^~The spec valid usage text states 'flags must be a valid combination of VkPipelineCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-flags-parameter)~^~implicit, TBD in parameter validation layer.
 VALIDATION_ERROR_0960be01~^~Y~^~None~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-layout-parameter~^~core~^~The spec valid usage text states 'layout must be a valid VkPipelineLayout handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-layout-parameter)~^~implicit
 VALIDATION_ERROR_09615601~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter~^~core~^~The spec valid usage text states 'If pDynamicState is not NULL, pDynamicState must be a pointer to a valid VkPipelineDynamicStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter)~^~implicit
@@ -1316,7 +1317,8 @@
 VALIDATION_ERROR_140006ae~^~Y~^~CreateRenderPassAttachments~^~vkCreateRenderPass~^~VUID-VkSubpassDescription-layout-00855~^~core~^~The spec valid usage text states 'If any attachment is used as both an input attachment and a color or depth/stencil attachment, then each use must use the same layout' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-layout-00855)~^~
 VALIDATION_ERROR_140006b0~^~N~^~Unknown~^~vkCreateRenderPass~^~VUID-VkSubpassDescription-flags-00856~^~(VK_NVX_multiview_per_view_attributes)~^~The spec valid usage text states 'If flags includes VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, it must also include VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSubpassDescription-flags-00856)~^~
 VALIDATION_ERROR_14000b12~^~N~^~None~^~VkSubpassDescription~^~VUID-VkSubpassDescription-pColorAttachments-01417~^~core~^~The spec valid usage text states 'All attachments in pColorAttachments that are not VK_ATTACHMENT_UNUSED must have the same sample count' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pColorAttachments-01417)~^~
-VALIDATION_ERROR_14000b14~^~N~^~None~^~VkSubpassDescription~^~VUID-VkSubpassDescription-pDepthStencilAttachment-01418~^~!(VK_NV_framebuffer_mixed_samples)~^~The spec valid usage text states 'If pDepthStencilAttachment is not VK_ATTACHMENT_UNUSED and any attachments in pColorAttachments are not VK_ATTACHMENT_UNUSED, they must have the same sample count' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pDepthStencilAttachment-01418)~^~
+VALIDATION_ERROR_14000b14~^~N~^~None~^~VkSubpassDescription~^~VUID-VkSubpassDescription-pDepthStencilAttachment-01418~^~!(VK_AMD_mixed_attachment_samples)+!(VK_NV_framebuffer_mixed_samples)~^~The spec valid usage text states 'If pDepthStencilAttachment is not VK_ATTACHMENT_UNUSED and any attachments in pColorAttachments are not VK_ATTACHMENT_UNUSED, they must have the same sample count' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pDepthStencilAttachment-01418)~^~
+VALIDATION_ERROR_14000bc4~^~N~^~None~^~VkSubpassDescription~^~VUID-VkSubpassDescription-pColorAttachments-01506~^~(VK_AMD_mixed_attachment_samples)~^~The spec valid usage text states 'All attachments in pColorAttachments that are not VK_ATTACHMENT_UNUSED must have a sample count that is smaller than or equal to the sample count of pDepthStencilAttachment if it is not VK_ATTACHMENT_UNUSED' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSubpassDescription-pColorAttachments-01506)~^~
 VALIDATION_ERROR_14009001~^~Y~^~Unknown~^~vkCreateRenderPass~^~VUID-VkSubpassDescription-flags-parameter~^~core~^~The spec valid usage text states 'flags must be a valid combination of VkSubpassDescriptionFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-flags-parameter)~^~implicit
 VALIDATION_ERROR_14011001~^~Y~^~Unknown~^~vkCreateRenderPass~^~VUID-VkSubpassDescription-pColorAttachments-parameter~^~core~^~The spec valid usage text states 'If colorAttachmentCount is not 0, pColorAttachments must be a pointer to an array of colorAttachmentCount valid VkAttachmentReference structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pColorAttachments-parameter)~^~implicit
 VALIDATION_ERROR_14012a01~^~N~^~Unknown~^~vkCreateRenderPass~^~VUID-VkSubpassDescription-pDepthStencilAttachment-parameter~^~core~^~The spec valid usage text states 'If pDepthStencilAttachment is not NULL, pDepthStencilAttachment must be a pointer to a valid VkAttachmentReference structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pDepthStencilAttachment-parameter)~^~implicit
@@ -1894,6 +1896,7 @@
 VALIDATION_ERROR_1a200386~^~N~^~Unknown~^~vkCmdDraw~^~VUID-vkCmdDraw-linearTilingFeatures-00451~^~(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-vkCmdDraw-linearTilingFeatures-00451)~^~
 VALIDATION_ERROR_1a200388~^~N~^~Unknown~^~vkCmdDraw~^~VUID-vkCmdDraw-None-00452~^~(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-vkCmdDraw-None-00452)~^~
 VALIDATION_ERROR_1a20038a~^~N~^~Unknown~^~vkCmdDraw~^~VUID-vkCmdDraw-maxMultiviewInstanceIndex-00453~^~(VK_KHX_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 VkPhysicalDeviceMultiviewPropertiesKHX::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_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~^~N~^~Unknown~^~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
@@ -1918,6 +1921,7 @@
 VALIDATION_ERROR_1a4003ae~^~N~^~Unknown~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-linearTilingFeatures-00471~^~(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-vkCmdDrawIndexed-linearTilingFeatures-00471)~^~
 VALIDATION_ERROR_1a4003b0~^~N~^~Unknown~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-None-00472~^~(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-vkCmdDrawIndexed-None-00472)~^~
 VALIDATION_ERROR_1a4003b2~^~N~^~Unknown~^~vkCmdDrawIndexed~^~VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-00473~^~(VK_KHX_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 VkPhysicalDeviceMultiviewPropertiesKHX::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_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~^~N~^~Unknown~^~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
@@ -1949,6 +1953,7 @@
 VALIDATION_ERROR_1a60044a~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549~^~(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-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549)~^~
 VALIDATION_ERROR_1a60044c~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-None-00550~^~(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-vkCmdDrawIndexedIndirect-None-00550)~^~
 VALIDATION_ERROR_1a60044e~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-00551~^~(VK_KHX_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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-00551)~^~
+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_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~^~N~^~Unknown~^~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
@@ -1979,6 +1984,7 @@
 VALIDATION_ERROR_1a800480~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-None-00576~^~core~^~The spec valid usage text states 'If the robust buffer access feature is not enabled, and any shader stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it must not access values outside of the range of that buffer specified in the currently bound descriptor set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-None-00576)~^~
 VALIDATION_ERROR_1a800482~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-linearTilingFeatures-00577~^~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-vkCmdDrawIndexedIndirectCountAMD-linearTilingFeatures-00577)~^~
 VALIDATION_ERROR_1a800484~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-maxMultiviewInstanceIndex-00578~^~(VK_KHX_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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-maxMultiviewInstanceIndex-00578)~^~
+VALIDATION_ERROR_1a800bc0~^~N~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-None-01504~^~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-vkCmdDrawIndexedIndirectCountAMD-None-01504)~^~
 VALIDATION_ERROR_1a801a01~^~Y~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-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-vkCmdDrawIndexedIndirectCountAMD-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1a802401~^~Y~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-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-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1a802413~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~VUID-vkCmdDrawIndexedIndirectCountAMD-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-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-recording)~^~implicit
@@ -2012,6 +2018,7 @@
 VALIDATION_ERROR_1aa003e2~^~N~^~Unknown~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-linearTilingFeatures-00497~^~(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-vkCmdDrawIndirect-linearTilingFeatures-00497)~^~
 VALIDATION_ERROR_1aa003e4~^~N~^~Unknown~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-None-00498~^~(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-vkCmdDrawIndirect-None-00498)~^~
 VALIDATION_ERROR_1aa003e6~^~N~^~Unknown~^~vkCmdDrawIndirect~^~VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-00499~^~(VK_KHX_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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-00499)~^~
+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_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~^~N~^~Unknown~^~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
@@ -2042,6 +2049,7 @@
 VALIDATION_ERROR_1ac00416~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-None-00523~^~core~^~The spec valid usage text states 'If the robust buffer access feature is not enabled, and any shader stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it must not access values outside of the range of that buffer specified in the currently bound descriptor set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-None-00523)~^~
 VALIDATION_ERROR_1ac00418~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-linearTilingFeatures-00524~^~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-vkCmdDrawIndirectCountAMD-linearTilingFeatures-00524)~^~
 VALIDATION_ERROR_1ac0041a~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-maxMultiviewInstanceIndex-00525~^~(VK_KHX_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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-maxMultiviewInstanceIndex-00525)~^~
+VALIDATION_ERROR_1ac00bbc~^~N~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-None-01502~^~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-vkCmdDrawIndirectCountAMD-None-01502)~^~
 VALIDATION_ERROR_1ac01a01~^~Y~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-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-vkCmdDrawIndirectCountAMD-buffer-parameter)~^~implicit
 VALIDATION_ERROR_1ac02401~^~Y~^~None~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-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-vkCmdDrawIndirectCountAMD-commandBuffer-parameter)~^~implicit
 VALIDATION_ERROR_1ac02413~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~VUID-vkCmdDrawIndirectCountAMD-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-vkCmdDrawIndirectCountAMD-commandBuffer-recording)~^~implicit
diff --git a/layers/vk_validation_error_messages.h b/layers/vk_validation_error_messages.h
index 9635b9f..01bd963 100644
--- a/layers/vk_validation_error_messages.h
+++ b/layers/vk_validation_error_messages.h
@@ -564,6 +564,7 @@
     VALIDATION_ERROR_096005f8 = 0x096005f8,
     VALIDATION_ERROR_09600b06 = 0x09600b06,
     VALIDATION_ERROR_09600b08 = 0x09600b08,
+    VALIDATION_ERROR_09600bc2 = 0x09600bc2,
     VALIDATION_ERROR_09609001 = 0x09609001,
     VALIDATION_ERROR_0960be01 = 0x0960be01,
     VALIDATION_ERROR_09615601 = 0x09615601,
@@ -1341,6 +1342,7 @@
     VALIDATION_ERROR_140006b0 = 0x140006b0,
     VALIDATION_ERROR_14000b12 = 0x14000b12,
     VALIDATION_ERROR_14000b14 = 0x14000b14,
+    VALIDATION_ERROR_14000bc4 = 0x14000bc4,
     VALIDATION_ERROR_14009001 = 0x14009001,
     VALIDATION_ERROR_14011001 = 0x14011001,
     VALIDATION_ERROR_14012a01 = 0x14012a01,
@@ -1918,6 +1920,7 @@
     VALIDATION_ERROR_1a200386 = 0x1a200386,
     VALIDATION_ERROR_1a200388 = 0x1a200388,
     VALIDATION_ERROR_1a20038a = 0x1a20038a,
+    VALIDATION_ERROR_1a200bb6 = 0x1a200bb6,
     VALIDATION_ERROR_1a202401 = 0x1a202401,
     VALIDATION_ERROR_1a202413 = 0x1a202413,
     VALIDATION_ERROR_1a202415 = 0x1a202415,
@@ -1942,6 +1945,7 @@
     VALIDATION_ERROR_1a4003ae = 0x1a4003ae,
     VALIDATION_ERROR_1a4003b0 = 0x1a4003b0,
     VALIDATION_ERROR_1a4003b2 = 0x1a4003b2,
+    VALIDATION_ERROR_1a400bb8 = 0x1a400bb8,
     VALIDATION_ERROR_1a402401 = 0x1a402401,
     VALIDATION_ERROR_1a402413 = 0x1a402413,
     VALIDATION_ERROR_1a402415 = 0x1a402415,
@@ -1973,6 +1977,7 @@
     VALIDATION_ERROR_1a60044a = 0x1a60044a,
     VALIDATION_ERROR_1a60044c = 0x1a60044c,
     VALIDATION_ERROR_1a60044e = 0x1a60044e,
+    VALIDATION_ERROR_1a600bbe = 0x1a600bbe,
     VALIDATION_ERROR_1a601a01 = 0x1a601a01,
     VALIDATION_ERROR_1a602401 = 0x1a602401,
     VALIDATION_ERROR_1a602413 = 0x1a602413,
@@ -2003,6 +2008,7 @@
     VALIDATION_ERROR_1a800480 = 0x1a800480,
     VALIDATION_ERROR_1a800482 = 0x1a800482,
     VALIDATION_ERROR_1a800484 = 0x1a800484,
+    VALIDATION_ERROR_1a800bc0 = 0x1a800bc0,
     VALIDATION_ERROR_1a801a01 = 0x1a801a01,
     VALIDATION_ERROR_1a802401 = 0x1a802401,
     VALIDATION_ERROR_1a802413 = 0x1a802413,
@@ -2036,6 +2042,7 @@
     VALIDATION_ERROR_1aa003e2 = 0x1aa003e2,
     VALIDATION_ERROR_1aa003e4 = 0x1aa003e4,
     VALIDATION_ERROR_1aa003e6 = 0x1aa003e6,
+    VALIDATION_ERROR_1aa00bba = 0x1aa00bba,
     VALIDATION_ERROR_1aa01a01 = 0x1aa01a01,
     VALIDATION_ERROR_1aa02401 = 0x1aa02401,
     VALIDATION_ERROR_1aa02413 = 0x1aa02413,
@@ -2066,6 +2073,7 @@
     VALIDATION_ERROR_1ac00416 = 0x1ac00416,
     VALIDATION_ERROR_1ac00418 = 0x1ac00418,
     VALIDATION_ERROR_1ac0041a = 0x1ac0041a,
+    VALIDATION_ERROR_1ac00bbc = 0x1ac00bbc,
     VALIDATION_ERROR_1ac01a01 = 0x1ac01a01,
     VALIDATION_ERROR_1ac02401 = 0x1ac02401,
     VALIDATION_ERROR_1ac02413 = 0x1ac02413,
@@ -3930,6 +3938,7 @@
     {VALIDATION_ERROR_096005f8, "The spec valid usage text states 'flags must not contain the VK_PIPELINE_CREATE_DISPATCH_BASE_KHX flag.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-flags-00764)"},
     {VALIDATION_ERROR_09600b06, "The spec valid usage text states 'If subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled, then the rasterizationSamples member of pMultisampleState must be the same as the sample count of the depth/stencil attachment' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-01411)"},
     {VALIDATION_ERROR_09600b08, "The spec valid usage text states 'If subpass has any color attachments, then the rasterizationSamples member of pMultisampleState must be greater than or equal to the sample count for those subpass attachments' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-01412)"},
+    {VALIDATION_ERROR_09600bc2, "The spec valid usage text states 'If subpass uses color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must equal the maximum of the sample counts of those subpass attachments' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-subpass-01505)"},
     {VALIDATION_ERROR_09609001, "The spec valid usage text states 'flags must be a valid combination of VkPipelineCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-flags-parameter)"},
     {VALIDATION_ERROR_0960be01, "The spec valid usage text states 'layout must be a valid VkPipelineLayout handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-layout-parameter)"},
     {VALIDATION_ERROR_09615601, "The spec valid usage text states 'If pDynamicState is not NULL, pDynamicState must be a pointer to a valid VkPipelineDynamicStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter)"},
@@ -4707,6 +4716,7 @@
     {VALIDATION_ERROR_140006b0, "The spec valid usage text states 'If flags includes VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, it must also include VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSubpassDescription-flags-00856)"},
     {VALIDATION_ERROR_14000b12, "The spec valid usage text states 'All attachments in pColorAttachments that are not VK_ATTACHMENT_UNUSED must have the same sample count' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pColorAttachments-01417)"},
     {VALIDATION_ERROR_14000b14, "The spec valid usage text states 'If pDepthStencilAttachment is not VK_ATTACHMENT_UNUSED and any attachments in pColorAttachments are not VK_ATTACHMENT_UNUSED, they must have the same sample count' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pDepthStencilAttachment-01418)"},
+    {VALIDATION_ERROR_14000bc4, "The spec valid usage text states 'All attachments in pColorAttachments that are not VK_ATTACHMENT_UNUSED must have a sample count that is smaller than or equal to the sample count of pDepthStencilAttachment if it is not VK_ATTACHMENT_UNUSED' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkSubpassDescription-pColorAttachments-01506)"},
     {VALIDATION_ERROR_14009001, "The spec valid usage text states 'flags must be a valid combination of VkSubpassDescriptionFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-flags-parameter)"},
     {VALIDATION_ERROR_14011001, "The spec valid usage text states 'If colorAttachmentCount is not 0, pColorAttachments must be a pointer to an array of colorAttachmentCount valid VkAttachmentReference structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pColorAttachments-parameter)"},
     {VALIDATION_ERROR_14012a01, "The spec valid usage text states 'If pDepthStencilAttachment is not NULL, pDepthStencilAttachment must be a pointer to a valid VkAttachmentReference structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDescription-pDepthStencilAttachment-parameter)"},
@@ -5284,6 +5294,7 @@
     {VALIDATION_ERROR_1a200386, "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-vkCmdDraw-linearTilingFeatures-00451)"},
     {VALIDATION_ERROR_1a200388, "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-vkCmdDraw-None-00452)"},
     {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 VkPhysicalDeviceMultiviewPropertiesKHX::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_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)"},
@@ -5308,6 +5319,7 @@
     {VALIDATION_ERROR_1a4003ae, "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-vkCmdDrawIndexed-linearTilingFeatures-00471)"},
     {VALIDATION_ERROR_1a4003b0, "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-vkCmdDrawIndexed-None-00472)"},
     {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 VkPhysicalDeviceMultiviewPropertiesKHX::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_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)"},
@@ -5339,6 +5351,7 @@
     {VALIDATION_ERROR_1a60044a, "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-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549)"},
     {VALIDATION_ERROR_1a60044c, "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-vkCmdDrawIndexedIndirect-None-00550)"},
     {VALIDATION_ERROR_1a60044e, "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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-00551)"},
+    {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_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)"},
@@ -5369,6 +5382,7 @@
     {VALIDATION_ERROR_1a800480, "The spec valid usage text states 'If the robust buffer access feature is not enabled, and any shader stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it must not access values outside of the range of that buffer specified in the currently bound descriptor set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-None-00576)"},
     {VALIDATION_ERROR_1a800482, "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-vkCmdDrawIndexedIndirectCountAMD-linearTilingFeatures-00577)"},
     {VALIDATION_ERROR_1a800484, "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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-maxMultiviewInstanceIndex-00578)"},
+    {VALIDATION_ERROR_1a800bc0, "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-vkCmdDrawIndexedIndirectCountAMD-None-01504)"},
     {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/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/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/html/vkspec.html#VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-recording)"},
@@ -5402,6 +5416,7 @@
     {VALIDATION_ERROR_1aa003e2, "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-vkCmdDrawIndirect-linearTilingFeatures-00497)"},
     {VALIDATION_ERROR_1aa003e4, "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-vkCmdDrawIndirect-None-00498)"},
     {VALIDATION_ERROR_1aa003e6, "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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-00499)"},
+    {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_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)"},
@@ -5432,6 +5447,7 @@
     {VALIDATION_ERROR_1ac00416, "The spec valid usage text states 'If the robust buffer access feature is not enabled, and any shader stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it must not access values outside of the range of that buffer specified in the currently bound descriptor set' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-None-00523)"},
     {VALIDATION_ERROR_1ac00418, "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-vkCmdDrawIndirectCountAMD-linearTilingFeatures-00524)"},
     {VALIDATION_ERROR_1ac0041a, "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 VkPhysicalDeviceMultiviewPropertiesKHX::maxMultiviewInstanceIndex.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-maxMultiviewInstanceIndex-00525)"},
+    {VALIDATION_ERROR_1ac00bbc, "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-vkCmdDrawIndirectCountAMD-None-01502)"},
     {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/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/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/html/vkspec.html#VUID-vkCmdDrawIndirectCountAMD-commandBuffer-recording)"},
diff --git a/layers/windows/VkLayer_core_validation.json b/layers/windows/VkLayer_core_validation.json
index e4cf1b4..c80a010 100644
--- a/layers/windows/VkLayer_core_validation.json
+++ b/layers/windows/VkLayer_core_validation.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_core_validation",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_core_validation.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
diff --git a/layers/windows/VkLayer_object_tracker.json b/layers/windows/VkLayer_object_tracker.json
index 9aaa794..6ec9eab 100644
--- a/layers/windows/VkLayer_object_tracker.json
+++ b/layers/windows/VkLayer_object_tracker.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_object_tracker",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_object_tracker.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
diff --git a/layers/windows/VkLayer_parameter_validation.json b/layers/windows/VkLayer_parameter_validation.json
index aacdcb1..9644bab 100644
--- a/layers/windows/VkLayer_parameter_validation.json
+++ b/layers/windows/VkLayer_parameter_validation.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_parameter_validation",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_parameter_validation.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Validation Layer",
         "instance_extensions": [
diff --git a/layers/windows/VkLayer_standard_validation.json b/layers/windows/VkLayer_standard_validation.json
index d5456c4..a594355 100644
--- a/layers/windows/VkLayer_standard_validation.json
+++ b/layers/windows/VkLayer_standard_validation.json
@@ -3,7 +3,7 @@
     "layer": {
         "name": "VK_LAYER_LUNARG_standard_validation",
         "type": "GLOBAL",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Standard Validation",
         "component_layers": [
diff --git a/layers/windows/VkLayer_threading.json b/layers/windows/VkLayer_threading.json
index ed4778c..eeb967a 100644
--- a/layers/windows/VkLayer_threading.json
+++ b/layers/windows/VkLayer_threading.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_threading",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_threading.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "Google Validation Layer",
         "instance_extensions": [
diff --git a/layers/windows/VkLayer_unique_objects.json b/layers/windows/VkLayer_unique_objects.json
index 495471a..ec68a86 100644
--- a/layers/windows/VkLayer_unique_objects.json
+++ b/layers/windows/VkLayer_unique_objects.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_GOOGLE_unique_objects",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_unique_objects.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "Google Validation Layer"
     }
diff --git a/scripts/cgenerator.py b/scripts/cgenerator.py
index 298a774..836de52 100644
--- a/scripts/cgenerator.py
+++ b/scripts/cgenerator.py
@@ -240,7 +240,16 @@
                 # Add extra newline after multi-line entries.
                 if '\n' in s:
                     s += '\n'
-                self.appendSection(category, s)
+                # This is a temporary workaround for internal issue #877,
+                # while we consider other approaches. The problem is that
+                # function pointer types can have dependencies on structures
+                # and vice-versa, so they can't be strictly separated into
+                # sections. The workaround is to define those types in the
+                # same section, in dependency order.
+                if (category == 'funcpointer'):
+                    self.appendSection('struct', s)
+                else:
+                    self.appendSection(category, s)
     #
     # Struct (e.g. C "struct" type) generation.
     # This is a special case of the <type> tag where the contents are
diff --git a/scripts/vk.xml b/scripts/vk.xml
index 5561e7f..85a49af 100644
--- a/scripts/vk.xml
+++ b/scripts/vk.xml
@@ -106,7 +106,7 @@
         <type category="define">// Vulkan 1.0 version number
 #define <name>VK_API_VERSION_1_0</name> <type>VK_MAKE_VERSION</type>(1, 0, 0)// Patch version should always be set to 0</type>
         <type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 56</type>
+#define <name>VK_HEADER_VERSION</name> 57</type>
 
         <type category="define">
 #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@@ -546,7 +546,7 @@
         </type>
         <type category="struct" name="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPhysicalDeviceFeatures2KHR,VkPhysicalDevice16BitStorageFeaturesKHR,VkPhysicalDeviceVariablePointerFeaturesKHR,VkPhysicalDeviceMultiviewFeaturesKHX,VkDeviceGroupDeviceCreateInfoKHX">const <type>void</type>*     <name>pNext</name></member>
+            <member>const <type>void</type>*     <name>pNext</name></member>
             <member optional="true"><type>VkDeviceCreateFlags</type>    <name>flags</name></member>
             <member><type>uint32_t</type>        <name>queueCreateInfoCount</name></member>
             <member len="queueCreateInfoCount">const <type>VkDeviceQueueCreateInfo</type>* <name>pQueueCreateInfos</name></member>
@@ -558,7 +558,7 @@
         </type>
         <type category="struct" name="VkInstanceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDebugReportCallbackCreateInfoEXT,VkValidationFlagsEXT">const <type>void</type>*     <name>pNext</name></member>
+            <member>const <type>void</type>*     <name>pNext</name></member>
             <member optional="true"><type>VkInstanceCreateFlags</type>  <name>flags</name></member>
             <member optional="true">const <type>VkApplicationInfo</type>* <name>pApplicationInfo</name></member>
             <member optional="true"><type>uint32_t</type>               <name>enabledLayerCount</name></member>
@@ -580,7 +580,7 @@
         </type>
         <type category="struct" name="VkMemoryAllocateInfo">
             <member values="VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDedicatedAllocationMemoryAllocateInfoNV,VkMemoryAllocateFlagsInfoKHX,VkMemoryDedicatedAllocateInfoKHR,VkExportMemoryAllocateInfoKHR,VkImportMemoryWin32HandleInfoKHR,VkImportMemoryWin32HandleInfoNV,VkImportMemoryFdInfoKHR,VkExportMemoryAllocateInfoNV,VkExportMemoryWin32HandleInfoKHR,VkExportMemoryWin32HandleInfoNV">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkDeviceSize</type>           <name>allocationSize</name><comment>Size of memory allocation</comment></member>
             <member><type>uint32_t</type>               <name>memoryTypeIndex</name><comment>Index of the of the memory type to allocate from</comment></member>
         </type>
@@ -663,7 +663,7 @@
         </type>
         <type category="struct" name="VkBufferCreateInfo">
             <member values="VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDedicatedAllocationBufferCreateInfoNV,VkExternalMemoryBufferCreateInfoKHR">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkBufferCreateFlags</type>    <name>flags</name><comment>Buffer creation flags</comment></member>
             <member><type>VkDeviceSize</type>           <name>size</name><comment>Specified in bytes</comment></member>
             <member><type>VkBufferUsageFlags</type>     <name>usage</name><comment>Buffer usage flags</comment></member>
@@ -729,7 +729,7 @@
         </type>
         <type category="struct" name="VkImageCreateInfo">
             <member values="VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDedicatedAllocationImageCreateInfoNV,VkImageSwapchainCreateInfoKHX,VkExternalMemoryImageCreateInfoKHR,VkExternalMemoryImageCreateInfoNV">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkImageCreateFlags</type>     <name>flags</name><comment>Image creation flags</comment></member>
             <member><type>VkImageType</type>            <name>imageType</name></member>
             <member><type>VkFormat</type>               <name>format</name></member>
@@ -798,7 +798,7 @@
         </type>
         <type category="struct" name="VkBindSparseInfo">
             <member values="VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDeviceGroupBindSparseInfoKHX">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>               <name>waitSemaphoreCount</name></member>
             <member len="waitSemaphoreCount">const <type>VkSemaphore</type>*     <name>pWaitSemaphores</name></member>
             <member optional="true"><type>uint32_t</type>               <name>bufferBindCount</name></member>
@@ -942,7 +942,7 @@
         </type>
         <type category="struct" name="VkPipelineViewportStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPipelineViewportWScalingStateCreateInfoNV,VkPipelineViewportSwizzleStateCreateInfoNV">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineViewportStateCreateFlags</type>    <name>flags</name></member>
             <member><type>uint32_t</type>               <name>viewportCount</name></member>
             <member noautovalidity="true" optional="true" len="viewportCount">const <type>VkViewport</type>*      <name>pViewports</name></member>
@@ -951,7 +951,7 @@
         </type>
         <type category="struct" name="VkPipelineRasterizationStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPipelineRasterizationStateRasterizationOrderAMD">const <type>void</type>* <name>pNext</name></member>
+            <member>const <type>void</type>* <name>pNext</name></member>
             <member optional="true"><type>VkPipelineRasterizationStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkBool32</type>               <name>depthClampEnable</name></member>
             <member><type>VkBool32</type>               <name>rasterizerDiscardEnable</name></member>
@@ -966,7 +966,7 @@
         </type>
         <type category="struct" name="VkPipelineMultisampleStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPipelineCoverageToColorStateCreateInfoNV,VkPipelineCoverageModulationStateCreateInfoNV">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineMultisampleStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkSampleCountFlagBits</type>  <name>rasterizationSamples</name><comment>Number of samples used for rasterization</comment></member>
             <member><type>VkBool32</type>               <name>sampleShadingEnable</name><comment>optional (GL45)</comment></member>
@@ -987,7 +987,7 @@
         </type>
         <type category="struct" name="VkPipelineColorBlendStateCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPipelineColorBlendAdvancedStateCreateInfoEXT">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineColorBlendStateCreateFlags</type>    <name>flags</name></member>
             <member><type>VkBool32</type>               <name>logicOpEnable</name></member>
             <member noautovalidity="true"><type>VkLogicOp</type>              <name>logicOp</name></member>
@@ -1027,7 +1027,7 @@
         </type>
         <type category="struct" name="VkGraphicsPipelineCreateInfo">
             <member values="VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPipelineDiscardRectangleStateCreateInfoEXT">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkPipelineCreateFlags</type>  <name>flags</name><comment>Pipeline creation flags</comment></member>
             <member><type>uint32_t</type>               <name>stageCount</name></member>
             <member len="stageCount">const <type>VkPipelineShaderStageCreateInfo</type>* <name>pStages</name><comment>One entry for each active shader stage</comment></member>
@@ -1069,7 +1069,7 @@
         </type>
         <type category="struct" name="VkSamplerCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkSamplerReductionModeCreateInfoEXT">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkSamplerCreateFlags</type>   <name>flags</name></member>
             <member><type>VkFilter</type>               <name>magFilter</name><comment>Filter mode for magnification</comment></member>
             <member><type>VkFilter</type>               <name>minFilter</name><comment>Filter mode for minifiation</comment></member>
@@ -1112,13 +1112,13 @@
         </type>
         <type category="struct" name="VkCommandBufferBeginInfo">
             <member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDeviceGroupCommandBufferBeginInfoKHX">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkCommandBufferUsageFlags</type>  <name>flags</name><comment>Command buffer usage flags</comment></member>
             <member optional="true" noautovalidity="true">const <type>VkCommandBufferInheritanceInfo</type>*       <name>pInheritanceInfo</name><comment>Pointer to inheritance info for secondary command buffers</comment></member>
         </type>
         <type category="struct" name="VkRenderPassBeginInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDeviceGroupRenderPassBeginInfoKHX">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member><type>VkRenderPass</type>           <name>renderPass</name></member>
             <member><type>VkFramebuffer</type>          <name>framebuffer</name></member>
             <member><type>VkRect2D</type>               <name>renderArea</name></member>
@@ -1181,7 +1181,7 @@
         </type>
         <type category="struct" name="VkRenderPassCreateInfo">
             <member values="VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkRenderPassMultiviewCreateInfoKHX">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkRenderPassCreateFlags</type>    <name>flags</name></member>
             <member optional="true"><type>uint32_t</type>   <name>attachmentCount</name></member>
             <member len="attachmentCount">const <type>VkAttachmentDescription</type>* <name>pAttachments</name></member>
@@ -1197,7 +1197,7 @@
         </type>
         <type category="struct" name="VkFenceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkExportFenceCreateInfoKHR,VkExportFenceWin32HandleInfoKHR">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkFenceCreateFlags</type>     <name>flags</name><comment>Fence creation flags</comment></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceFeatures">
@@ -1383,7 +1383,7 @@
         </type>
         <type category="struct" name="VkSemaphoreCreateInfo">
             <member values="VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkExportSemaphoreCreateInfoKHR,VkExportSemaphoreWin32HandleInfoKHR">const <type>void</type>*            <name>pNext</name></member>
+            <member>const <type>void</type>*            <name>pNext</name></member>
             <member optional="true"><type>VkSemaphoreCreateFlags</type> <name>flags</name><comment>Semaphore creation flags</comment></member>
         </type>
         <type category="struct" name="VkQueryPoolCreateInfo">
@@ -1425,7 +1425,7 @@
         </type>
         <type category="struct" name="VkSubmitInfo">
             <member values="VK_STRUCTURE_TYPE_SUBMIT_INFO"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkWin32KeyedMutexAcquireReleaseInfoNV,VkWin32KeyedMutexAcquireReleaseInfoKHR,VkD3D12FenceSubmitInfoKHR,VkDeviceGroupSubmitInfoKHX">const <type>void</type>* <name>pNext</name></member>
+            <member>const <type>void</type>* <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>       <name>waitSemaphoreCount</name></member>
             <member len="waitSemaphoreCount">const <type>VkSemaphore</type>*     <name>pWaitSemaphores</name></member>
             <member len="waitSemaphoreCount">const <type>VkPipelineStageFlags</type>*           <name>pWaitDstStageMask</name></member>
@@ -1557,7 +1557,7 @@
         </type>
         <type category="struct" name="VkSwapchainCreateInfoKHR">
             <member values="VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDeviceGroupSwapchainCreateInfoKHX,VkSwapchainCounterCreateInfoEXT">const <type>void</type>*                      <name>pNext</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
             <member optional="true"><type>VkSwapchainCreateFlagsKHR</type>        <name>flags</name></member>
             <member><type>VkSurfaceKHR</type>                     <name>surface</name><comment>The swapchain's target surface</comment></member>
             <member><type>uint32_t</type>                         <name>minImageCount</name><comment>Minimum number of presentation images the application needs</comment></member>
@@ -1577,7 +1577,7 @@
         </type>
         <type category="struct" name="VkPresentInfoKHR">
             <member values="VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkDisplayPresentInfoKHR,VkPresentRegionsKHR,VkDeviceGroupPresentInfoKHX,VkPresentTimesInfoGOOGLE">const <type>void</type>*  <name>pNext</name></member>
+            <member>const <type>void</type>*  <name>pNext</name></member>
             <member optional="true"><type>uint32_t</type>         <name>waitSemaphoreCount</name><comment>Number of semaphores to wait for before presenting</comment></member>
             <member len="waitSemaphoreCount">const <type>VkSemaphore</type>* <name>pWaitSemaphores</name><comment>Semaphores to wait for before presenting</comment></member>
             <member><type>uint32_t</type>                         <name>swapchainCount</name><comment>Number of swapchains to present in this call</comment></member>
@@ -1782,12 +1782,12 @@
         </type>
         <type category="struct" name="VkPhysicalDeviceFeatures2KHR" structextends="VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPhysicalDevice16BitStorageFeaturesKHR,VkPhysicalDeviceVariablePointerFeaturesKHR,VkPhysicalDeviceMultiviewFeaturesKHX,VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"><type>void</type>*                            <name>pNext</name></member>
+            <member><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPhysicalDeviceFeatures</type>         <name>features</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceProperties2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPhysicalDevicePushDescriptorPropertiesKHR,VkPhysicalDeviceIDPropertiesKHR,VkPhysicalDeviceMultiviewPropertiesKHX,VkPhysicalDeviceDiscardRectanglePropertiesEXT,VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT"><type>void</type>*                            <name>pNext</name></member>
+            <member><type>void</type>*                            <name>pNext</name></member>
             <member><type>VkPhysicalDeviceProperties</type>       <name>properties</name></member>
         </type>
         <type category="struct" name="VkFormatProperties2KHR" returnedonly="true">
@@ -1797,12 +1797,12 @@
         </type>
         <type category="struct" name="VkImageFormatProperties2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkExternalImageFormatPropertiesKHR,VkTextureLODGatherFormatPropertiesAMD"><type>void</type>* <name>pNext</name></member>
+            <member><type>void</type>* <name>pNext</name></member>
             <member><type>VkImageFormatProperties</type>          <name>imageFormatProperties</name></member>
         </type>
         <type category="struct" name="VkPhysicalDeviceImageFormatInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkPhysicalDeviceExternalImageFormatInfoKHR">const <type>void</type>* <name>pNext</name></member>
+            <member>const <type>void</type>* <name>pNext</name></member>
             <member><type>VkFormat</type>                         <name>format</name></member>
             <member><type>VkImageType</type>                      <name>type</name></member>
             <member><type>VkImageTiling</type>                    <name>tiling</name></member>
@@ -2159,7 +2159,7 @@
         </type>
         <type category="struct" name="VkBindImageMemoryInfoKHX">
             <member values="VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkBindImageMemorySwapchainInfoKHX">const <type>void</type>*                      <name>pNext</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
             <member><type>VkImage</type>                          <name>image</name></member>
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkDeviceSize</type>                     <name>memoryOffset</name></member>
@@ -2360,7 +2360,7 @@
         </type>
         <type category="struct" name="VkSurfaceCapabilities2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkSharedPresentSurfaceCapabilitiesKHR"><type>void</type>*   <name>pNext</name></member>
+            <member><type>void</type>*   <name>pNext</name></member>
             <member><type>VkSurfaceCapabilitiesKHR</type> <name>surfaceCapabilities</name></member>
         </type>
         <type category="struct" name="VkSurfaceFormat2KHR" returnedonly="true">
@@ -2398,7 +2398,7 @@
         </type>
         <type category="struct" name="VkMemoryRequirements2KHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR"><type>VkStructureType</type> <name>sType</name></member>
-            <member validextensionstructs="VkMemoryDedicatedRequirementsKHR"><type>void</type>* <name>pNext</name></member>
+            <member><type>void</type>* <name>pNext</name></member>
             <member><type>VkMemoryRequirements</type>                                                 <name>memoryRequirements</name></member>
         </type>
         <type category="struct" name="VkSparseImageMemoryRequirements2KHR" returnedonly="true">
@@ -6691,10 +6691,10 @@
                 <enum value="&quot;VK_AMD_extension_136&quot;"           name="VK_AMD_EXTENSION_136_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_AMD_extension_137" number="137" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
+        <extension name="VK_AMD_mixed_attachment_samples" number="137" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan">
             <require>
-                <enum value="0"                                          name="VK_AMD_EXTENSION_137_SPEC_VERSION"/>
-                <enum value="&quot;VK_AMD_extension_137&quot;"           name="VK_AMD_EXTENSION_137_EXTENSION_NAME"/>
+                <enum value="1"                                          name="VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION"/>
+                <enum value="&quot;VK_AMD_mixed_attachment_samples&quot;" name="VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME"/>
             </require>
         </extension>
         <extension name="VK_AMD_extension_138" number="138" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled">
@@ -6739,9 +6739,9 @@
                 <enum value="&quot;VK_AMD_extension_144&quot;"           name="VK_AMD_EXTENSION_144_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_KHR_relaxed_block_layout" number="145" author="KHR" contact="John Kessenich @johnk" supported="disabled">
+        <extension name="VK_KHR_relaxed_block_layout" number="145" type="device" author="KHR" contact="John Kessenich @johnk" supported="vulkan">
             <require>
-                <enum value="0"                                          name="VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION"/>
+                <enum value="1"                                          name="VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION"/>
                 <enum value="&quot;VK_KHR_relaxed_block_layout&quot;"    name="VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME"/>
             </require>
         </extension>
@@ -6880,10 +6880,10 @@
                 <enum value="&quot;VK_NV_extension_155&quot;"            name="VK_NV_EXTENSION_155_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_NV_extension_156" number="156" author="NV" contact="Jeff Bolz @jbolz" supported="disabled">
+        <extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan">
             <require>
-                <enum value="0"                                          name="VK_NV_EXTENSION_156_SPEC_VERSION"/>
-                <enum value="&quot;VK_NV_extension_156&quot;"            name="VK_NV_EXTENSION_156_EXTENSION_NAME"/>
+                <enum value="1"                                          name="VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_post_depth_coverage&quot;"     name="VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME"/>
             </require>
         </extension>
         <extension name="VK_KHR_extension_157" number="157" author="KHR" contact="Andrew Garrard @fluppeteer" supported="disabled">
@@ -6916,5 +6916,11 @@
                 <enum value="&quot;VK_EXT_extension_161&quot;"           name="VK_EXT_EXTENSION_161_EXTENSION_NAME"/>
             </require>
         </extension>
+        <extension name="VK_EXT_extension_162" number="162" author="NV" contact="Jeff Bolz @jbolz" supported="disabled">
+            <require>
+                <enum value="0"                                          name="VK_EXT_EXTENSION_162_SPEC_VERSION"/>
+                <enum value="&quot;VK_EXT_extension_162&quot;"           name="VK_EXT_EXTENSION_162_EXTENSION_NAME"/>
+            </require>
+        </extension>
     </extensions>
 </registry>
diff --git a/tests/layers/linux/VkLayer_device_profile_api.json b/tests/layers/linux/VkLayer_device_profile_api.json
index 3840bcd..ce1e808 100644
--- a/tests/layers/linux/VkLayer_device_profile_api.json
+++ b/tests/layers/linux/VkLayer_device_profile_api.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_device_profile_api",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_device_profile_api.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "2",
         "description": "LunarG Device Profile Api Layer",
         "device_extensions": [
diff --git a/tests/layers/linux/VkLayer_test.json b/tests/layers/linux/VkLayer_test.json
index cd96e43..0de97bd 100644
--- a/tests/layers/linux/VkLayer_test.json
+++ b/tests/layers/linux/VkLayer_test.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_test",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_test.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Test Layer",
         "enable_environment": {
diff --git a/tests/layers/linux/VkLayer_wrap_objects.json b/tests/layers/linux/VkLayer_wrap_objects.json
index 8db1db8..30572f3 100644
--- a/tests/layers/linux/VkLayer_wrap_objects.json
+++ b/tests/layers/linux/VkLayer_wrap_objects.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_wrap_objects",
         "type": "GLOBAL",
         "library_path": "./libVkLayer_wrap_objects.so",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Dispatchable Object Wrapping Layer"
     }
diff --git a/tests/layers/windows/VkLayer_device_profile_api.json b/tests/layers/windows/VkLayer_device_profile_api.json
index a050692..202955b 100644
--- a/tests/layers/windows/VkLayer_device_profile_api.json
+++ b/tests/layers/windows/VkLayer_device_profile_api.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_device_profile_api",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_device_profile_api.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "2",
         "description": "LunarG Device Profile Api Layer",
         "device_extensions": [
diff --git a/tests/layers/windows/VkLayer_test.json b/tests/layers/windows/VkLayer_test.json
index 1b9d2b5..899669a 100644
--- a/tests/layers/windows/VkLayer_test.json
+++ b/tests/layers/windows/VkLayer_test.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_test",
         "type": "GLOBAL",
         "library_path": ".\\libVkLayer_test.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Test Layer",
         "enable_environment": {
diff --git a/tests/layers/windows/VkLayer_wrap_objects.json b/tests/layers/windows/VkLayer_wrap_objects.json
index abe3b1d..1a70ec0 100644
--- a/tests/layers/windows/VkLayer_wrap_objects.json
+++ b/tests/layers/windows/VkLayer_wrap_objects.json
@@ -4,7 +4,7 @@
         "name": "VK_LAYER_LUNARG_wrap_objects",
         "type": "GLOBAL",
         "library_path": ".\\VkLayer_wrap_objects.dll",
-        "api_version": "1.0.56",
+        "api_version": "1.0.57",
         "implementation_version": "1",
         "description": "LunarG Dispatchable Object Wrapping Layer"
     }