Function Prototype

vkCmdEndRenderPass

End the current render pass
primary
inside
graphics
action / state / synchronization

To record a command to end a render pass instance after recording the commands for the last subpass, call:

void vkCmdEndRenderPass(
    VkCommandBuffer commandBuffer);
  • commandBuffer is the command buffer in which to end the current render pass instance.

Ending a render pass instance performs any multisample resolve operations on the final subpass.

Valid Usage

VUID-vkCmdEndRenderPass-None-00910

The current subpass index must be equal to the number of subpasses in the render pass minus one

VUID-vkCmdEndRenderPass-None-02351

This command must not be recorded when transform feedback is active

VUID-vkCmdEndRenderPass-None-06170

The current render pass instance must not have been begun with vkCmdBeginRendering

VUID-vkCmdEndRenderPass-None-07004

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

Valid Usage (Implicit)

VUID-vkCmdEndRenderPass-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

VUID-vkCmdEndRenderPass-renderpass

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

VUID-vkCmdEndRenderPass-videocoding

This command must only be called outside of a video coding scope

VUID-vkCmdEndRenderPass-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 ::