diff --git a/registry/validusage.json b/registry/validusage.json
index 1bd6b30..ce91f36 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.1.79",
- "comment": "from git branch: master commit: ff9357a4bad5fa49b99b9d3f69d254e2a3f0f575",
- "date": "2018-07-02 20:23:28Z"
+ "api version": "1.1.80",
+ "comment": "from git branch: master commit: 831e2d4525cc3231adfadc3bc6b0c8372e6f7f68",
+ "date": "2018-07-18 14:45:22Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -310,7 +310,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-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 VkDeviceGroupDeviceCreateInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDeviceDescriptorIndexingFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceSamplerYcbcrConversionFeatures, or VkPhysicalDeviceVariablePointerFeatures"
+ "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 VkDeviceGroupDeviceCreateInfo, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice8BitStorageFeaturesKHR, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeaturesEXT, VkPhysicalDeviceFeatures2, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceSamplerYcbcrConversionFeatures, or VkPhysicalDeviceVariablePointerFeatures"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -808,7 +808,7 @@
},
{
"vuid": "VUID-VkCommandBufferInheritanceInfo-pNext-pNext",
- "text": " pNext
must be NULL
"
+ "text": " pNext
must be NULL
or a pointer to a valid instance of VkCommandBufferInheritanceConditionalRenderingInfoEXT"
},
{
"vuid": "VUID-VkCommandBufferInheritanceInfo-commonparent",
@@ -816,6 +816,18 @@
}
]
},
+ "VkCommandBufferInheritanceConditionalRenderingInfoEXT": {
+ "(VK_EXT_conditional_rendering)": [
+ {
+ "vuid": "VUID-VkCommandBufferInheritanceConditionalRenderingInfoEXT-conditionalRenderingEnable-01977",
+ "text": " If the <<features-features-inheritedConditionalRendering, inherited conditional rendering>> feature is not enabled, conditionalRenderingEnable
must be VK_FALSE
"
+ },
+ {
+ "vuid": "VUID-VkCommandBufferInheritanceConditionalRenderingInfoEXT-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
"
+ }
+ ]
+ },
"vkEndCommandBuffer": {
"core": [
{
@@ -835,6 +847,12 @@
"text": " commandBuffer
must be a valid VkCommandBuffer
handle"
}
],
+ "(VK_EXT_conditional_rendering)": [
+ {
+ "vuid": "VUID-vkEndCommandBuffer-None-01978",
+ "text": " Conditional rendering must not be <<active-conditional-rendering,active>>"
+ }
+ ],
"(VK_EXT_debug_utils)": [
{
"vuid": "VUID-vkEndCommandBuffer-commandBuffer-01815",
@@ -3172,7 +3190,7 @@
},
{
"vuid": "VUID-VkSubpassDependency-srcSubpass-00866",
- "text": " If srcSubpass
is equal to dstSubpass
, srcStageMask
and dstStageMask
must only contain one of VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT
, VK_PIPELINE_STAGE_VERTEX_INPUT_BIT
, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT
, VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
, VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
, VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT
, VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
, VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
, or VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
"
+ "text": " If srcSubpass
is equal to dstSubpass
, srcStageMask
and dstStageMask
must only contain one of VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
,"
},
{
"vuid": "VUID-VkSubpassDependency-srcSubpass-00867",
@@ -3230,6 +3248,384 @@
}
]
},
+ "vkCreateRenderPass2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-vkCreateRenderPass2KHR-device-parameter",
+ "text": " device
must be a valid VkDevice
handle"
+ },
+ {
+ "vuid": "VUID-vkCreateRenderPass2KHR-pCreateInfo-parameter",
+ "text": " pCreateInfo
must be a valid pointer to a valid VkRenderPassCreateInfo2KHR
structure"
+ },
+ {
+ "vuid": "VUID-vkCreateRenderPass2KHR-pAllocator-parameter",
+ "text": " If pAllocator
is not NULL
, pAllocator
must be a valid pointer to a valid VkAllocationCallbacks
structure"
+ },
+ {
+ "vuid": "VUID-vkCreateRenderPass2KHR-pRenderPass-parameter",
+ "text": " pRenderPass
must be a valid pointer to a VkRenderPass
handle"
+ }
+ ]
+ },
+ "VkRenderPassCreateInfo2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-None-03049",
+ "text": " If any two subpasses operate on attachments with overlapping ranges of the same VkDeviceMemory
object, and at least one subpass writes to that area of VkDeviceMemory
, a subpass dependency must be included (either directly or via some intermediate subpasses) between them"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-attachment-03050",
+ "text": " If the attachment
member of any element of pInputAttachments
, pColorAttachments
, pResolveAttachments
or pDepthStencilAttachment
, or the attachment indexed by any element of pPreserveAttachments
in any given element of pSubpasses
is bound to a range of a VkDeviceMemory
object that overlaps with any other attachment in any subpass (including the same subpass), the VkAttachmentDescription2KHR
structures describing them must include VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
in flags
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-attachment-03051",
+ "text": " If the attachment
member of any element of pInputAttachments
, pColorAttachments
, pResolveAttachments
or pDepthStencilAttachment
, or any element of pPreserveAttachments
in any given element of pSubpasses
is not VK_ATTACHMENT_UNUSED
, it must be less than attachmentCount
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pPreserveAttachments-03052",
+ "text": " The value of any element of the pPreserveAttachments
member in any given element of pSubpasses
must not be VK_ATTACHMENT_UNUSED
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pAttachments-03053",
+ "text": " For any member of pAttachments
with a loadOp
equal to VK_ATTACHMENT_LOAD_OP_CLEAR
, the first use of that attachment must not specify a layout
equal to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
."
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pDependencies-03054",
+ "text": " For any element of pDependencies
, if the srcSubpass
is not VK_SUBPASS_EXTERNAL
, all stage flags included in the srcStageMask
member of that dependency must be a pipeline stage supported by the <<synchronization-pipeline-stages-types, pipeline>> identified by the pipelineBindPoint
member of the source subpass."
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pDependencies-03055",
+ "text": " For any element of pDependencies
, if the dstSubpass
is not VK_SUBPASS_EXTERNAL
, all stage flags included in the dstStageMask
member of that dependency must be a pipeline stage supported by the <<synchronization-pipeline-stages-types, pipeline>> identified by the pipelineBindPoint
member of the source subpass."
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pCorrelatedViewMasks-03056",
+ "text": " The set of bits included in any element of pCorrelatedViewMasks
must not overlap with the set of bits included in any other element of pCorrelatedViewMasks
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-viewMask-03057",
+ "text": " If the VkSubpassDescription2KHR::viewMask
member of all elements of pSubpasses
is 0
, correlatedViewMaskCount
must be 0
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-viewMask-03058",
+ "text": " The VkSubpassDescription2KHR::viewMask
member of all elements of pSubpasses
must either all be 0
, or all not be 0
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-viewMask-03059",
+ "text": " If the VkSubpassDescription2KHR::viewMask
member of all elements of pSubpasses
is 0
, the dependencyFlags
member of any element of pDependencies
must not include VK_DEPENDENCY_VIEW_LOCAL_BIT
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pDependencies-03060",
+ "text": " For any element of pDependencies
where its srcSubpass
member equals its dstSubpass
member, if the viewMask
member of the corresponding element of pSubpasses
includes more than one bit, its dependencyFlags
member must include VK_DEPENDENCY_VIEW_LOCAL_BIT
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pNext-pNext",
+ "text": " pNext
must be NULL
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-flags-zerobitmask",
+ "text": " flags
must be 0
"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pAttachments-parameter",
+ "text": " If attachmentCount
is not 0
, pAttachments
must be a valid pointer to an array of attachmentCount
valid VkAttachmentDescription2KHR
structures"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pSubpasses-parameter",
+ "text": " pSubpasses
must be a valid pointer to an array of subpassCount
valid VkSubpassDescription2KHR
structures"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pDependencies-parameter",
+ "text": " If dependencyCount
is not 0
, pDependencies
must be a valid pointer to an array of dependencyCount
valid VkSubpassDependency2KHR
structures"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-pCorrelatedViewMasks-parameter",
+ "text": " If correlatedViewMaskCount
is not 0
, pCorrelatedViewMasks
must be a valid pointer to an array of correlatedViewMaskCount
uint32_t
values"
+ },
+ {
+ "vuid": "VUID-VkRenderPassCreateInfo2KHR-subpassCount-arraylength",
+ "text": " subpassCount
must be greater than 0
"
+ }
+ ]
+ },
+ "VkAttachmentDescription2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-finalLayout-03061",
+ "text": " finalLayout
must not be VK_IMAGE_LAYOUT_UNDEFINED
or VK_IMAGE_LAYOUT_PREINITIALIZED
"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR
"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-flags-parameter",
+ "text": " flags
must be a valid combination of VkAttachmentDescriptionFlagBits values"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-format-parameter",
+ "text": " format
must be a valid VkFormat value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-samples-parameter",
+ "text": " samples
must be a valid VkSampleCountFlagBits value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-loadOp-parameter",
+ "text": " loadOp
must be a valid VkAttachmentLoadOp value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-storeOp-parameter",
+ "text": " storeOp
must be a valid VkAttachmentStoreOp value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-stencilLoadOp-parameter",
+ "text": " stencilLoadOp
must be a valid VkAttachmentLoadOp value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-stencilStoreOp-parameter",
+ "text": " stencilStoreOp
must be a valid VkAttachmentStoreOp value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-initialLayout-parameter",
+ "text": " initialLayout
must be a valid VkImageLayout value"
+ },
+ {
+ "vuid": "VUID-VkAttachmentDescription2KHR-finalLayout-parameter",
+ "text": " finalLayout
must be a valid VkImageLayout value"
+ }
+ ]
+ },
+ "VkSubpassDescription2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pipelineBindPoint-03062",
+ "text": " pipelineBindPoint
must be VK_PIPELINE_BIND_POINT_GRAPHICS
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-colorAttachmentCount-03063",
+ "text": " colorAttachmentCount
must be less than or equal to VkPhysicalDeviceLimits
::maxColorAttachments
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-loadOp-03064",
+ "text": " If the first use of an attachment in this render pass is as an input attachment, and the attachment is not also used as a color or depth/stencil attachment in the same subpass, then loadOp
must not be VK_ATTACHMENT_LOAD_OP_CLEAR
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pResolveAttachments-03065",
+ "text": " If pResolveAttachments
is not NULL
, for each resolve attachment that does not have the value VK_ATTACHMENT_UNUSED
, the corresponding color attachment must not have the value VK_ATTACHMENT_UNUSED
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pResolveAttachments-03066",
+ "text": " If pResolveAttachments
is not NULL
, the sample count of each element of pColorAttachments
must be anything other than VK_SAMPLE_COUNT_1_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pResolveAttachments-03067",
+ "text": " Any given element of pResolveAttachments
must have a sample count of VK_SAMPLE_COUNT_1_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pResolveAttachments-03068",
+ "text": " Any given element of pResolveAttachments
must have the same VkFormat as its corresponding color attachment"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pColorAttachments-03069",
+ "text": " All attachments in pColorAttachments
that are not VK_ATTACHMENT_UNUSED
must have the same sample count"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-None-03072",
+ "text": " If any input attachments are VK_ATTACHMENT_UNUSED
, then any pipelines bound during the subpass must not access those input attachments from the fragment shader"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-attachment-03073",
+ "text": " The attachment
member of any element of pPreserveAttachments
must not be VK_ATTACHMENT_UNUSED
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pPreserveAttachments-03074",
+ "text": " Any given element of pPreserveAttachments
must not also be an element of any other member of the subpass description"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-layout-03075",
+ "text": " 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
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-aspectMask-03175",
+ "text": " The aspectMask
member of any element of pInputAttachments
must be a valid combination of VkImageAspectFlagBits"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-aspectMask-03176",
+ "text": " The aspectMask
member of any element of pInputAttachments
must not be 0
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-flags-parameter",
+ "text": " flags
must be a valid combination of VkSubpassDescriptionFlagBits values"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pipelineBindPoint-parameter",
+ "text": " pipelineBindPoint
must be a valid VkPipelineBindPoint value"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pInputAttachments-parameter",
+ "text": " If inputAttachmentCount
is not 0
, pInputAttachments
must be a valid pointer to an array of inputAttachmentCount
valid VkAttachmentReference2KHR
structures"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pColorAttachments-parameter",
+ "text": " If colorAttachmentCount
is not 0
, pColorAttachments
must be a valid pointer to an array of colorAttachmentCount
valid VkAttachmentReference2KHR
structures"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pResolveAttachments-parameter",
+ "text": " If colorAttachmentCount
is not 0
, and pResolveAttachments
is not NULL
, pResolveAttachments
must be a valid pointer to an array of colorAttachmentCount
valid VkAttachmentReference2KHR
structures"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pDepthStencilAttachment-parameter",
+ "text": " If pDepthStencilAttachment
is not NULL
, pDepthStencilAttachment
must be a valid pointer to a valid VkAttachmentReference2KHR
structure"
+ },
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pPreserveAttachments-parameter",
+ "text": " If preserveAttachmentCount
is not 0
, pPreserveAttachments
must be a valid pointer to an array of preserveAttachmentCount
uint32_t
values"
+ }
+ ],
+ "(VK_KHR_create_renderpass2)+(VK_AMD_mixed_attachment_samples)": [
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pColorAttachments-03070",
+ "text": " 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
"
+ }
+ ],
+ "(VK_KHR_create_renderpass2)+!(VK_AMD_mixed_attachment_samples)+!(VK_NV_framebuffer_mixed_samples)": [
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-pDepthStencilAttachment-03071",
+ "text": " If pDepthStencilAttachment
is not VK_ATTACHMENT_UNUSED
and any attachments in pColorAttachments
are not VK_ATTACHMENT_UNUSED
, they must have the same sample count"
+ }
+ ],
+ "(VK_KHR_create_renderpass2)+(VK_NVX_multiview_per_view_attributes)": [
+ {
+ "vuid": "VUID-VkSubpassDescription2KHR-flags-03076",
+ "text": " 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
."
+ }
+ ]
+ },
+ "VkAttachmentReference2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkAttachmentReference2KHR-layout-03077",
+ "text": " layout
must not be VK_IMAGE_LAYOUT_UNDEFINED
or VK_IMAGE_LAYOUT_PREINITIALIZED
"
+ },
+ {
+ "vuid": "VUID-VkAttachmentReference2KHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR
"
+ },
+ {
+ "vuid": "VUID-VkAttachmentReference2KHR-layout-parameter",
+ "text": " layout
must be a valid VkImageLayout value"
+ }
+ ]
+ },
+ "VkSubpassDependency2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcSubpass-03078",
+ "text": " If srcSubpass
is not VK_SUBPASS_EXTERNAL
, srcStageMask
must not include VK_PIPELINE_STAGE_HOST_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstSubpass-03079",
+ "text": " If dstSubpass
is not VK_SUBPASS_EXTERNAL
, dstStageMask
must not include VK_PIPELINE_STAGE_HOST_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcStageMask-03080",
+ "text": " If the <<features-features-geometryShader,geometry shaders>> feature is not enabled, srcStageMask
must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstStageMask-03081",
+ "text": " If the <<features-features-geometryShader,geometry shaders>> feature is not enabled, dstStageMask
must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcStageMask-03082",
+ "text": " If the <<features-features-tessellationShader,tessellation shaders>> feature is not enabled, srcStageMask
must not contain VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstStageMask-03083",
+ "text": " If the <<features-features-tessellationShader,tessellation shaders>> feature is not enabled, dstStageMask
must not contain VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcSubpass-03084",
+ "text": " srcSubpass
must be less than or equal to dstSubpass
, unless one of them is VK_SUBPASS_EXTERNAL
, to avoid cyclic dependencies and ensure a valid execution order"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcSubpass-03085",
+ "text": " srcSubpass
and dstSubpass
must not both be equal to VK_SUBPASS_EXTERNAL
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcSubpass-03086",
+ "text": " If srcSubpass
is equal to dstSubpass
, srcStageMask
and dstStageMask
must only contain one of VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT
, VK_PIPELINE_STAGE_VERTEX_INPUT_BIT
, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT
, VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
, VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
, VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT
, VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
, VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
, or VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcSubpass-03087",
+ "text": " If srcSubpass
is equal to dstSubpass
and not all of the stages in srcStageMask
and dstStageMask
are <<synchronization-framebuffer-regions,framebuffer-space stages>>, the <<synchronization-pipeline-stages-order, logically latest>> pipeline stage in srcStageMask
must be <<synchronization-pipeline-stages-order, logically earlier>> than or equal to the <<synchronization-pipeline-stages-order, logically earliest>> pipeline stage in dstStageMask
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcAccessMask-03088",
+ "text": " Any access flag included in srcAccessMask
must be supported by one of the pipeline stages in srcStageMask
, as specified in the <<synchronization-access-types-supported, table of supported access types>>"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstAccessMask-03089",
+ "text": " Any access flag included in dstAccessMask
must be supported by one of the pipeline stages in dstStageMask
, as specified in the <<synchronization-access-types-supported, table of supported access types>>"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dependencyFlags-03090",
+ "text": " If dependencyFlags
includes VK_DEPENDENCY_VIEW_LOCAL_BIT
, srcSubpass
must not be equal to VK_SUBPASS_EXTERNAL
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dependencyFlags-03091",
+ "text": " If dependencyFlags
includes VK_DEPENDENCY_VIEW_LOCAL_BIT
, dstSubpass
must not be equal to VK_SUBPASS_EXTERNAL
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dependencyFlags-03092",
+ "text": " If dependencyFlags
does not include VK_DEPENDENCY_VIEW_LOCAL_BIT
, viewOffset
must be 0
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-viewOffset-03093",
+ "text": " If viewOffset
is not 0
, srcSubpass
must not be equal to dstSubpass
."
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcStageMask-parameter",
+ "text": " srcStageMask
must be a valid combination of VkPipelineStageFlagBits values"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcStageMask-requiredbitmask",
+ "text": " srcStageMask
must not be 0
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstStageMask-parameter",
+ "text": " dstStageMask
must be a valid combination of VkPipelineStageFlagBits values"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstStageMask-requiredbitmask",
+ "text": " dstStageMask
must not be 0
"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-srcAccessMask-parameter",
+ "text": " srcAccessMask
must be a valid combination of VkAccessFlagBits values"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dstAccessMask-parameter",
+ "text": " dstAccessMask
must be a valid combination of VkAccessFlagBits values"
+ },
+ {
+ "vuid": "VUID-VkSubpassDependency2KHR-dependencyFlags-parameter",
+ "text": " dependencyFlags
must be a valid combination of VkDependencyFlagBits values"
+ }
+ ]
+ },
"vkDestroyRenderPass": {
"core": [
{
@@ -3476,6 +3872,74 @@
}
]
},
+ "vkCmdBeginRenderPass2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03094",
+ "text": " If any of the initialLayout
or finalLayout
member of the VkAttachmentDescription
structures or the layout
member of the VkAttachmentReference
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
then the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
must have been created with VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
set"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03097",
+ "text": " If any of the initialLayout
or finalLayout
member of the VkAttachmentDescription
structures or the layout
member of the VkAttachmentReference
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
then the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
must have been created with VK_IMAGE_USAGE_SAMPLED_BIT
or VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
set"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03098",
+ "text": " If any of the initialLayout
or finalLayout
member of the VkAttachmentDescription
structures or the layout
member of the VkAttachmentReference
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
then the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
must have been created with VK_IMAGE_USAGE_TRANSFER_SRC_BIT
set"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03099",
+ "text": " If any of the initialLayout
or finalLayout
member of the VkAttachmentDescription
structures or the layout
member of the VkAttachmentReference
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
then the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
must have been created with VK_IMAGE_USAGE_TRANSFER_DST_BIT
set"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03100",
+ "text": " If any of the initialLayout
members of the VkAttachmentDescription
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is not VK_IMAGE_LAYOUT_UNDEFINED
, then each such initialLayout
must be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-srcStageMask-03101",
+ "text": " The srcStageMask
and dstStageMask
members of any element of the pDependencies
member of VkRenderPassCreateInfo used to create renderPass
must be supported by the capabilities of the queue family identified by the queueFamilyIndex
member of the VkCommandPoolCreateInfo used to create the command pool which commandBuffer
was allocated from."
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-commandBuffer-parameter",
+ "text": " commandBuffer
must be a valid VkCommandBuffer
handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-pRenderPassBegin-parameter",
+ "text": " pRenderPassBegin
must be a valid pointer to a valid VkRenderPassBeginInfo
structure"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-pSubpassBeginInfo-parameter",
+ "text": " pSubpassBeginInfo
must be a valid pointer to a valid VkSubpassBeginInfoKHR
structure"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-commandBuffer-recording",
+ "text": " commandBuffer
must be in the <<commandbuffers-lifecycle, recording state>>"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-commandBuffer-cmdpool",
+ "text": " The VkCommandPool
that commandBuffer
was allocated from must support graphics operations"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-renderpass",
+ "text": " This command must only be called outside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-bufferlevel",
+ "text": " commandBuffer
must be a primary VkCommandBuffer
"
+ }
+ ],
+ "(VK_KHR_create_renderpass2)+!(VK_KHR_maintenance2)": [
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03095",
+ "text": " If any of the initialLayout
or finalLayout
member of the VkAttachmentDescription
structures or the layout
member of the VkAttachmentReference
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
, or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
then the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set"
+ }
+ ],
+ "(VK_KHR_create_renderpass2)+(VK_KHR_maintenance2)": [
+ {
+ "vuid": "VUID-vkCmdBeginRenderPass2KHR-initialLayout-03096",
+ "text": " If any of the initialLayout
or finalLayout
member of the VkAttachmentDescription
structures or the layout
member of the VkAttachmentReference
structures specified when creating the render pass specified in the renderPass
member of pRenderPassBegin
is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
, or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
then the corresponding attachment image subresource of the framebuffer specified in the framebuffer
member of pRenderPassBegin
must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
set"
+ }
+ ]
+ },
"VkRenderPassBeginInfo": {
"core": [
{
@@ -3556,6 +4020,22 @@
}
]
},
+ "VkSubpassBeginInfoKHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkSubpassBeginInfoKHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR
"
+ },
+ {
+ "vuid": "VUID-VkSubpassBeginInfoKHR-pNext-pNext",
+ "text": " pNext
must be NULL
"
+ },
+ {
+ "vuid": "VUID-VkSubpassBeginInfoKHR-contents-parameter",
+ "text": " contents
must be a valid VkSubpassContents value"
+ }
+ ]
+ },
"VkDeviceGroupRenderPassBeginInfo": {
"(VK_VERSION_1_1,VK_KHR_device_group)": [
{
@@ -3636,6 +4116,42 @@
}
]
},
+ "vkCmdNextSubpass2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-None-03102",
+ "text": " The current subpass index must be less than the number of subpasses in the render pass minus one"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-commandBuffer-parameter",
+ "text": " commandBuffer
must be a valid VkCommandBuffer
handle"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-pSubpassBeginInfo-parameter",
+ "text": " pSubpassBeginInfo
must be a valid pointer to a valid VkSubpassBeginInfoKHR
structure"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-pSubpassEndInfo-parameter",
+ "text": " pSubpassEndInfo
must be a valid pointer to a valid VkSubpassEndInfoKHR
structure"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-commandBuffer-recording",
+ "text": " commandBuffer
must be in the <<commandbuffers-lifecycle, recording state>>"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-commandBuffer-cmdpool",
+ "text": " The VkCommandPool
that commandBuffer
was allocated from must support graphics operations"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-renderpass",
+ "text": " This command must only be called inside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdNextSubpass2KHR-bufferlevel",
+ "text": " commandBuffer
must be a primary VkCommandBuffer
"
+ }
+ ]
+ },
"vkCmdEndRenderPass": {
"core": [
{
@@ -3664,6 +4180,50 @@
}
]
},
+ "vkCmdEndRenderPass2KHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-None-03103",
+ "text": " The current subpass index must be equal to the number of subpasses in the render pass minus one"
+ },
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-commandBuffer-parameter",
+ "text": " commandBuffer
must be a valid VkCommandBuffer
handle"
+ },
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-pSubpassEndInfo-parameter",
+ "text": " pSubpassEndInfo
must be a valid pointer to a valid VkSubpassEndInfoKHR
structure"
+ },
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-commandBuffer-recording",
+ "text": " commandBuffer
must be in the <<commandbuffers-lifecycle, recording state>>"
+ },
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-commandBuffer-cmdpool",
+ "text": " The VkCommandPool
that commandBuffer
was allocated from must support graphics operations"
+ },
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-renderpass",
+ "text": " This command must only be called inside of a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdEndRenderPass2KHR-bufferlevel",
+ "text": " commandBuffer
must be a primary VkCommandBuffer
"
+ }
+ ]
+ },
+ "VkSubpassEndInfoKHR": {
+ "(VK_KHR_create_renderpass2)": [
+ {
+ "vuid": "VUID-VkSubpassEndInfoKHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR
"
+ },
+ {
+ "vuid": "VUID-VkSubpassEndInfoKHR-pNext-pNext",
+ "text": " pNext
must be NULL
"
+ }
+ ]
+ },
"vkCreateShaderModule": {
"core": [
{
@@ -9210,6 +9770,10 @@
"vuid": "VUID-vkCmdBindDescriptorSets-pDynamicOffsets-01972",
"text": " Each element of pDynamicOffsets
which corresponds to a descriptor binding with type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
must be a multiple of VkPhysicalDeviceLimits
::minStorageBufferOffsetAlignment
"
},
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979",
+ "text": " For each dynamic uniform or storage buffer binding in pDescriptorSets
, the sum of the effective offset, as defined above, and the range of the binding must be less than or equal to the size of the buffer"
+ },
{
"vuid": "VUID-vkCmdBindDescriptorSets-commandBuffer-parameter",
"text": " commandBuffer
must be a valid VkCommandBuffer
handle"
@@ -13196,6 +13760,78 @@
}
]
},
+ "vkCmdBeginConditionalRenderingEXT": {
+ "(VK_EXT_conditional_rendering)": [
+ {
+ "vuid": "VUID-vkCmdBeginConditionalRenderingEXT-None-01980",
+ "text": " Conditional rendering must not already be <<active-conditional-rendering,active>>"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginConditionalRenderingEXT-commandBuffer-parameter",
+ "text": " commandBuffer
must be a valid VkCommandBuffer
handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginConditionalRenderingEXT-pConditionalRenderingBegin-parameter",
+ "text": " pConditionalRenderingBegin
must be a valid pointer to a valid VkConditionalRenderingBeginInfoEXT
structure"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginConditionalRenderingEXT-commandBuffer-recording",
+ "text": " commandBuffer
must be in the <<commandbuffers-lifecycle, recording state>>"
+ },
+ {
+ "vuid": "VUID-vkCmdBeginConditionalRenderingEXT-commandBuffer-cmdpool",
+ "text": " The VkCommandPool
that commandBuffer
was allocated from must support graphics, or compute operations"
+ }
+ ]
+ },
+ "VkConditionalRenderingBeginInfoEXT": {
+ "(VK_EXT_conditional_rendering)": [
+ {
+ "vuid": "VUID-VkConditionalRenderingBeginInfoEXT-buffer-01981",
+ "text": " If buffer
is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory
object"
+ },
+ {
+ "vuid": "VUID-VkConditionalRenderingBeginInfoEXT-buffer-01982",
+ "text": " buffer
must have been created with the VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
bit set"
+ },
+ {
+ "vuid": "VUID-VkConditionalRenderingBeginInfoEXT-offset-01983",
+ "text": " offset
must be less than the size of buffer
by at least 32 bits."
+ },
+ {
+ "vuid": "VUID-VkConditionalRenderingBeginInfoEXT-offset-01984",
+ "text": " offset
must be a multiple of 4"
+ }
+ ]
+ },
+ "vkCmdEndConditionalRenderingEXT": {
+ "(VK_EXT_conditional_rendering)": [
+ {
+ "vuid": "VUID-vkCmdEndConditionalRenderingEXT-None-01985",
+ "text": " Conditional rendering must be <<active-conditional-rendering,active>>"
+ },
+ {
+ "vuid": "VUID-vkCmdEndConditionalRenderingEXT-None-01986",
+ "text": " If conditional rendering was made <<active-conditional-rendering,active>> outside of a render pass instance, it must not be ended inside a render pass instance"
+ },
+ {
+ "vuid": "VUID-vkCmdEndConditionalRenderingEXT-None-01987",
+ "text": " If conditional rendering was made <<active-conditional-rendering,active>> within a subpass it must be ended in the same subpass"
+ },
+ {
+ "vuid": "VUID-vkCmdEndConditionalRenderingEXT-commandBuffer-parameter",
+ "text": " commandBuffer
must be a valid VkCommandBuffer
handle"
+ },
+ {
+ "vuid": "VUID-vkCmdEndConditionalRenderingEXT-commandBuffer-recording",
+ "text": " commandBuffer
must be in the <<commandbuffers-lifecycle, recording state>>"
+ },
+ {
+ "vuid": "VUID-vkCmdEndConditionalRenderingEXT-commandBuffer-cmdpool",
+ "text": " The VkCommandPool
that commandBuffer
was allocated from must support graphics, or compute operations"
+ }
+ ]
+ },
"VkPipelineVertexInputStateCreateInfo": {
"core": [
{
@@ -17882,6 +18518,14 @@
}
]
},
+ "VkPhysicalDevice8BitStorageFeaturesKHR": {
+ "(VK_KHR_8bit_storage)": [
+ {
+ "vuid": "VUID-VkPhysicalDevice8BitStorageFeaturesKHR-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR
"
+ }
+ ]
+ },
"VkPhysicalDevice16BitStorageFeatures": {
"(VK_VERSION_1_1,VK_KHR_16bit_storage)": [
{
@@ -17914,6 +18558,14 @@
}
]
},
+ "VkPhysicalDeviceConditionalRenderingFeaturesEXT": {
+ "(VK_EXT_conditional_rendering)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceConditionalRenderingFeaturesEXT-sType-sType",
+ "text": " sType
must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
"
+ }
+ ]
+ },
"VkPhysicalDeviceShaderDrawParameterFeatures": {
"(VK_VERSION_1_1)": [
{