VK_ARM_rasterization_order_attachment_access(3)

# VK_ARM_rasterization_order_attachment_access(3) Manual Page

## Name

VK_ARM_rasterization_order_attachment_access - device extension

Loading… please wait.

## Registered Extension Number

343

## Revision

1

## Extension and Version Dependencies

- Requires Vulkan 1.0

- Requires `VK_KHR_get_physical_device_properties2`

## Contact

- Jan-Harald Fredriksen janharaldfredriksen-arm

## Other Extension Metadata

Last Modified Date

  2021-11-12

IP Status

  No known IP claims.

Contributors

  - Tobias Hector, AMD

  - Jan-Harald Fredriksen, Arm

## Description

Renderpasses, and specifically subpass self-dependencies enable much of the same functionality as the framebuffer fetch and pixel local storage extensions did for OpenGL ES. But certain techniques such as programmable blending are awkward or impractical to implement with these alone, in part because a self-dependency is required every time a fragment will read a value at a given sample coordinate.

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

See renderpass feedback loops for more information.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM

## New Enums

- VkPipelineColorBlendStateCreateFlagBits

- VkPipelineDepthStencilStateCreateFlagBits

## New Enum Constants

- `VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME`

- `VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION`

- Extending VkPipelineColorBlendStateCreateFlagBits:

  - `VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM`

- Extending VkPipelineDepthStencilStateCreateFlagBits:

  - `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM`

  - `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM`

- Extending VkSubpassDescriptionFlagBits:

  - `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM`

  - `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM`

  - `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM`

## Issues

1) Is there any interaction with the `VK_KHR_dynamic_rendering` extension?

No. This extension only affects reads from input attachments. Render pass instances begun with vkCmdBeginRenderingKHR do not have input attachments and a different mechanism will be needed to provide similar functionality in this case.

## Examples

None.

## Version History

- Revision 1, 2021-11-12 (Jan-Harald Fredriksen)

  - Initial draft

## See Also

VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, VkPipelineColorBlendStateCreateFlagBits, VkPipelineDepthStencilStateCreateFlagBits

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

SPDX-License-Identifier: CC-BY-4.0