C Specification

The VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT structure is defined as:

// Provided by VK_EXT_shader_atomic_float2
typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
    VkStructureType    sType;
    void*              pNext;
    VkBool32           shaderBufferFloat16Atomics;
    VkBool32           shaderBufferFloat16AtomicAdd;
    VkBool32           shaderBufferFloat16AtomicMinMax;
    VkBool32           shaderBufferFloat32AtomicMinMax;
    VkBool32           shaderBufferFloat64AtomicMinMax;
    VkBool32           shaderSharedFloat16Atomics;
    VkBool32           shaderSharedFloat16AtomicAdd;
    VkBool32           shaderSharedFloat16AtomicMinMax;
    VkBool32           shaderSharedFloat32AtomicMinMax;
    VkBool32           shaderSharedFloat64AtomicMinMax;
    VkBool32           shaderImageFloat32AtomicMinMax;
    VkBool32           sparseImageFloat32AtomicMinMax;
} VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;

Members

This structure describes the following features:

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

Description

  • shaderBufferFloat16Atomics indicates whether shaders can perform 16-bit floating-point load, store, and exchange atomic operations on storage buffers.

  • shaderBufferFloat16AtomicAdd indicates whether shaders can perform 16-bit floating-point add atomic operations on storage buffers.

  • shaderBufferFloat16AtomicMinMax indicates whether shaders can perform 16-bit floating-point min and max atomic operations on storage buffers.

  • shaderBufferFloat32AtomicMinMax indicates whether shaders can perform 32-bit floating-point min and max atomic operations on storage buffers.

  • shaderBufferFloat64AtomicMinMax indicates whether shaders can perform 64-bit floating-point min and max atomic operations on storage buffers.

  • shaderSharedFloat16Atomics indicates whether shaders can perform 16-bit floating-point load, store and exchange atomic operations on shared and payload memory.

  • shaderSharedFloat16AtomicAdd indicates whether shaders can perform 16-bit floating-point add atomic operations on shared and payload memory.

  • shaderSharedFloat16AtomicMinMax indicates whether shaders can perform 16-bit floating-point min and max atomic operations on shared and payload memory.

  • shaderSharedFloat32AtomicMinMax indicates whether shaders can perform 32-bit floating-point min and max atomic operations on shared and payload memory.

  • shaderSharedFloat64AtomicMinMax indicates whether shaders can perform 64-bit floating-point min and max atomic operations on shared and payload memory.

  • shaderImageFloat32AtomicMinMax indicates whether shaders can perform 32-bit floating-point min and max atomic image operations.

  • sparseImageFloat32AtomicMinMax indicates whether 32-bit floating-point min and max atomic operations can be used on sparse images.

If the VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT 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. VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT can also be used in the pNext chain of VkDeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)
  • VUID-VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT

See Also

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.

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0