vulkan-3.14.2: 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

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

Valid Usage (Implicit)

See Also

VK_EXT_shader_atomic_float, 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 #