# VK_EXT_fragment_shader_interlock(3) Manual Page

## Name

VK_EXT_fragment_shader_interlock - device extension

Loading… please wait.

## Registered Extension Number

252

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## SPIR-V Dependencies

- SPV_EXT_fragment_shader_interlock

## Contact

- Piers Daniell [GitHub]pdaniell-nv

## Other Extension Metadata

Last Modified Date

  2019-05-02

Interactions and External Dependencies

  - This extension provides API support for `GL_ARB_fragment_shader_interlock`

Contributors

  - Daniel Koch, NVIDIA

  - Graeme Leese, Broadcom

  - Jan-Harald Fredriksen, Arm

  - Faith Ekstrand, Intel

  - Jeff Bolz, NVIDIA

  - Ruihao Zhang, Qualcomm

  - Slawomir Grajewski, Intel

  - Spencer Fricke, Samsung

## Description

This extension adds support for the `FragmentShaderPixelInterlockEXT`, `FragmentShaderSampleInterlockEXT`, and `FragmentShaderShadingRateInterlockEXT` capabilities from the `SPV_EXT_fragment_shader_interlock` extension to Vulkan.

Enabling these capabilities provides a critical section for fragment shaders to avoid overlapping pixels being processed at the same time, and certain guarantees about the ordering of fragment shader invocations of fragments of overlapping pixels.

This extension can be useful for algorithms that need to access per-pixel data structures via shader loads and stores. Algorithms using this extension can access per-pixel data structures in critical sections without other invocations accessing the same per-pixel data. Additionally, the ordering guarantees are useful for cases where the API ordering of fragments is meaningful. For example, applications may be able to execute programmable blending operations in the fragment shader, where the destination buffer is read via image loads and the final value is written via image stores.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT

## New Enum Constants

- `VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME`

- `VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT`

## New SPIR-V Capabilities

- `FragmentShaderInterlockEXT`

- `FragmentShaderPixelInterlockEXT`

- `FragmentShaderShadingRateInterlockEXT`

## Version History

- Revision 1, 2019-05-24 (Piers Daniell)

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

SPDX-License-Identifier: CC-BY-4.0