• Slang Standard Library Reference
    • Interfaces
    • Types
      • Buffer types
        • AppendStructuredBuffer
        • ByteAddressBuffer
        • ConsumeStructuredBuffer
        • RWByteAddressBuffer
          • GetDimensions
          • InterlockedAdd
          • InterlockedAdd64
          • InterlockedAddF16
          • InterlockedAddF16Emulated
          • InterlockedAddF32
          • InterlockedAddF64
          • InterlockedAddI64
          • InterlockedAddU64
          • InterlockedAnd
          • InterlockedAnd64
          • InterlockedAndU64
          • InterlockedCompareExchange
          • InterlockedCompareExchange64
          • InterlockedCompareExchangeFloatBitwise
          • InterlockedCompareExchangeU64
          • InterlockedCompareStore
          • InterlockedCompareStore64
          • InterlockedCompareStoreFloatBitwise
          • InterlockedExchange
          • InterlockedExchange64
          • InterlockedExchangeFloat
          • InterlockedExchangeU64
          • InterlockedMax
          • InterlockedMax64
          • InterlockedMaxU64
          • InterlockedMin
          • InterlockedMin64
          • InterlockedMinU64
          • InterlockedOr
          • InterlockedOr64
          • InterlockedOrU64
          • InterlockedXor
          • InterlockedXor64
          • InterlockedXorU64
          • Load
          • Load2
          • Load2Aligned
          • Load3
          • Load3Aligned
          • Load4
          • Load4Aligned
          • LoadAligned
          • Store
          • Store2
          • Store2Aligned
          • Store3
          • Store3Aligned
          • Store4
          • Store4Aligned
          • StoreAligned
          • _NvInterlockedAddFp16x2
        • RWStructuredBuffer
        • RasterizerOrderedByteAddressBuffer
        • RasterizerOrderedStructuredBuffer
        • StructuredBuffer
      • Math types
      • Miscelaneous types
      • Ray-tracing
      • Sampler types
      • Scalar types
      • Stage IO types
      • Texture types
      • Array
      • Atomic
      • AtomicAdd
      • ConstantBuffer
      • DiffTensorView
      • DifferentialPair
      • DifferentialPtrPair
      • DispatchNodeInputRecord
      • NodePayloadPtr
      • NullDifferential
      • Optional
      • ParameterBlock
      • Ptr
      • String
      • TensorView
      • TorchTensor
      • Tuple
      • _AttributeTargets
    • Attributes
    • Global Declarations

RWByteAddressBuffer.InterlockedExchange64

Description

Perform a 64-bit integer atomic exchange operation at byteAddress.

Signature

void RWByteAddressBuffer.InterlockedExchange64(
    uint byteAddress,
    int64_t value);

void RWByteAddressBuffer.InterlockedExchange64<T>(
    uint byteAddress,
    T value,
    out T outOriginalValue)
    where T : __BuiltinInt64Type;

Generic Parameters

T: __BuiltinInt64Type

Parameters

byteAddress : uint

The address at which to perform the atomic exchange operation.

value : int64_t

The operand for the exchange operation.

value : T

The operand for the exchange operation.

outOriginalValue : T

The original value at byteAddress before the exchange operation.

Availability and Requirements

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cuda

Available in all stages.

spirv

Available in all stages.

Requires capability: spvInt64Atomics.