From 9f73b931f402f23554a60015924e7e35c7047487 Mon Sep 17 00:00:00 2001 From: Jon Leech <4693344+oddhack@users.noreply.github.com> Date: Thu, 7 Jul 2022 05:30:03 -0700 Subject: [PATCH] Update for Vulkan-Docs 1.3.220 --- include/vulkan/vulkan.hpp | 10 +- include/vulkan/vulkan_core.h | 2 +- registry/validusage.json | 478 +++++++++++++++++++++++++---------- registry/vk.xml | 19 +- 4 files changed, 368 insertions(+), 141 deletions(-) diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index b8cd31b..b59a87b 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -120,7 +120,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 219, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 220, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for non-dispatchable 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 @@ -8573,6 +8573,14 @@ namespace VULKAN_HPP_NAMESPACE value = true }; }; + template <> + struct StructExtends + { + enum + { + value = true + }; + }; #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_KHR_portability_subset === diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index aef16f9..666d23d 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -72,7 +72,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 219 +#define VK_HEADER_VERSION 220 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) diff --git a/registry/validusage.json b/registry/validusage.json index d33f7d9..ee34087 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.219", - "comment": "from git branch: github-main commit: 080f66a96b61419b8663872d6cab6ce68a3123e8", - "date": "2022-06-30 10:14:20Z" + "api version": "1.3.220", + "comment": "from git branch: github-main commit: 29f44f378cdeb1b96b47ce00fb32f49954f2d29d", + "date": "2022-07-07 12:03:17Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -6200,6 +6200,10 @@ } ], "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_VERSION_1_3,VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkImageMemoryBarrier2-synchronization2-06911", + "text": " If synchronization2 is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + }, { "vuid": "VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-03938", "text": " If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, image must have been created with VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT" @@ -6384,6 +6388,10 @@ } ], "(VK_VERSION_1_3,VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkImageMemoryBarrier-synchronization2-06911", + "text": " If synchronization2 is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + }, { "vuid": "VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-03938", "text": " If srcQueueFamilyIndex and dstQueueFamilyIndex define a queue family ownership transfer or oldLayout and newLayout define an image layout transition, and oldLayout or newLayout is VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, image must have been created with VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT or VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT" @@ -7352,17 +7360,13 @@ "vuid": "VUID-VkAttachmentDescription-format-06698", "text": " format must not be VK_FORMAT_UNDEFINED" }, - { - "vuid": "VUID-VkAttachmentDescription-finalLayout-00843", - "text": " finalLayout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED" - }, { "vuid": "VUID-VkAttachmentDescription-format-06699", "text": " If format includes a color or depth aspect and loadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" }, { - "vuid": "VUID-VkAttachmentDescription-format-06700", - "text": " If format includes a stencil aspect and stencilLoadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" + "vuid": "VUID-VkAttachmentDescription-finalLayout-00843", + "text": " finalLayout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED" }, { "vuid": "VUID-VkAttachmentDescription-format-03280", @@ -7380,6 +7384,26 @@ "vuid": "VUID-VkAttachmentDescription-format-03283", "text": " If format is a depth/stencil format, finalLayout must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL" }, + { + "vuid": "VUID-VkAttachmentDescription-format-06700", + "text": " If format includes a stencil aspect and stencilLoadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" + }, + { + "vuid": "VUID-VkAttachmentDescription-format-03292", + "text": " If format is a depth/stencil format which includes only the stencil aspect, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription-format-03293", + "text": " If format is a depth/stencil format which includes only the stencil aspect, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription-format-06242", + "text": " If format is a depth/stencil format which includes both depth and stencil aspects, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription-format-06243", + "text": " If format is a depth/stencil format which includes both depth and stencil aspects, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + }, { "vuid": "VUID-VkAttachmentDescription-flags-parameter", "text": " flags must be a valid combination of VkAttachmentDescriptionFlagBits values" @@ -7430,11 +7454,11 @@ "(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ { "vuid": "VUID-VkAttachmentDescription-separateDepthStencilLayouts-03284", - "text": " If the separateDepthStencilLayouts feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "text": " If the separateDepthStencilLayouts feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL," }, { "vuid": "VUID-VkAttachmentDescription-separateDepthStencilLayouts-03285", - "text": " If the separateDepthStencilLayouts feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "text": " If the separateDepthStencilLayouts feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL," }, { "vuid": "VUID-VkAttachmentDescription-format-03286", @@ -7445,12 +7469,12 @@ "text": " If format is a color format, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" }, { - "vuid": "VUID-VkAttachmentDescription-format-03288", - "text": " If format is a depth/stencil format which includes both depth and stencil aspects, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription-format-06906", + "text": " If format is a depth/stencil format which includes both depth and stencil aspects, initialLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" }, { - "vuid": "VUID-VkAttachmentDescription-format-03289", - "text": " If format is a depth/stencil format which includes both depth and stencil aspects, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription-format-06907", + "text": " If format is a depth/stencil format which includes both depth and stencil aspects, finalLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" }, { "vuid": "VUID-VkAttachmentDescription-format-03290", @@ -7459,14 +7483,16 @@ { "vuid": "VUID-VkAttachmentDescription-format-03291", "text": " If format is a depth/stencil format which includes only the depth aspect, finalLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + } + ], + "(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkAttachmentDescription-synchronization2-06908", + "text": " If synchronization2 is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" }, { - "vuid": "VUID-VkAttachmentDescription-format-03292", - "text": " If format is a depth/stencil format which includes only the stencil aspect, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription-format-03293", - "text": " If format is a depth/stencil format which includes only the stencil aspect, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription-synchronization2-06909", + "text": " If synchronization2 is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" } ] }, @@ -7509,19 +7535,23 @@ ] }, "VkSubpassDescription": { - "!(VK_HUAWEI_subpass_shading)": [ - { - "vuid": "VUID-VkSubpassDescription-pipelineBindPoint-00844", - "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS" - } - ], - "(VK_HUAWEI_subpass_shading)": [ - { - "vuid": "VUID-VkSubpassDescription-pipelineBindPoint-04952", - "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS or VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI" - } - ], "core": [ + { + "vuid": "VUID-VkSubpassDescription-attachment-06912", + "text": " If the attachment member of an element of pInputAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06913", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06914", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06915", + "text": " If the attachment member of pDepthStencilAttachment is not VK_ATTACHMENT_UNUSED, ts layout member must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL" + }, { "vuid": "VUID-VkSubpassDescription-colorAttachmentCount-00845", "text": " colorAttachmentCount must be less than or equal to VkPhysicalDeviceLimits::maxColorAttachments" @@ -7582,10 +7612,6 @@ "vuid": "VUID-VkSubpassDescription-layout-02519", "text": " If any attachment is used by more than one VkAttachmentReference member, then each use must use the same layout" }, - { - "vuid": "VUID-VkSubpassDescription-None-04437", - "text": " Each attachment must follow the image layout requirements specified for its attachment type" - }, { "vuid": "VUID-VkSubpassDescription-pDepthStencilAttachment-04438", "text": " pDepthStencilAttachment and pColorAttachments must not contain references to the same attachment" @@ -7619,6 +7645,56 @@ "text": " If preserveAttachmentCount is not 0, pPreserveAttachments must be a valid pointer to an array of preserveAttachmentCount uint32_t values" } ], + "(VK_VERSION_1_1,VK_KHR_maintenance2)": [ + { + "vuid": "VUID-VkSubpassDescription-attachment-06916", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06917", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + } + ], + "(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ + { + "vuid": "VUID-VkSubpassDescription-attachment-06918", + "text": " If the attachment member of an element of pInputAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06919", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06920", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + } + ], + "(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkSubpassDescription-attachment-06921", + "text": " If the attachment member of an element of pInputAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06922", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + }, + { + "vuid": "VUID-VkSubpassDescription-attachment-06923", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + } + ], + "!(VK_HUAWEI_subpass_shading)": [ + { + "vuid": "VUID-VkSubpassDescription-pipelineBindPoint-00844", + "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS" + } + ], + "(VK_HUAWEI_subpass_shading)": [ + { + "vuid": "VUID-VkSubpassDescription-pipelineBindPoint-04952", + "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS or VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI" + } + ], "(VK_NV_linear_color_attachment)": [ { "vuid": "VUID-VkSubpassDescription-linearColorAttachment-06496", @@ -7665,13 +7741,25 @@ "VkAttachmentReference": { "core": [ { - "vuid": "VUID-VkAttachmentReference-layout-00857", - "text": " If attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_PREINITIALIZED, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentReference-layout-03077", + "text": " If attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_PREINITIALIZED, or VK_IMAGE_LAYOUT_PRESENT_SRC_KHR" }, { "vuid": "VUID-VkAttachmentReference-layout-parameter", "text": " layout must be a valid VkImageLayout value" } + ], + "(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ + { + "vuid": "VUID-VkAttachmentReference-separateDepthStencilLayouts-03313", + "text": " If the separateDepthStencilLayouts feature is not enabled, and attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL," + } + ], + "(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkAttachmentReference-synchronization2-06910", + "text": " If synchronization2 is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + } ] }, "VkSubpassDependency": { @@ -7998,36 +8086,50 @@ "vuid": "VUID-VkRenderPassCreateInfo2-flags-04909", "text": " If flags includes VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass must be the last subpass in a subpass dependency chain" } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ + { + "vuid": "VUID-VkRenderPassCreateInfo2-attachment-06244", + "text": " If the attachment member of the pDepthStencilAttachment member of an element of pSubpasses is not VK_ATTACHMENT_UNUSED, the layout member of that same structure is either VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, and the pNext chain of that structure does not include a VkAttachmentReferenceStencilLayout structure, then the element of pAttachments with an index equal to attachment must not have a format that includes both depth and stencil aspects" + }, + { + "vuid": "VUID-VkRenderPassCreateInfo2-attachment-06245", + "text": " If the attachment member of the pDepthStencilAttachment member of an element of pSubpasses is not VK_ATTACHMENT_UNUSED and the layout member of that same structure is either VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, then the element of pAttachments with an index equal to attachment must have a format that includes only a stencil aspect" + }, + { + "vuid": "VUID-VkRenderPassCreateInfo2-attachment-06246", + "text": " If the attachment member of the pDepthStencilAttachment member of an element of pSubpasses is not VK_ATTACHMENT_UNUSED and the layout member of that same structure is either VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, then the element of pAttachments with an index equal to attachment must not have a format that includes only a stencil aspect" + } ] }, "VkAttachmentDescription2": { "(VK_VERSION_1_2,VK_KHR_create_renderpass2)": [ { - "vuid": "VUID-VkAttachmentDescription2-format-06701", + "vuid": "VUID-VkAttachmentDescription2-format-06698", "text": " format must not be VK_FORMAT_UNDEFINED" }, { - "vuid": "VUID-VkAttachmentDescription2-finalLayout-03061", - "text": " finalLayout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED" - }, - { - "vuid": "VUID-VkAttachmentDescription2-format-06702", + "vuid": "VUID-VkAttachmentDescription2-format-06699", "text": " If format includes a color or depth aspect and loadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03294", - "text": " If format is a color format, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription2-finalLayout-00843", + "text": " finalLayout must not be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03295", + "vuid": "VUID-VkAttachmentDescription2-format-03280", + "text": " If format is a color format, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-03281", "text": " If format is a depth/stencil format, initialLayout must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03296", - "text": " If format is a color format, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription2-format-03282", + "text": " If format is a color format, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03297", + "vuid": "VUID-VkAttachmentDescription2-format-03283", "text": " If format is a depth/stencil format, finalLayout must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL" }, { @@ -8079,13 +8181,49 @@ "text": " finalLayout must be a valid VkImageLayout value" } ], - "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+!(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_VERSION_1_1,VK_KHR_maintenance2)": [ { - "vuid": "VUID-VkAttachmentDescription2-format-06703", - "text": " If format includes a stencil aspect and stencilLoadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" + "vuid": "VUID-VkAttachmentDescription2-format-06487", + "text": " If format is a color format, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-06488", + "text": " If format is a color format, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" } ], "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ + { + "vuid": "VUID-VkAttachmentDescription2-separateDepthStencilLayouts-03284", + "text": " If the separateDepthStencilLayouts feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL," + }, + { + "vuid": "VUID-VkAttachmentDescription2-separateDepthStencilLayouts-03285", + "text": " If the separateDepthStencilLayouts feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL," + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-03286", + "text": " If format is a color format, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-03287", + "text": " If format is a color format, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-06906", + "text": " If format is a depth/stencil format which includes both depth and stencil aspects, initialLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-06907", + "text": " If format is a depth/stencil format which includes both depth and stencil aspects, finalLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-03290", + "text": " If format is a depth/stencil format which includes only the depth aspect, initialLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkAttachmentDescription2-format-03291", + "text": " If format is a depth/stencil format which includes only the depth aspect, finalLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, { "vuid": "VUID-VkAttachmentDescription2-pNext-06704", "text": " If the pNext chain does not include a VkAttachmentDescriptionStencilLayout structure, format includes a stencil aspect, and stencilLoadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" @@ -8095,52 +8233,36 @@ "text": " If the pNext chain does includes a VkAttachmentDescriptionStencilLayout structure, format includes a stencil aspect, and stencilLoadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then VkAttachmentDescriptionStencilLayout::stencilInitialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" }, { - "vuid": "VUID-VkAttachmentDescription2-separateDepthStencilLayouts-03298", - "text": " If the separateDepthStencilLayouts feature is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription2-separateDepthStencilLayouts-03299", - "text": " If the separateDepthStencilLayouts feature is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription2-format-03300", - "text": " If format is a color format, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription2-format-03301", - "text": " If format is a color format, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription2-format-03302", + "vuid": "VUID-VkAttachmentDescription2-format-06249", "text": " If format is a depth/stencil format which includes both depth and stencil aspects, and initialLayout is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain must include a VkAttachmentDescriptionStencilLayout structure" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03303", + "vuid": "VUID-VkAttachmentDescription2-format-06250", "text": " If format is a depth/stencil format which includes both depth and stencil aspects, and finalLayout is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain must include a VkAttachmentDescriptionStencilLayout structure" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03304", - "text": " If format is a depth/stencil format which includes only the depth aspect, initialLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription2-format-06247", + "text": " If the pNext chain does not include a VkAttachmentDescriptionStencilLayout structure and format only includes a stencil aspect, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03305", - "text": " If format is a depth/stencil format which includes only the depth aspect, finalLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription2-format-06248", + "text": " If the pNext chain does not include a VkAttachmentDescriptionStencilLayout structure and format only includes a stencil aspect, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkAttachmentDescription2-synchronization2-06908", + "text": " If synchronization2 is not enabled, initialLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" }, { - "vuid": "VUID-VkAttachmentDescription2-format-03306", - "text": " If format is a depth/stencil format which includes only the stencil aspect, initialLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" - }, + "vuid": "VUID-VkAttachmentDescription2-synchronization2-06909", + "text": " If synchronization2 is not enabled, finalLayout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+!(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ { - "vuid": "VUID-VkAttachmentDescription2-format-03307", - "text": " If format is a depth/stencil format which includes only the stencil aspect, finalLayout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription2-separateDepthStencilLayouts-06556", - "text": " If the separateDepthStencilLayouts feature is enabled and format is a depth/stencil format that includes a depth aspect and the pNext chain includes a VkAttachmentDescriptionStencilLayout structure, initialLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentDescription2-separateDepthStencilLayouts-06557", - "text": " If the separateDepthStencilLayouts feature is enabled and format is a depth/stencil format that includes a depth aspect and the pNext chain includes a VkAttachmentDescriptionStencilLayout structure, finalLayout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentDescription2-format-06703", + "text": " If format includes a stencil aspect and stencilLoadOp is VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED" } ] }, @@ -8173,19 +8295,23 @@ ] }, "VkSubpassDescription2": { - "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+!(VK_HUAWEI_subpass_shading)": [ - { - "vuid": "VUID-VkSubpassDescription2-pipelineBindPoint-03062", - "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS" - } - ], - "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_HUAWEI_subpass_shading)": [ - { - "vuid": "VUID-VkSubpassDescription2-pipelineBindPoint-04953", - "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS or VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI" - } - ], "(VK_VERSION_1_2,VK_KHR_create_renderpass2)": [ + { + "vuid": "VUID-VkSubpassDescription2-attachment-06912", + "text": " If the attachment member of an element of pInputAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06913", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06914", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06915", + "text": " If the attachment member of pDepthStencilAttachment is not VK_ATTACHMENT_UNUSED, ts layout member must not be VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL" + }, { "vuid": "VUID-VkSubpassDescription2-colorAttachmentCount-03063", "text": " colorAttachmentCount must be less than or equal to VkPhysicalDeviceLimits::maxColorAttachments" @@ -8246,10 +8372,6 @@ "vuid": "VUID-VkSubpassDescription2-layout-02528", "text": " If any attachment is used by more than one VkAttachmentReference2 member, then each use must use the same layout" }, - { - "vuid": "VUID-VkSubpassDescription2-None-04439", - "text": " Attachments must follow the image layout requirements based on the type of attachment it is being used as" - }, { "vuid": "VUID-VkSubpassDescription2-attachment-02799", "text": " If the attachment member of any element of pInputAttachments is not VK_ATTACHMENT_UNUSED, then the aspectMask member must be a valid combination of VkImageAspectFlagBits" @@ -8307,6 +8429,60 @@ "text": " If preserveAttachmentCount is not 0, pPreserveAttachments must be a valid pointer to an array of preserveAttachmentCount uint32_t values" } ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_VERSION_1_1,VK_KHR_maintenance2)": [ + { + "vuid": "VUID-VkSubpassDescription2-attachment-06916", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06917", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts)": [ + { + "vuid": "VUID-VkSubpassDescription2-attachment-06918", + "text": " If the attachment member of an element of pInputAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06919", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06920", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06251", + "text": " If the attachment member of pDepthStencilAttachment is not VK_ATTACHMENT_UNUSED and its pNext chain includes a VkAttachmentDescriptionStencilLayout structure, the layout member of pDepthStencilAttachment must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_synchronization2)": [ + { + "vuid": "VUID-VkSubpassDescription2-attachment-06921", + "text": " If the attachment member of an element of pInputAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06922", + "text": " If the attachment member of an element of pColorAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + }, + { + "vuid": "VUID-VkSubpassDescription2-attachment-06923", + "text": " If the attachment member of an element of pResolveAttachments is not VK_ATTACHMENT_UNUSED, its layout member must not be VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+!(VK_HUAWEI_subpass_shading)": [ + { + "vuid": "VUID-VkSubpassDescription2-pipelineBindPoint-03062", + "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS" + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_HUAWEI_subpass_shading)": [ + { + "vuid": "VUID-VkSubpassDescription2-pipelineBindPoint-04953", + "text": " pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS or VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI" + } + ], "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_NV_linear_color_attachment)": [ { "vuid": "VUID-VkSubpassDescription2-linearColorAttachment-06499", @@ -8539,22 +8715,12 @@ { "vuid": "VUID-VkAttachmentReference2-separateDepthStencilLayouts-03313", "text": " If the separateDepthStencilLayouts feature is not enabled, and attachment is not VK_ATTACHMENT_UNUSED, layout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL," - }, + } + ], + "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_KHR_synchronization2)": [ { - "vuid": "VUID-VkAttachmentReference2-attachment-04754", - "text": " If attachment is not VK_ATTACHMENT_UNUSED, and the format of the referenced attachment is a color format, layout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentReference2-attachment-04755", - "text": " If attachment is not VK_ATTACHMENT_UNUSED, and the format of the referenced attachment is a depth/stencil format which includes both depth and stencil aspects, and layout is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, the pNext chain must include a VkAttachmentReferenceStencilLayout structure" - }, - { - "vuid": "VUID-VkAttachmentReference2-attachment-04756", - "text": " If attachment is not VK_ATTACHMENT_UNUSED, and the format of the referenced attachment is a depth/stencil format which includes only the depth aspect, layout must not be VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL" - }, - { - "vuid": "VUID-VkAttachmentReference2-attachment-04757", - "text": " If attachment is not VK_ATTACHMENT_UNUSED, and the format of the referenced attachment is a depth/stencil format which includes only the stencil aspect, layout must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL" + "vuid": "VUID-VkAttachmentReference2-synchronization2-06910", + "text": " If synchronization2 is not enabled, layout must not be VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR" } ] }, @@ -9903,6 +10069,18 @@ ] }, "vkCreateShaderModule": { + "(VK_EXT_validation_cache)": [ + { + "vuid": "VUID-vkCreateShaderModule-pCreateInfo-06904", + "text": " If pCreateInfo is not NULL, pCreateInfo->pNext must be NULL or a pointer to a VkShaderModuleValidationCacheCreateInfoEXT structure" + } + ], + "!(VK_EXT_validation_cache)": [ + { + "vuid": "VUID-vkCreateShaderModule-pCreateInfo-06905", + "text": " If pCreateInfo is not NULL, pCreateInfo->pNext must be NULL" + } + ], "core": [ { "vuid": "VUID-vkCreateShaderModule-device-parameter", @@ -10536,7 +10714,7 @@ }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDebugUtilsObjectNameInfoEXT, VkPipelineShaderStageModuleIdentifierCreateInfoEXT, VkPipelineShaderStageRequiredSubgroupSizeCreateInfo, or VkShaderModuleCreateInfo" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDebugUtilsObjectNameInfoEXT, VkPipelineShaderStageModuleIdentifierCreateInfoEXT, VkPipelineShaderStageRequiredSubgroupSizeCreateInfo, VkShaderModuleCreateInfo, or VkShaderModuleValidationCacheCreateInfoEXT" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-sType-unique", @@ -10818,10 +10996,6 @@ "vuid": "VUID-VkGraphicsPipelineCreateInfo-stage-00726", "text": " The stage member of each element of pStages must be unique" }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-stage-00728", - "text": " The stage member of each element of pStages must not be VK_SHADER_STAGE_COMPUTE_BIT" - }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00729", "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes a tessellation control shader stage, it must include a tessellation evaluation shader stage" @@ -10938,6 +11112,22 @@ "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-02098", "text": " If the pipeline is being created with vertex input state, pInputAssemblyState must be a valid pointer to a valid VkPipelineInputAssemblyStateCreateInfo structure" }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-06894", + "text": " If the pipeline is being created with pre-rasterization shader state but not fragment shader state, elements of pStages must not have stage set to VK_SHADER_STAGE_FRAGMENT_BIT" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-06895", + "text": " If the pipeline is being created with fragment shader state but not pre-rasterization shader state, elements of pStages must not have stage set to a shader stage which participates in pre-rasterization" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-06896", + "text": " If the pipeline is being created with fragment shader state and/or pre-rasterization shader state, all elements of pStages must have a stage set to a shader stage which participates in fragment shader state or pre-rasterization shader state" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-stage-06897", + "text": " If the pipeline is being created with fragment shader state and/or pre-rasterization shader state, any value of stage must not be set in more than one element of pStages" + }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO" @@ -12184,6 +12374,10 @@ "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-maxRecursionDepth-03457", "text": " maxRecursionDepth must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxRecursionDepth" }, + { + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-stage-06898", + "text": " The stage value in all pStages elements must be one of VK_SHADER_STAGE_RAYGEN_BIT_KHR, VK_SHADER_STAGE_ANY_HIT_BIT_KHR, VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, VK_SHADER_STAGE_MISS_BIT_KHR, VK_SHADER_STAGE_INTERSECTION_BIT_KHR, or VK_SHADER_STAGE_CALLABLE_BIT_KHR" + }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV" @@ -12372,6 +12566,10 @@ "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pDynamicStates-03602", "text": " Any element of the pDynamicStates member of pDynamicState must be VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR" }, + { + "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-stage-06899", + "text": " The stage value in all pStages elements must be one of VK_SHADER_STAGE_RAYGEN_BIT_KHR, VK_SHADER_STAGE_ANY_HIT_BIT_KHR, VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, VK_SHADER_STAGE_MISS_BIT_KHR, VK_SHADER_STAGE_INTERSECTION_BIT_KHR, or VK_SHADER_STAGE_CALLABLE_BIT_KHR" + }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR" @@ -24035,6 +24233,10 @@ { "vuid": "VUID-vkGetQueryPoolResults-flags-04811", "text": " If flags includes VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, it must not include VK_QUERY_RESULT_WITH_AVAILABILITY_BIT" + }, + { + "vuid": "VUID-vkGetQueryPoolResults-queryType-06900", + "text": " If the queryType used to create queryPool was VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, flags must not contain VK_QUERY_RESULT_WITH_STATUS_BIT_KHR" } ] }, @@ -24128,6 +24330,20 @@ "vuid": "VUID-vkCmdCopyQueryPoolResults-queryType-02734", "text": " vkCmdCopyQueryPoolResults must not be called if the queryType used to create queryPool was VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL" } + ], + "(VK_KHR_video_queue)": [ + { + "vuid": "VUID-vkCmdCopyQueryPoolResults-queryType-06901", + "text": " If the queryType used to create queryPool was VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, flags must include VK_QUERY_RESULT_WITH_STATUS_BIT_KHR" + }, + { + "vuid": "VUID-vkCmdCopyQueryPoolResults-flags-06902", + "text": " If flags includes VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, it must not include VK_QUERY_RESULT_WITH_AVAILABILITY_BIT" + }, + { + "vuid": "VUID-vkCmdCopyQueryPoolResults-queryType-06903", + "text": " If the queryType used to create queryPool was VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, flags must not contain VK_QUERY_RESULT_WITH_STATUS_BIT_KHR" + } ] }, "vkCmdWriteTimestamp2": { @@ -50685,8 +50901,12 @@ "text": " The (u,v) coordinates used for a SubpassData must be the <id> of a constant vector (0,0), or if a layer coordinate is used, must be a vector that was formed with constant 0 for the u and v components" }, { - "vuid": "VUID-StandaloneSpirv-OpTypeImage-04661", - "text": " Objects of types OpTypeImage, OpTypeSampler, OpTypeSampledImage, and arrays of these types must not be stored to or modified" + "vuid": "VUID-StandaloneSpirv-OpTypeImage-06924", + "text": " Objects of types OpTypeImage, OpTypeSampler, OpTypeSampledImage, OpTypeAccelerationStructureKHR, and arrays of these types must not be stored to or modified" + }, + { + "vuid": "VUID-StandaloneSpirv-Uniform-06925", + "text": " Any variable in the Uniform storage class decorated as Block must not be stored to or modified" }, { "vuid": "VUID-StandaloneSpirv-Offset-04662", @@ -50708,10 +50928,6 @@ "vuid": "VUID-StandaloneSpirv-OpImage-04777", "text": " OpImage*Dref* instructions must not consume an image whose Dim is 3D" }, - { - "vuid": "VUID-StandaloneSpirv-OpTypeAccelerationStructureKHR-04665", - "text": " Objects of types OpTypeAccelerationStructureKHR and arrays of this type must not be stored to or modified" - }, { "vuid": "VUID-StandaloneSpirv-OpReportIntersectionKHR-04666", "text": " The value of the “Hit Kind” operand of OpReportIntersectionKHR must be in the range [0,127]" diff --git a/registry/vk.xml b/registry/vk.xml index 36db7c1..2d88d69 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -159,7 +159,7 @@ branch of the member gitlab server. // Vulkan 1.3 version number #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 219 +#define VK_HEADER_VERSION 220 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -1254,7 +1254,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - const void* pNext + const void* pNextnoautovalidity because this structure can be either an explicit parameter, or passed in a pNext chain VkShaderModuleCreateFlags flags size_t codeSizeSpecified in bytes const uint32_t* pCodeBinary code of size codeSize @@ -3352,7 +3352,7 @@ typedef void* MTLSharedEvent_id; size_t initialDataSize const void* pInitialData - + VkStructureType sType const void* pNext VkValidationCacheEXT validationCache @@ -7919,8 +7919,10 @@ typedef void* MTLSharedEvent_id; - - + NVX_device_generated_commands formerly used these enum values, but that extension has been removed + value 31 / name VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT + value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT + @@ -8525,7 +8527,7 @@ typedef void* MTLSharedEvent_id; - + bitpos 17-31 are specified by extensions to the original VkAccessFlagBits enum @@ -8572,7 +8574,7 @@ typedef void* MTLSharedEvent_id; - + bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum @@ -13325,7 +13327,6 @@ typedef void* MTLSharedEvent_id; - @@ -17732,6 +17733,7 @@ typedef void* MTLSharedEvent_id; + @@ -17739,6 +17741,7 @@ typedef void* MTLSharedEvent_id; +