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;
pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
s_type: vk::StructureType,
p_next: *mut c_void,
shader_buffer_float32_atomics: vk::Bool32,
shader_buffer_float32_atomic_add: vk::Bool32,
shader_buffer_float64_atomics: vk::Bool32,
shader_buffer_float64_atomic_add: vk::Bool32,
shader_shared_float32_atomics: vk::Bool32,
shader_shared_float32_atomic_add: vk::Bool32,
shader_shared_float64_atomics: vk::Bool32,
shader_shared_float64_atomic_add: vk::Bool32,
shader_image_float32_atomics: vk::Bool32,
shader_image_float32_atomic_add: vk::Bool32,
sparse_image_float32_atomics: vk::Bool32,
sparse_image_float32_atomic_add: vk::Bool32,
}
This structure describes the following features:
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.- FEATURES SHADERBUFFERFLOAT32ATOMICS
shaderBufferFloat32Atomicsindicates whether shaders can perform 32-bit floating-point load, store, and exchange atomic operations on storage buffers. - FEATURES SHADERBUFFERFLOAT32ATOMICADD
shaderBufferFloat32AtomicAddindicates whether shaders can perform 32-bit floating-point add atomic operations on storage buffers. - FEATURES SHADERBUFFERFLOAT64ATOMICS
shaderBufferFloat64Atomicsindicates whether shaders can perform 64-bit floating-point load, store, and exchange atomic operations on storage buffers. - FEATURES SHADERBUFFERFLOAT64ATOMICADD
shaderBufferFloat64AtomicAddindicates whether shaders can perform 64-bit floating-point add atomic operations on storage buffers. -
shaderSharedFloat32Atomicsindicates whether shaders can perform 32-bit floating-point load, store, and exchange atomic operations on shared and payload memory. shaderSharedFloat32AtomicAddindicates whether shaders can perform 32-bit floating-point add atomic operations on shared and payload memory.-
shaderSharedFloat64Atomicsindicates whether shaders can perform 64-bit floating-point load, store, and exchange atomic operations on shared and payload memory. shaderSharedFloat64AtomicAddindicates whether shaders can perform 64-bit floating-point add atomic operations on shared and payload memory.- FEATURES SHADERIMAGEFLOAT32ATOMICS
shaderImageFloat32Atomicsindicates whether shaders can perform 32-bit floating-point load, store, and exchange atomic image operations. - FEATURES SHADERIMAGEFLOAT32ATOMICADD
shaderImageFloat32AtomicAddindicates whether shaders can perform 32-bit floating-point add atomic image operations. - FEATURES SPARSEIMAGEFLOAT32ATOMICS
sparseImageFloat32Atomicsindicates whether 32-bit floating-point load, store, and exchange atomic operations can be used on sparse images. - FEATURES SPARSEIMAGEFLOAT32ATOMICADD
sparseImageFloat32AtomicAddindicates 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.
If the application wishes to use a VkDevice with any features
described by VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, it must add an instance of the structure,
with the desired feature members set to VK_TRUE, to the pNext
chain of VkDeviceCreateInfo when creating the VkDevice.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceShaderAtomicFloatFeaturesEXT-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT