共用方式為


InterlockedAdd 函式

以不可部分完成的方式加入值。

語法

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

參數

dest [in]

類型: UINT

目的地位址。

value [in]

類型: UINT

輸入值。

original_value [out]

類型: UINT

原始的值。

傳回值

此函式不會傳回值。

備註

此作業只能在 int 或 uint 型別資源和共用記憶體變數上執行。 此函式有三個可能的用法。 第一個是當 R 是共用記憶體變數類型時。 在此情況下,函式會對 dest 所參考的共用記憶體暫存器執行不可部分完成的值加入。 第二個案例是當 R 是資源變數類型時。 在此案例中,函式會將值的不可部分完成加入至 dest 所參考的資源位置。 最後,第三個案例是 R 是區域變數類型。 在此案例中,函式會減少為儲存在 dest 中的 dest 和 value 值的總和。 多載函式具有額外的輸出變數,其會設定為 dest 的原始值。 只有在 R 可讀取和可寫入時,才能使用此多載作業。

下列著色器類型支援此函式:

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

規格需求

另請參閱

RWByteAddressBuffer

著色器模型 5