次の方法で共有


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

 

関連項目

組み込み関数

シェーダー モデル 5