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.
VK_EXT_fragment_shader_interlockVK_KHR_get_physical_device_properties2 or Version 1.1SPV_EXT_fragment_shader_interlockGL_ARB_fragment_shader_interlock| Modifier and Type | Field and Description |
|---|---|
| public static final String | VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME
The extension name. |
| public static final int | VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION
The extension specification version. |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
Extends |
| Access | Constructor and Description |
|---|---|
| private |
| VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME The extension name. | |
| VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION The extension specification version. | |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT Extends | |
| EXTFragmentShaderInterlock | back to summary |
|---|---|
| private EXTFragmentShaderInterlock() | |