InterlockedCompareStore 関数 (HLSL リファレンス)
ターゲットと比較値をアトミックに比較します。 それらが同一の場合、宛先は入力値で上書きされます。
構文
void InterlockedCompareStore(
in R dest,
in T compare_value,
in T value
);
パラメーター
-
dest [in]
-
種類: R
宛先アドレス。
-
compare_value [入力]
-
種類: T
比較値。
-
value [in]
-
種類: T
入力値。
戻り値
この関数は値を返しません。
注釈
dest によって参照される値をcompare_valueとアトミックに比較し、値が一致する場合は dest によって参照される場所に値を格納します。 この操作は、 int 型または uint 型のリソースと共有メモリ変数でのみ実行できます。 この関数には、2 つの使用が考えられます。 1 つ目は、R が共有メモリ変数型の場合です。 この場合、関数は dest によって参照される共有メモリ レジスタに対して操作を実行します。 2 つ目のシナリオは、R がリソース変数の種類である場合です。 このシナリオでは、関数は dest によって参照されるリソースの場所に対して操作を実行します。
インターロックされた操作は、メモリ フェンス/バリアを意味しません。
最小シェーダー モデル
この関数は、次のシェーダー モデルでサポートされています。
シェーダー モデル | サポートされています |
---|---|
シェーダー モデル 5 以降のシェーダー モデル | はい |
この関数は、次の種類のシェーダーでサポートされています。
Vertex | Hull | Domain | ジオメトリ | ピクセル | Compute |
---|---|---|---|---|---|
x | x | x | x | x | x |
関連項目