vkCmdSetAttachmentFeedbackLoopEnableEXT
To dynamically set whether a pipeline can access a resource as a non-attachment while it is also used as an attachment that is written to, call:
void vkCmdSetAttachmentFeedbackLoopEnableEXT(
VkCommandBuffer commandBuffer,
VkImageAspectFlags aspectMask);
commandBuffer
is the command buffer into which the command will be recorded.aspectMask
specifies the types of attachments for which feedback loops will be enabled. Attachment types whose aspects are not included inaspectMask
will have feedback loops disabled.
For attachments that are written to in a render pass, only attachments with
the aspects specified in aspectMask
can be accessed as
non-attachments by subsequent drawing commands.
Valid Usage
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-attachmentFeedbackLoopDynamicState-08862
The attachmentFeedbackLoopDynamicState
feature must be enabled
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-aspectMask-08863
aspectMask
must only include VK_IMAGE_ASPECT_NONE
,
VK_IMAGE_ASPECT_COLOR_BIT
, VK_IMAGE_ASPECT_DEPTH_BIT
, and
VK_IMAGE_ASPECT_STENCIL_BIT
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-attachmentFeedbackLoopLayout-08864
If the attachmentFeedbackLoopLayout
feature is not enabled,
aspectMask
must be VK_IMAGE_ASPECT_NONE
Valid Usage (Implicit)
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-commandBuffer-parameter
commandBuffer
must be a valid VkCommandBuffer handle
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-aspectMask-parameter
aspectMask
must be a valid combination of VkImageAspectFlagBits values
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-commandBuffer-recording
commandBuffer
must be in the recording state
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-commandBuffer-cmdpool
The VkCommandPool
that commandBuffer
was allocated from must support graphics operations
VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-videocoding
This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was allocated from must be externally synchronized ::