InterlockedAdd 函式 (HLSL 參考)
對 dest 資源變數執行保證不可部分完成的值加法。
語法
void InterlockedAdd(
in R dest,
in T value,
out T original_value
);
參數
-
dest [in]
-
類型: R
目的地位址。
-
value [in]
-
類型: T
輸入值。
-
original_value [out]
-
類型: T
選擇性。 原始輸入值。
傳回值
此函式不會傳回值。
備註
這項作業只能在 int 或 uint 型別資源和共用記憶體變數上執行。 此函式有兩個可能的用法。 第一個是當 R 是共用記憶體變數類型時。 在此情況下,函式會對 dest 所參考的共用記憶體暫存器執行不可部分完成的值加法。 第二個案例是 R 是資源變數類型。 在此案例中,函式會對 dest 所參考的資源位置執行不可部分完成的值加法。 多載函式具有額外的輸出變數,其會設定為 dest 的原始值。 只有在 R 可讀取且可寫入時,才能使用此多載作業。
內嵌的作業並不表示任何記憶體柵欄/屏障。
最小著色器模型
下列著色器模型支援此函式。
著色器模型 | 支援 |
---|---|
著色器模型 5 和更高的著色器模型 | 是 |
下列著色器類型支援此函式:
頂點 | 船體 | 網域 | 幾何形狀 | 像素 | 計算 |
---|---|---|---|---|---|
x | x | x | x | x | x |
另請參閱