RWByteAddressBuffer.InterlockedAddI64

Description

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

Signature

void RWByteAddressBuffer.InterlockedAddI64(
    uint byteAddress,
    int64_t valueToAdd,
    out int64_t originalValue);

void RWByteAddressBuffer.InterlockedAddI64(
    uint byteAddress,
    int64_t valueToAdd);

Parameters

byteAddress : uint

The address at which to perform the atomic add operation.

valueToAdd : int64_t

The value to add to the value at byteAddress.

originalValue : int64_t

The original value at byteAddress before the add operation.

Remarks

For SPIR-V, this function maps to OpAtomicAdd. For HLSL, this function translates to InterlockedAdd64 and requires shader model 6.6. For CUDA, this function maps to atomicAdd.

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.