blob: 55361ae7a7650646a5cbc8cacc0ae91958f6988c [file] [log] [blame]
// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// Common Valid Usage
// Common to all drawing commands
include::draw_dispatch_common.txt[]
* [[VUID-{refpage}-renderPass-02684]]
The current render pass must: be <<renderpass-compatibility,compatible>>
with the pname:renderPass member of the
sname:VkGraphicsPipelineCreateInfo structure specified when creating the
sname:VkPipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
* [[VUID-{refpage}-subpass-02685]]
The subpass index of the current render pass must: be equal to the
pname:subpass member of the sname:VkGraphicsPipelineCreateInfo structure
specified when creating the sname:VkPipeline bound to
ename:VK_PIPELINE_BIND_POINT_GRAPHICS
* [[VUID-{refpage}-None-02686]]
Every input attachment used by the current subpass must: be bound to the
pipeline via a descriptor set
* [[VUID-{refpage}-None-04584]]
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,
except for cases involving read-only access to depth/stencil attachments
as described in the <<renderpass-attachment-nonattachment, Render Pass>>
chapter
ifdef::VK_VERSION_1_1,VK_KHR_multiview[]
* [[VUID-{refpage}-maxMultiviewInstanceIndex-02688]]
If the draw is recorded in a render pass instance with multiview
enabled, the maximum instance index must: be less than or equal to
slink:VkPhysicalDeviceMultiviewProperties::pname:maxMultiviewInstanceIndex
endif::VK_VERSION_1_1,VK_KHR_multiview[]
ifdef::VK_EXT_sample_locations[]
* [[VUID-{refpage}-sampleLocationsEnable-02689]]
If the bound graphics pipeline was created with
slink:VkPipelineSampleLocationsStateCreateInfoEXT::pname:sampleLocationsEnable
set to ename:VK_TRUE and the current subpass has a depth/stencil
attachment, then that attachment must: have been created with the
ename:VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
endif::VK_EXT_sample_locations[]
ifdef::VK_EXT_extended_dynamic_state[]
* [[VUID-{refpage}-viewportCount-03417]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
but not the ename:VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state
enabled, then flink:vkCmdSetViewportWithCountEXT must: have been called
in the current command buffer prior to this drawing command, and the
pname:viewportCount parameter of fname:vkCmdSetViewportWithCountEXT
must: match the
sname:VkPipelineViewportStateCreateInfo::pname:scissorCount of the
pipeline
* [[VUID-{refpage}-scissorCount-03418]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT dynamic state enabled, but
not the ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state
enabled, then flink:vkCmdSetScissorWithCountEXT must: have been called
in the current command buffer prior to this drawing command, and the
pname:scissorCount parameter of fname:vkCmdSetScissorWithCountEXT must:
match the sname:VkPipelineViewportStateCreateInfo::pname:viewportCount
of the pipeline
* [[VUID-{refpage}-viewportCount-03419]]
If the bound graphics pipeline state was created with both the
ename:VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT and
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic states enabled
then both flink:vkCmdSetViewportWithCountEXT and
flink:vkCmdSetScissorWithCountEXT must: have been called in the current
command buffer prior to this drawing command, and the
pname:viewportCount parameter of fname:vkCmdSetViewportWithCountEXT
must: match the pname:scissorCount parameter of
fname:vkCmdSetScissorWithCountEXT
ifdef::VK_NV_clip_space_w_scaling[]
* [[VUID-{refpage}-viewportCount-04137]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
but not the ename:VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state
enabled, then the bound graphics pipeline must: have been created with
slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:viewportCount
greater or equal to the pname:viewportCount parameter in the last call
to flink:vkCmdSetViewportWithCountEXT
* [[VUID-{refpage}-viewportCount-04138]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
ename:VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then
the pname:viewportCount parameter in the last call to
flink:vkCmdSetViewportWScalingNV must: be greater than or equal to the
pname:viewportCount parameter in the last call to
flink:vkCmdSetViewportWithCountEXT
endif::VK_NV_clip_space_w_scaling[]
ifdef::VK_NV_shading_rate_image[]
* [[VUID-{refpage}-viewportCount-04139]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
but not the ename:VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
dynamic state enabled, then the bound graphics pipeline must: have been
created with
slink:VkPipelineViewportShadingRateImageStateCreateInfoNV::pname:viewportCount
greater or equal to the pname:viewportCount parameter in the last call
to flink:vkCmdSetViewportWithCountEXT
* [[VUID-{refpage}-viewportCount-04140]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT and
ename:VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states
enabled then the pname:viewportCount parameter in the last call to
flink:vkCmdSetViewportShadingRatePaletteNV must: be greater than or
equal to the pname:viewportCount parameter in the last call to
flink:vkCmdSetViewportWithCountEXT
endif::VK_NV_shading_rate_image[]
ifdef::VK_NV_viewport_swizzle[]
* [[VUID-{refpage}-VkPipelineVieportCreateInfo-04141]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
a slink:VkPipelineViewportSwizzleStateCreateInfoNV structure chained
from pname:VkPipelineVieportCreateInfo, then the bound graphics pipeline
must: have been created with
slink:VkPipelineViewportSwizzleStateCreateInfoNV::pname:viewportCount
greater or equal to the pname:viewportCount parameter in the last call
to flink:vkCmdSetViewportWithCountEXT
endif::VK_NV_viewport_swizzle[]
ifdef::VK_NV_scissor_exclusive[]
* [[VUID-{refpage}-VkPipelineVieportCreateInfo-04142]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled and
a slink:VkPipelineViewportExclusiveScissorStateCreateInfoNV structure
chained from pname:VkPipelineVieportCreateInfo, then the bound graphics
pipeline must: have been created with
slink:VkPipelineViewportExclusiveScissorStateCreateInfoNV::pname:exclusiveScissorCount
greater or equal to the pname:viewportCount parameter in the last call
to flink:vkCmdSetViewportWithCountEXT
endif::VK_NV_scissor_exclusive[]
* [[VUID-{refpage}-primitiveTopology-03420]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT dynamic state enabled then
flink:vkCmdSetPrimitiveTopologyEXT must: have been called in the current
command buffer prior to this drawing command, and the
pname:primitiveTopology parameter of fname:vkCmdSetPrimitiveTopologyEXT
must: be of the same <<drawing-primitive-topology-class, topology
class>> as the pipeline
slink:VkPipelineInputAssemblyStateCreateInfo::pname:topology state
endif::VK_EXT_extended_dynamic_state[]
ifdef::VK_EXT_extended_dynamic_state2[]
* [[VUID-{refpage}-None-04875]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled
then flink:vkCmdSetPatchControlPointsEXT must: have been called in the
current command buffer prior to this drawing command
* [[VUID-{refpage}-None-04876]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT dynamic state
enabled then flink:vkCmdSetRasterizerDiscardEnableEXT must: have been
called in the current command buffer prior to this drawing command
* [[VUID-{refpage}-None-04877]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT dynamic state enabled then
flink:vkCmdSetDepthBiasEnableEXT must: have been called in the current
command buffer prior to this drawing command
* [[VUID-{refpage}-logicOp-04878]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then
flink:vkCmdSetLogicOpEXT must: have been called in the current command
buffer prior to this drawing command and the pname:logicOp must: be a
valid elink:VkLogicOp value
* [[VUID-{refpage}-None-04879]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT dynamic state
enabled then flink:vkCmdSetPrimitiveRestartEnableEXT must: have been
called in the current command buffer prior to this drawing command
endif::VK_EXT_extended_dynamic_state2[]
ifdef::VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state[]
* [[VUID-{refpage}-primitiveFragmentShadingRateWithMultipleViewports-04552]]
If the <<limits-primitiveFragmentShadingRateWithMultipleViewports,
pname:primitiveFragmentShadingRateWithMultipleViewports>> limit is not
supported, the bound graphics pipeline was created with the
ename:VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT dynamic state enabled,
and any of the shader stages of the bound graphics pipeline write to the
code:PrimitiveShadingRateKHR built-in, then
flink:vkCmdSetViewportWithCountEXT must: have been called in the current
command buffer prior to this drawing command, and the
pname:viewportCount parameter of fname:vkCmdSetViewportWithCountEXT
must: be `1`
endif::VK_KHR_fragment_shading_rate+VK_EXT_extended_dynamic_state[]
* [[VUID-{refpage}-blendEnable-04727]]
If rasterization is not disabled in the bound graphics pipeline, then
for each color attachment in the subpass, if the corresponding image
view's <<resources-image-view-format-features,format features>> do not
contain ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the
pname:blendEnable member of the corresponding element of the
pname:pAttachments member of pname:pColorBlendState must: be
ename:VK_FALSE
* [[VUID-{refpage}-rasterizationSamples-04740]]
If rasterization is not disabled in the bound graphics pipeline, and
neither the `apiext:VK_AMD_mixed_attachment_samples` nor the
`apiext:VK_NV_framebuffer_mixed_samples` extensions are enabled, then
slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples
must: be the same as the current subpass color and/or depth/stencil
attachments
ifdef::VK_EXT_extended_dynamic_state[]
ifdef::VK_EXT_vertex_input_dynamic_state[]
* [[VUID-{refpage}-None-04912]]
If the bound graphics pipeline was created with both the
ename:VK_DYNAMIC_STATE_VERTEX_INPUT_EXT and
ename:VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states
enabled, then flink:vkCmdSetVertexInputEXT must: have been called in the
current command buffer prior to this draw command
* [[VUID-{refpage}-pStrides-04913]]
If the bound graphics pipeline was created with the
ename:VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
enabled, but not the ename:VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic
state enabled, then flink:vkCmdBindVertexBuffers2EXT must: have been
called in the current command buffer prior to this draw command, and the
pname:pStrides parameter of flink:vkCmdBindVertexBuffers2EXT must: not
be `NULL`
endif::VK_EXT_vertex_input_dynamic_state[]
ifndef::VK_EXT_vertex_input_dynamic_state[]
* [[VUID-{refpage}-pStrides-04884]]
If the bound graphics pipeline was created with the
ename:VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state
enabled, then flink:vkCmdBindVertexBuffers2EXT must: have been called in
the current command buffer prior to this drawing command, and the
pname:pStrides parameter of flink:vkCmdBindVertexBuffers2EXT must: not
be `NULL`
endif::VK_EXT_vertex_input_dynamic_state[]
endif::VK_EXT_extended_dynamic_state[]
ifdef::VK_EXT_vertex_input_dynamic_state[]
* [[VUID-{refpage}-None-04914]]
If the bound graphics pipeline state was created with the
ename:VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then
flink:vkCmdSetVertexInputEXT must: have been called in the current
command buffer prior to this draw command
endif::VK_EXT_vertex_input_dynamic_state[]
ifdef::VK_KHR_dynamic_rendering[]
* [[VUID-{refpage}-imageView-06172]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the pname:imageView member of
pname:pDepthAttachment is not dlink:VK_NULL_HANDLE, and the pname:layout
member of pname:pDepthAttachment is
ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
must: not write any values to the depth attachment
* [[VUID-{refpage}-imageView-06173]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the pname:imageView member of
pname:pStencilAttachment is not dlink:VK_NULL_HANDLE, and the
pname:layout member of pname:pStencilAttachment is
ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command
must: not write any values to the stencil attachment
ifdef::VK_VERSION_1_1,VK_KHR_maintenance2[]
* [[VUID-{refpage}-imageView-06174]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the pname:imageView member of
pname:pDepthAttachment is not dlink:VK_NULL_HANDLE, and the pname:layout
member of pname:pDepthAttachment is
ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this
command must: not write any values to the depth attachment
* [[VUID-{refpage}-imageView-06175]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the pname:imageView member of
pname:pStencilAttachment is not dlink:VK_NULL_HANDLE, and the
pname:layout member of pname:pStencilAttachment is
ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this
command must: not write any values to the stencil attachment
endif::VK_VERSION_1_1,VK_KHR_maintenance2[]
ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
* [[VUID-{refpage}-imageView-06176]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the pname:imageView member of
pname:pDepthAttachment is not dlink:VK_NULL_HANDLE, and the pname:layout
member of pname:pDepthAttachment is
ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must: not
write any values to the depth attachment
* [[VUID-{refpage}-imageView-06177]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the pname:imageView member of
pname:pStencilAttachment is not dlink:VK_NULL_HANDLE, and the
pname:layout member of pname:pStencilAttachment is
ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must: not
write any values to the stencil attachment
endif::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
* [[VUID-{refpage}-viewMask-06178]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound graphics pipeline
must: have been created with a
slink:VkPipelineRenderingCreateInfoKHR::pname:viewMask equal to
slink:VkRenderingInfoKHR::pname:viewMask
* [[VUID-{refpage}-colorAttachmentCount-06179]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound graphics pipeline
must: have been created with a
slink:VkPipelineRenderingCreateInfoKHR::pname:colorAttachmentCount equal
to slink:VkRenderingInfoKHR::pname:colorAttachmentCount
* [[VUID-{refpage}-colorAttachmentCount-06180]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR and
slink:VkRenderingInfoKHR::pname:colorAttachmentCount greater than `0`,
then each element of the
slink:VkRenderingInfoKHR::pname:pColorAttachments array with a
pname:imageView not equal to dlink:VK_NULL_HANDLE must: have been
created with a elink:VkFormat equal to the corresponding element of
slink:VkPipelineRenderingCreateInfoKHR::pname:pColorAttachmentFormats
used to create the currently bound graphics pipeline
* [[VUID-{refpage}-pDepthAttachment-06181]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR and
slink:VkRenderingInfoKHR::pname:pDepthAttachment->pname:imageView was
not dlink:VK_NULL_HANDLE, the value of
slink:VkPipelineRenderingCreateInfoKHR::pname:depthAttachmentFormat used
to create the currently bound graphics pipeline must: be equal to the
elink:VkFormat used to create
slink:VkRenderingInfoKHR::pname:pDepthAttachment->pname:imageView
* [[VUID-{refpage}-pStencilAttachment-06182]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR and
slink:VkRenderingInfoKHR::pname:pStencilAttachment->pname:imageView was
not dlink:VK_NULL_HANDLE, the value of
slink:VkPipelineRenderingCreateInfoKHR::pname:stencilAttachmentFormat
used to create the currently bound graphics pipeline must: be equal to
the elink:VkFormat used to create
slink:VkRenderingInfoKHR::pname:pStencilAttachment->pname:imageView
ifdef::VK_KHR_fragment_shading_rate[]
* [[VUID-{refpage}-imageView-06183]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR and
slink:VkRenderingFragmentShadingRateAttachmentInfoKHR::pname:imageView
was not dlink:VK_NULL_HANDLE, the currently bound graphics pipeline
must: have been created with
ename:VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
endif::VK_KHR_fragment_shading_rate[]
ifdef::VK_EXT_fragment_density_map[]
* [[VUID-{refpage}-imageView-06184]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR and
slink:VkRenderingFragmentDensityMapAttachmentInfoEXT::pname:imageView
was not dlink:VK_NULL_HANDLE, the currently bound graphics pipeline
must: have been created with
ename:VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
endif::VK_EXT_fragment_density_map[]
ifdef::VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples[]
* [[VUID-{refpage}-colorAttachmentCount-06185]]
If the currently bound pipeline was created with a
slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV structure, and the current render
pass instance was begun with flink:vkCmdBeginRenderingKHR with a
slink:VkRenderingInfoKHR::pname:colorAttachmentCount parameter greater
than `0`, then each element of the
slink:VkRenderingInfoKHR::pname:pColorAttachments array with a
pname:imageView not equal to dlink:VK_NULL_HANDLE must: have been
created with a sample count equal to the corresponding element of the
pname:pColorAttachmentSamples member of
slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV used to create the currently bound
graphics pipeline
* [[VUID-{refpage}-pDepthAttachment-06186]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound pipeline was created
with a slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV structure, and
slink:VkRenderingInfoKHR::pname:pDepthAttachment->pname:imageView was
not dlink:VK_NULL_HANDLE, the value of the
pname:depthStencilAttachmentSamples member of
slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV used to create the currently bound
graphics pipeline must: be equal to the sample count used to create
slink:VkRenderingInfoKHR::pname:pDepthAttachment->pname:imageView
* [[VUID-{refpage}-pStencilAttachment-06187]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound pipeline was created
with a slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV structure, and
slink:VkRenderingInfoKHR::pname:pStencilAttachment->pname:imageView was
not dlink:VK_NULL_HANDLE, the value of the
pname:depthStencilAttachmentSamples member of
slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV used to create the currently bound
graphics pipeline must: be equal to the sample count used to create
slink:VkRenderingInfoKHR::pname:pStencilAttachment->pname:imageView
* [[VUID-{refpage}-colorAttachmentCount-06188]]
If the currently bound pipeline was created without a
slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV structure, and the current render
pass instance was begun with flink:vkCmdBeginRenderingKHR with a
slink:VkRenderingInfoKHR::pname:colorAttachmentCount parameter greater
than `0`, then each element of the
slink:VkRenderingInfoKHR::pname:pColorAttachments array with a
pname:imageView not equal to dlink:VK_NULL_HANDLE must: have been
created with a sample count equal to the value of
slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples
used to create the currently bound graphics pipeline
* [[VUID-{refpage}-pDepthAttachment-06189]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound pipeline was created
without a slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV structure, and
slink:VkRenderingInfoKHR::pname:pDepthAttachment->pname:imageView was
not dlink:VK_NULL_HANDLE, the value of
slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples
used to create the currently bound graphics pipeline must: be equal to
the sample count used to create
slink:VkRenderingInfoKHR::pname:pDepthAttachment->pname:imageView
* [[VUID-{refpage}-pStencilAttachment-06190]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound pipeline was created
without a slink:VkAttachmentSampleCountInfoAMD or
slink:VkAttachmentSampleCountInfoNV structure, and
slink:VkRenderingInfoKHR::pname:pStencilAttachment->pname:imageView was
not dlink:VK_NULL_HANDLE, the value of
slink:VkPipelineMultisampleStateCreateInfo::pname:rasterizationSamples
used to create the currently bound graphics pipeline must: be equal to
the sample count used to create
slink:VkRenderingInfoKHR::pname:pStencilAttachment->pname:imageView
* [[VUID-{refpage}-renderPass-06198]]
If the current render pass instance was begun with
flink:vkCmdBeginRenderingKHR, the currently bound pipeline must: have
been created with a slink:VkGraphicsPipelineCreateInfo::pname:renderPass
equal to dlink:VK_NULL_HANDLE
endif::VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples[]
endif::VK_KHR_dynamic_rendering[]
// Common Valid Usage