Contact
-
Faith Ekstrand gfxstrand
Other Extension Metadata
- Last Modified Date
-
2020-08-14
- IP Status
-
No known IP claims.
- Interactions and External Dependencies
-
-
This extension requires the VK_EXT_shader_atomic_float extension.
-
This extension requires
SPV_EXT_shader_atomic_float_min_max
andSPV_EXT_shader_atomic_float16_add
-
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.