VK_KHR_create_renderpass2(3)

# VK_KHR_create_renderpass2(3) Manual Page

## Name

VK_KHR_create_renderpass2 - device extension

## Registered Extension Number

110

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_multiview
and
VK_KHR_maintenance2
or
Vulkan Version 1.1

## Deprecation State

- Promoted to Vulkan 1.2

## Contact

- Tobias Hector [GitHub]tobias

## Other Extension Metadata

Last Modified Date

  2018-02-07

Contributors

  - Tobias Hector

  - Jeff Bolz

## Description

This extension provides a new command to create render passes in a way that can be easily extended by other extensions through the substructures of render pass creation. The Vulkan 1.0 render pass creation sub-structures do not include `sType`/`pNext` members. Additionally, the render pass begin/next/end commands have been augmented with new extensible structures for passing additional subpass information.

The VkRenderPassMultiviewCreateInfo and VkInputAttachmentAspectReference structures that extended the original VkRenderPassCreateInfo are not accepted into the new creation functions, and instead their parameters are folded into this extension as follows:

- Elements of VkRenderPassMultiviewCreateInfo::`pViewMasks` are now specified in VkSubpassDescription2KHR::`viewMask`.

- Elements of VkRenderPassMultiviewCreateInfo::`pViewOffsets` are now specified in VkSubpassDependency2KHR::`viewOffset`.

- VkRenderPassMultiviewCreateInfo::`correlationMaskCount` and VkRenderPassMultiviewCreateInfo::`pCorrelationMasks` are directly specified in VkRenderPassCreateInfo2KHR.

- VkInputAttachmentAspectReference::`aspectMask` is now specified in the relevant input attachment reference in VkAttachmentReference2KHR::`aspectMask`

The details of these mappings are explained fully in the new structures.

## Promotion to Vulkan 1.2

All functionality in this extension is included in core Vulkan 1.2, with the KHR suffix omitted. The original type, enum, and command names are still available as aliases of the core functionality.

## New Commands

- vkCmdBeginRenderPass2KHR

- vkCmdEndRenderPass2KHR

- vkCmdNextSubpass2KHR

- vkCreateRenderPass2KHR

## New Structures

- VkAttachmentDescription2KHR

- VkAttachmentReference2KHR

- VkRenderPassCreateInfo2KHR

- VkSubpassBeginInfoKHR

- VkSubpassDependency2KHR

- VkSubpassDescription2KHR

- VkSubpassEndInfoKHR

## New Enum Constants

- `VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME`

- `VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION`

- Extending VkStructureType:

  - VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR

  - VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR

  - VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR

  - VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR

  - VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR

  - VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR

  - VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR

## Version History

- Revision 1, 2018-02-07 (Tobias Hector)

  - Internal revisions

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0