vkCmdNextSubpass2
To transition to the next subpass in the render pass instance after recording the commands for a subpass, call:
void vkCmdNextSubpass2KHR(
VkCommandBuffer commandBuffer,
const VkSubpassBeginInfo* pSubpassBeginInfo,
const VkSubpassEndInfo* pSubpassEndInfo);
commandBufferis the command buffer in which to record the command.pSubpassBeginInfois a pointer to a VkSubpassBeginInfo structure containing information about the subpass which is about to begin rendering.pSubpassEndInfois a pointer to a VkSubpassEndInfo structure containing information about how the previous subpass will be ended.
vkCmdNextSubpass2 is semantically identical to vkCmdNextSubpass,
except that it is extensible, and that contents is provided as part of
an extensible structure instead of as a flat parameter.
Valid Usage
VUID-vkCmdNextSubpass2-None-03102
The current subpass index must be less than the number of subpasses in the render pass minus one
VUID-vkCmdNextSubpass2-None-02350
This command must not be recorded when transform feedback is active
Valid Usage (Implicit)
VUID-vkCmdNextSubpass2-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdNextSubpass2-pSubpassBeginInfo-parameter
pSubpassBeginInfo must be a valid pointer to a valid VkSubpassBeginInfo structure
VUID-vkCmdNextSubpass2-pSubpassEndInfo-parameter
pSubpassEndInfo must be a valid pointer to a valid VkSubpassEndInfo structure
VUID-vkCmdNextSubpass2-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdNextSubpass2-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdNextSubpass2-renderpass
This command must only be called inside of a render pass instance
VUID-vkCmdNextSubpass2-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdNextSubpass2-bufferlevel
commandBuffer must be a primary VkCommandBuffer
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::