vkCmdNextSubpass
To transition to the next subpass in the render pass instance after recording the commands for a subpass, call:
void vkCmdNextSubpass(
VkCommandBuffer commandBuffer,
VkSubpassContents contents);
commandBufferis the command buffer in which to record the command.contentsspecifies how the commands in the next subpass will be provided, in the same fashion as the corresponding parameter of vkCmdBeginRenderPass.
The subpass index for a render pass begins at zero when
vkCmdBeginRenderPass is recorded, and increments each time
vkCmdNextSubpass is recorded.
After transitioning to the next subpass, the application can record the commands for that subpass.
Valid Usage
VUID-vkCmdNextSubpass-None-00909
The current subpass index must be less than the number of subpasses in the render pass minus one
VUID-vkCmdNextSubpass-None-02349
This command must not be recorded when transform feedback is active
Valid Usage (Implicit)
VUID-vkCmdNextSubpass-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdNextSubpass-contents-parameter
contents must be a valid VkSubpassContents value
VUID-vkCmdNextSubpass-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdNextSubpass-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdNextSubpass-renderpass
This command must only be called inside of a render pass instance
VUID-vkCmdNextSubpass-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdNextSubpass-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 ::