InterlockedXor
アトミックに値の XOR 演算を実行します。
void
InterlockedXor(
UINT dest,
UINT value,
UINT original_value
);
パラメータ
- dest
目的とする場所のアドレス。 - value
入力値。 - original_value
元の値。
戻り値
なし
解説
この操作は、int 型または uint 型のリソースおよび共有メモリー変数についてのみ実行できます。この関数には 3 種類の用途があります。1 番目は、R が共有メモリー変数型である場合です。この場合、この関数は、dest で参照されている共有メモリーのレジスタに対して value のアトミックな XOR 演算を実行します。2 番目のシナリオは、R がリソース変数型である場合です。このシナリオでは、この関数が、dest で参照されているリソースの場所に対して value のアトミックな XOR 演算を実行します。3 番目のシナリオは、R がローカル変数型である場合です。このシナリオでは、変数 dest と value を XOR 演算して dest に格納するという単純な処理となります。オーバーロードされた関数には、dest の元の値に設定される出力変数が別に存在します。このオーバーロードされる操作は、R が読み書きできる場合にのみ可能です。
この関数は、次の種類のシェーダーでサポートされています。
VS | HS | DS | GS | PS | CS |
---|---|---|---|---|---|
x | x |