VK_KHR_dynamic_rendering(3)

# VK_KHR_dynamic_rendering(3) Manual Page

## Name

VK_KHR_dynamic_rendering - device extension

Loading… please wait.

## Registered Extension Number

45

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1
and
VK_KHR_depth_stencil_resolve
or
Vulkan Version 1.2

## Deprecation State

- Promoted to Vulkan 1.3

## Contact

- Tobias Hector [GitHub]tobski

## Extension Proposal

VK_KHR_dynamic_rendering

## Other Extension Metadata

Last Modified Date

  2021-10-06

Contributors

  - Tobias Hector, AMD

  - Arseny Kapoulkine, Roblox

  - François Duranleau, Gameloft

  - Stuart Smith, AMD

  - Hai Nguyen, Google

  - Jean-François Roy, Google

  - Jeff Leger, Qualcomm

  - Jan-Harald Fredriksen, Arm

  - Piers Daniell, Nvidia

  - James Fitzpatrick, Imagination

  - Piotr Byszewski, Mobica

  - Jesse Hall, Google

  - Mike Blumenkrantz, Valve

## Description

This extension allows applications to create single-pass render pass instances without needing to create render pass objects or framebuffers. Dynamic render passes can also span across multiple primary command buffers, rather than relying on secondary command buffers.

This extension also incorporates `VK_ATTACHMENT_STORE_OP_NONE_KHR` from `VK_QCOM_render_pass_store_ops`, enabling applications to avoid unnecessary synchronization when an attachment is not written during a render pass.

## New Commands

- vkCmdBeginRenderingKHR

- vkCmdEndRenderingKHR

## New Structures

- VkRenderingAttachmentInfoKHR

- VkRenderingInfoKHR

- Extending VkCommandBufferInheritanceInfo:

  - VkCommandBufferInheritanceRenderingInfoKHR

- Extending VkGraphicsPipelineCreateInfo:

  - VkPipelineRenderingCreateInfoKHR

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceDynamicRenderingFeaturesKHR

## New Enums

- VkRenderingFlagBitsKHR

## New Bitmasks

- VkRenderingFlagsKHR

## New Enum Constants

- `VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME`

- `VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION`

- Extending VkAttachmentStoreOp:

  - `VK_ATTACHMENT_STORE_OP_NONE_KHR`

- Extending VkRenderingFlagBits:

  - `VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR`

  - `VK_RENDERING_RESUMING_BIT_KHR`

  - `VK_RENDERING_SUSPENDING_BIT_KHR`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR`

  - `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR`

  - `VK_STRUCTURE_TYPE_RENDERING_INFO_KHR`

## Promotion to Vulkan 1.3

Vulkan APIs in this extension are included in core Vulkan 1.3, with the KHR suffix omitted. External interactions defined by this extension, such as SPIR-V token names, retain their original names. The original Vulkan API names are still available as aliases of the core functionality.

## Version History

- Revision 1, 2021-10-06 (Tobias Hector)

  - Initial revision

## 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-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0