InterlockedXor 函数

对值执行原子 XOR

语法

void InterlockedXor(
  in  UINT dest,
  in  UINT value,
  out UINT original_value
);

参数

dest [in]

类型: UINT

目标地址。

[in]

类型: UINT

输入值。

original_value [out]

类型: UINT

原始值。

返回值

此函数不返回值。

注解

此操作只能在 INTUINT 类型化资源和共享内存变量上执行。 此函数有三种可能用途。 第一种是 R 是共享内存变量类型。 在这种情况下,该函数执行原子 XOR ,其中包含 dest 引用的共享内存寄存器的值。 第二种情况是 R 是资源变量类型。 在此方案中,该函数使用 dest 引用的资源位置的值执行原子 XOR。 最后,第三种情况是 R 是局部变量类型。 在此方案中,该函数会减少到 destvalue 值的 XOR。 操作的结果将替换 dest 中的值。 重载函数具有一个附加的输出变量,该变量将设置为 dest 的原始值。 仅当 R 可读且可写时,此重载操作才可用。

以下类型的着色器支持此函数:

VS HS DS GS PS CS
x x x x x x

 

另请参阅

RWByteAddressBuffer

着色器模型 5