vulkan-3.9: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_shader_atomic_float

Description

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
Extension and Version Dependencies
  • Requires Vulkan 1.0
  • Requires VK_KHR_get_physical_device_properties2
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

PhysicalDeviceShaderAtomicFloatFeaturesEXT

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.

Synopsis

Documentation

data PhysicalDeviceShaderAtomicFloatFeaturesEXT Source #

VkPhysicalDeviceShaderAtomicFloatFeaturesEXT - Structure describing features supported by VK_EXT_shader_atomic_float

Valid Usage (Implicit)

See Also

Bool32, StructureType

Constructors

PhysicalDeviceShaderAtomicFloatFeaturesEXT 

Fields

  • 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 memory.

  • shaderSharedFloat32AtomicAdd :: Bool

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

  • shaderSharedFloat64Atomics :: Bool

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

  • shaderSharedFloat64AtomicAdd :: Bool

    shaderSharedFloat64AtomicAdd indicates whether shaders can perform 64-bit floating-point add atomic operations on shared 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.

Instances

Instances details
Eq PhysicalDeviceShaderAtomicFloatFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_shader_atomic_float

Show PhysicalDeviceShaderAtomicFloatFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_shader_atomic_float

Storable PhysicalDeviceShaderAtomicFloatFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_shader_atomic_float

FromCStruct PhysicalDeviceShaderAtomicFloatFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_shader_atomic_float

ToCStruct PhysicalDeviceShaderAtomicFloatFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_shader_atomic_float

Zero PhysicalDeviceShaderAtomicFloatFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_shader_atomic_float

type EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME = "VK_EXT_shader_atomic_float" Source #

pattern EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #