RWByteAddressBuffer.InterlockedCompareExchange
Description
Perform a 32-bit integer atomic compare-and-exchange operation at the specified byte address within the RWByteAddressBuffer.
Signature
void RWByteAddressBuffer.InterlockedCompareExchange( uint dest, uint compare_value, uint value, out uint original_value);
Parameters
dest : uint
The address at which to perform the atomic compare-and-exchange operation.
compare_value : uint
The value to perform bitwise comparison to the value at byteAddress.
value : uint
The value to store at byteAddress if the comparison is successful.
original_value : uint
The original value at byteAddress before the compare-and-exchange operation.
Remarks
For SPIR-V, this function maps to OpAtomicCompareExchange. For HLSL, this function translates to InterlockedCompareExchange. For CUDA, this function maps to atomicCAS.
Availability and Requirements
Defined for the following targets:
hlsl
Available in all stages.
glsl
Available in all stages.
cuda
Available in all stages.
metal
Available in all stages.
spirv
Available in all stages.