VKCMDNEXTSUBPASS(3)

NAME
vkCmdNextSubpass - Transition to the next subpass of a render pass

C SPECIFICATION

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);

PARAMETERS

    • commandBuffer is the command buffer in which to record the command.

    • contents specifies how the commands in the next subpass will be provided, in the same fashion as the corresponding parameter of vkCmdBeginRenderPass.

DESCRIPTION

The subpass index for a render pass begins at zero when vkCmdBeginRenderPass is recorded, and increments each time vkCmdNextSubpass is recorded.

Moving to the next subpass automatically performs any multisample resolve operations in the subpass being ended. End-of-subpass multisample resolves are treated as color attachment writes for the purposes of synchronization. That is, they are considered to execute in the VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage and their writes are synchronized with VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT. Synchronization between rendering within a subpass and any resolve operations at the end of the subpass occurs automatically, without need for explicit dependencies or pipeline barriers. However, if the resolve attachment is also used in a different subpass, an explicit dependency is needed.

After transitioning to the next subpass, the application can record the commands for that subpass. Valid Usage

    • The current subpass index must be less than the number of subpasses in the render pass minus one
Valid Usage (Implicit)

    • commandBuffer must be a valid VkCommandBuffer handle

    • contents must be a valid VkSubpassContents value

    • commandBuffer must be in the recording state

    • The VkCommandPool that commandBuffer was allocated from must support graphics operations

    • This command must only be called inside of a render pass instance

    • commandBuffer must be a primary VkCommandBuffer
Host Synchronization

    • Host access to commandBuffer must be externally synchronized
Command Properties
Command Buffer Levels | Render Pass Scope | Supported Queue Types
Primary | Inside | GRAPHICS

SEE ALSO

VkCommandBuffer, VkSubpassContents

DOCUMENT NOTES

For more information, see the Vulkan Specification at URL

https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkCmdNextSubpass

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification,not directly.

COPYRIGHT

Copyright (c) 2014-2016 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.

AUTHOR

Khronos Group
    Author.