Function Prototype

vkCmdNextSubpass2

Transition to the next subpass of a render pass

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);
  • commandBuffer is the command buffer in which to record the command.
  • pSubpassBeginInfo is a pointer to a VkSubpassBeginInfo structure containing information about the subpass which is about to begin rendering.
  • pSubpassEndInfo is 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-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-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 commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::