C Specification
To query support for atomic operations on floating-point numbers, call
vkGetPhysicalDeviceFeatures2 with a
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT structure included in the
pNext
chain of its pFeatures
parameter.
The VkPhysicalDeviceShaderAtomicFloatFeaturesEXT structure is defined as:
// Provided by VK_EXT_shader_atomic_float
typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
VkStructureType sType;
void* pNext;
VkBool32 shaderBufferFloat32Atomics;
VkBool32 shaderBufferFloat32AtomicAdd;
VkBool32 shaderBufferFloat64Atomics;
VkBool32 shaderBufferFloat64AtomicAdd;
VkBool32 shaderSharedFloat32Atomics;
VkBool32 shaderSharedFloat32AtomicAdd;
VkBool32 shaderSharedFloat64Atomics;
VkBool32 shaderSharedFloat64AtomicAdd;
VkBool32 shaderImageFloat32Atomics;
VkBool32 shaderImageFloat32AtomicAdd;
VkBool32 sparseImageFloat32Atomics;
VkBool32 sparseImageFloat32AtomicAdd;
} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
Members
-
sType
is the type of this structure. -
pNext
isNULL
or a pointer to a structure extending this structure.
Description
-
shaderBufferFloat32Atomics
indicates whether shaders can perform 32-bit floating-point load, store and exchange atomic operations on storage buffers. -
shaderBufferFloat32AtomicAdd
indicates whether shaders can perform 32-bit floating-point add atomic operations on storage buffers. -
shaderBufferFloat64Atomics
indicates whether shaders can perform 64-bit floating-point load, store and exchange atomic operations on storage buffers. -
shaderBufferFloat64AtomicAdd
indicates whether shaders can perform 64-bit floating-point add atomic operations on storage buffers. -
shaderSharedFloat32Atomics
indicates whether shaders can perform 32-bit floating-point load, store and exchange atomic operations on shared memory. -
shaderSharedFloat32AtomicAdd
indicates whether shaders can perform 32-bit floating-point add atomic operations on shared memory. -
shaderSharedFloat64Atomics
indicates whether shaders can perform 64-bit floating-point load, store and exchange atomic operations on shared memory. -
shaderSharedFloat64AtomicAdd
indicates whether shaders can perform 64-bit floating-point add atomic operations on shared memory. -
shaderImageFloat32Atomics
indicates whether shaders can perform 32-bit floating-point load, store and exchange atomic image operations. -
shaderImageFloat32AtomicAdd
indicates whether shaders can perform 32-bit floating-point add atomic image operations. -
sparseImageFloat32Atomics
indicates whether 32-bit floating-point load, store and exchange atomic operations can be used on sparse images. -
sparseImageFloat32AtomicAdd
indicates whether 32-bit floating-point add atomic operations can be used on sparse images.
See Also
VkBool32
, VkStructureType
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.