Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_EXT_fragment_shader_interlock - device extension
VK_EXT_fragment_shader_interlock
- Name String
VK_EXT_fragment_shader_interlock
- Extension Type
- Device extension
- Registered Extension Number
- 252
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
- Contact
Other Extension Metadata
- Last Modified Date
- 2019-05-02
- Interactions and External Dependencies
- This extension requires SPV_EXT_fragment_shader_interlock
- This extension provides API support for GL_ARB_fragment_shader_interlock
- Contributors
- Daniel Koch, NVIDIA
- Graeme Leese, Broadcom
- Jan-Harald Fredriksen, Arm
- Jason 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
PhysicalDeviceFeatures2
,DeviceCreateInfo
:
New Enum Constants
New SPIR-V Capabilities
Version History
Revision 1, 2019-05-24 (Piers Daniell)
- Internal revisions
See Also
PhysicalDeviceFragmentShaderInterlockFeaturesEXT
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.
Synopsis
- data PhysicalDeviceFragmentShaderInterlockFeaturesEXT = PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
- type EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION = 1
- pattern EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION :: forall a. Integral a => a
- type EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME = "VK_EXT_fragment_shader_interlock"
- pattern EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source #
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT - Structure describing fragment shader interlock features that can be supported by an implementation
Members
The members of the PhysicalDeviceFragmentShaderInterlockFeaturesEXT
structure describe the following features:
Description
If the PhysicalDeviceFragmentShaderInterlockFeaturesEXT
structure is
included in the pNext
chain of
PhysicalDeviceFeatures2
,
it is filled with values indicating whether the feature is supported.
PhysicalDeviceFragmentShaderInterlockFeaturesEXT
can also be
included in the pNext
chain of DeviceCreateInfo
to enable features.
Valid Usage (Implicit)
See Also
Instances
pattern EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME = "VK_EXT_fragment_shader_interlock" Source #
pattern EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #