Contributors
-
Vikram Kushwaha, NVIDIA
-
Daniel Koch, NVIDIA
-
Jeff Bolz, NVIDIA
-
Alan Baker, Google
-
David Neto, Google
-
Nicolai Hahnle, AMD
-
Brian Sumner, AMD
-
Faith Ekstrand, Intel
-
Graeme Leese, Broadcom
Dependencies
This extension is written against the SPIR-V Specification, Version 1.5 Revision 2.
This extension requires SPIR-V 1.0.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_EXT_shader_atomic_float_add"
New Capabilities
This extension introduces new capabilities:
AtomicFloat32AddEXT AtomicFloat64AddEXT
Modifications to the SPIR-V Specification, Version 1.5
Modify Section 3.31, "Capability", adding this row to the Capability table:
| Capability | Implicitly Declares | |
|---|---|---|
6033 |
AtomicFloat32AddEXT |
|
6034 |
AtomicFloat64AddEXT |
|
(Modify section 3.32.18, Atomic Instructions, adding to the end of the list of instructions)
New Instructions
Instructions added under AtomicFloat32AddEXT or AtomicFloat64AddEXT capability:
OpAtomicFAddEXT
Validation Rules
An OpExtension must be added to the SPIR-V for validation layers to check legal use of this extension:
OpExtension "SPV_EXT_shader_atomic_float_add"
-
When using OpAtomicFAddEXT only 32- or 64-bit floating-point values are allowed.
-
If OpAtomicFAddEXT is used with 32-bit floating-point values, the AtomicFloat32AddEXT capability must be declared.
-
If OpAtomicFAddEXT is used with 64-bit floating-point values, the AtomicFloat64AddEXT capability must be declared.