Function Prototype

vkCmdEndRendering2EXT

End a dynamic render pass instance
primary / secondary
inside
graphics
action / state

Alternatively, to end a render pass instance, call:

void vkCmdEndRendering2EXT(
    VkCommandBuffer                   commandBuffer,
    const VkRenderingEndInfoEXT*        pRenderingEndInfo);
  • commandBuffer is the command buffer in which to record the command.
  • pRenderingEndInfo is NULL or a pointer to a VkRenderingEndInfoEXT structure containing information about how the render pass will be ended.

If the value of pRenderingInfo→flags used to begin this render pass instance included VK_RENDERING_SUSPENDING_BIT, then this render pass is suspended and will be resumed later in submission order.

Valid Usage

VUID-vkCmdEndRendering2EXT-None-10610

The current render pass instance must have been begun with vkCmdBeginRendering

VUID-vkCmdEndRendering2EXT-commandBuffer-10611

The current render pass instance must have been begun in commandBuffer

VUID-vkCmdEndRendering2EXT-None-10612

This command must not be recorded when transform feedback is active

VUID-vkCmdEndRendering2EXT-None-10613

If vkCmdBeginQuery* was called within the render pass, the corresponding vkCmdEndQuery* must have been called subsequently within the same subpass

Valid Usage (Implicit)

VUID-vkCmdEndRendering2EXT-pRenderingEndInfo-parameter

If pRenderingEndInfo is not NULL, pRenderingEndInfo must be a valid pointer to a valid VkRenderingEndInfoEXT structure

VUID-vkCmdEndRendering2EXT-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

VUID-vkCmdEndRendering2EXT-renderpass

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

VUID-vkCmdEndRendering2EXT-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 that commandBuffer was allocated from must be externally synchronized ::