API Interactions
- 
Interacts with VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT::sparseImageFloat32AtomicMinMax 
Contact
- 
Faith Ekstrand [GitHub]gfxstrand 
Other Extension Metadata
- Last Modified Date
- 
2020-08-14 
- IP Status
- 
No known IP claims. 
- Interactions and External Dependencies
- 
- 
This extension provides API support for GLSL_EXT_shader_atomic_float2
 
- 
- Contributors
- 
- 
Faith Ekstrand, Intel 
 
- 
Description
This extension allows a shader to perform 16-bit floating-point atomic
operations on buffer and workgroup memory as well as floating-point atomic
minimum and maximum operations on buffer, workgroup, and image memory.
It advertises the SPIR-V AtomicFloat16AddEXT capability which allows
atomic add operations on 16-bit floating-point numbers and the SPIR-V
AtomicFloat16MinMaxEXT, AtomicFloat32MinMaxEXT and
AtomicFloat64MinMaxEXT capabilities which allow atomic minimum and
maximum operations on floating-point numbers.
The supported operations include OpAtomicFAddEXT, OpAtomicFMinEXT
and OpAtomicFMaxEXT.
New Enum Constants
- 
VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME
- 
VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
 
- 
Issues
1) Should this extension add support for 16-bit image atomics?
RESOLVED: No.
While Vulkan supports creating storage images with
VK_FORMAT_R16_SFLOAT and doing load and store on them, the data in the
shader has a 32-bit representation.
Vulkan currently has no facility for even basic reading or writing such
images using 16-bit float values in the shader.
Adding such functionality would be required before 16-bit image atomics
would make sense and is outside the scope of this extension.
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.