HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_EXT_shader_atomic_float

Name

VK_EXT_shader_atomic_float - device extension

VK_EXT_shader_atomic_float

Name String

VK_EXT_shader_atomic_float

Extension Type

Device extension

Registered Extension Number

261

Revision

1

Ratification Status

Ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

or

Vulkan Version 1.1

API Interactions
  • Interacts with VkPhysicalDeviceShaderAtomicFloatFeaturesEXT::sparseImageFloat32AtomicAdd

  • Interacts with VkPhysicalDeviceShaderAtomicFloatFeaturesEXT::sparseImageFloat32Atomics

SPIR-V Dependencies
Contact

Other Extension Metadata

Last Modified Date

2020-07-15

IP Status

No known IP claims.

Interactions and External Dependencies
Contributors
  • Vikram Kushwaha, NVIDIA

  • Jeff Bolz, NVIDIA

Description

This extension allows a shader to contain floating-point atomic operations on buffer, workgroup, and image memory. It also advertises the SPIR-V AtomicFloat32AddEXT and AtomicFloat64AddEXT capabilities that allows atomic addition on floating-points numbers. The supported operations include OpAtomicFAddEXT, OpAtomicExchange, OpAtomicLoad and OpAtomicStore.

New Structures

New Enum Constants

New SPIR-V Capabilities

Version History

  • Revision 1, 2020-07-15 (Vikram Kushwaha)

    • Internal revisions

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

  • 3 types
  • Packagevulkan-3.27
  • Exports5
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_EXT_shader_atomic_float.hs

VkPhysicalDeviceShaderAtomicFloatFeaturesEXT - Structure describing features supported by VK_EXT_shader_atomic_float

Members

This structure describes the following features:

Description

If the PhysicalDeviceShaderAtomicFloatFeaturesEXT structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceShaderAtomicFloatFeaturesEXT, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Structure Chaining

Extends the structures

See Also

VK_EXT_shader_atomic_float, Bool32, StructureType

Constructors

  • PhysicalDeviceShaderAtomicFloatFeaturesEXT
    • shaderBufferFloat32Atomics :: Bool

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

    • shaderBufferFloat32AtomicAdd :: Bool

      shaderBufferFloat32AtomicAdd indicates whether shaders can perform 32-bit floating-point add atomic operations on storage buffers.

    • shaderBufferFloat64Atomics :: Bool

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

    • shaderBufferFloat64AtomicAdd :: Bool

      shaderBufferFloat64AtomicAdd indicates whether shaders can perform 64-bit floating-point add atomic operations on storage buffers.

    • shaderSharedFloat32Atomics :: Bool

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

    • shaderSharedFloat32AtomicAdd :: Bool

      shaderSharedFloat32AtomicAdd indicates whether shaders can perform 32-bit floating-point add atomic operations on shared and payload memory.

    • shaderSharedFloat64Atomics :: Bool

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

    • shaderSharedFloat64AtomicAdd :: Bool

      shaderSharedFloat64AtomicAdd indicates whether shaders can perform 64-bit floating-point add atomic operations on shared and payload memory.

    • shaderImageFloat32Atomics :: Bool

      shaderImageFloat32Atomics indicates whether shaders can perform 32-bit floating-point load, store, and exchange atomic image operations.

    • shaderImageFloat32AtomicAdd :: Bool

      shaderImageFloat32AtomicAdd indicates whether shaders can perform 32-bit floating-point add atomic image operations.

    • sparseImageFloat32Atomics :: Bool

      sparseImageFloat32Atomics indicates whether 32-bit floating-point load, store, and exchange atomic operations can be used on sparse images.

    • sparseImageFloat32AtomicAdd :: Bool

      sparseImageFloat32AtomicAdd indicates whether 32-bit floating-point add atomic operations can be used on sparse images.

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero