VK_EXT_rasterization_order_attachment_access

Other Extension Metadata

Last Modified Date

2026-01-16

IP Status

No known IP claims.

Contributors
  • Tobias Hector, AMD
  • Jan-Harald Fredriksen, Arm

Description

This extension extends the mechanism of input attachments to allow access to framebuffer attachments that are used both as input and as color or depth/stencil attachments from one fragment to the next, in rasterization order, without explicit synchronization.

New Structures

New Enums

New Enum Constants

  • VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME
  • VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION
  • Extending VkPipelineColorBlendStateCreateFlagBits:
    • VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
  • Extending VkPipelineDepthStencilStateCreateFlagBits:
    • VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
    • VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
  • Extending VkSubpassDescriptionFlagBits:
    • VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT
    • VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
    • VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT

Issues

1) What are the interactions with the VK_KHR_dynamic_rendering or VK_KHR_dynamic_rendering_local_read extensions?

RESOLVED

Render pass instances begun with vkCmdBeginRenderingKHR do not have input attachments and thus a different mechanism was needed to provide similar functionality in this case. This was provided by VK_KHR_dynamic_rendering_local_read, which enables reads from attachments and resources written by previous fragment shaders within a dynamic render pass.

Render pass instances begun with vkCmdBeginRenderingKHR do not have subpasses, and there is no equivalent to the following flag bits for these instances:

  • VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT
  • VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
  • VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT

Instead, the behavior is controlled only by the corresponding pipeline flag bits, i.e.:

  • VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
  • VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
  • VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT

2) What is the interaction with the VK_EXT_shader_object extension?

RESOLVED

This functionality is not available for draw calls using shader objects because the VK_EXT_shader_object extension depends on VK_KHR_dynamic_rendering, and thus neither the subpass flags nor the pipeline flags defined in this extension can be specified.

Examples

None.

Version History

  • Revision 1, 2022-07-04 (Jan-Harald Fredriksen)
    • Initial draft
    • Updated Issues section 2026-01-16