vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_fragment_shader_interlock

Description

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
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
SPIR-V Dependencies
Contact

Other Extension Metadata

Last Modified Date
2019-05-02
Interactions and External Dependencies
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

New Enum Constants

New SPIR-V Capabilities

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.

Synopsis

Documentation

data PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source #

VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT - Structure describing fragment shader interlock features that can be supported by an implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceFragmentShaderInterlockFeaturesEXT structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceFragmentShaderInterlockFeaturesEXT, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_EXT_fragment_shader_interlock, Bool32, StructureType

Constructors

PhysicalDeviceFragmentShaderInterlockFeaturesEXT 

Fields

Instances

Instances details
Eq PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_fragment_shader_interlock

Storable PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_fragment_shader_interlock

Show PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_fragment_shader_interlock

FromCStruct PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_fragment_shader_interlock

ToCStruct PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_fragment_shader_interlock

Zero PhysicalDeviceFragmentShaderInterlockFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_fragment_shader_interlock

type EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME = "VK_EXT_fragment_shader_interlock" Source #