Structures
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
Structure describing features supported by VK_EXT_shader_atomic_float
The VkPhysicalDeviceShaderAtomicFloatFeaturesEXT structure is defined as:
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;
This structure describes the following features:
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.-
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 and payload memory. shaderSharedFloat32AtomicAdd
indicates whether shaders can perform 32-bit floating-point add atomic operations on shared and payload memory.-
shaderSharedFloat64Atomics
indicates whether shaders can perform 64-bit floating-point load, store and exchange atomic operations on shared and payload memory. shaderSharedFloat64AtomicAdd
indicates whether shaders can perform 64-bit floating-point add atomic operations on shared and payload 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.
If the VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
structure is included in the pNext
chain of the
VkPhysicalDeviceFeatures2 structure passed to
vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each
corresponding feature is supported.
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
can also be used in the pNext
chain of
VkDeviceCreateInfo to selectively enable these features.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceShaderAtomicFloatFeaturesEXT-sType-sType
sType
must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT