imm_atomic_consume (sm5 - asm)
以不可部分完成方式遞減以 Count 或 Append 未排序存取檢視儲存的隱藏 32 位計數器, (UAV) ,並傳回新的值。
imm_atomic_consume dest[.single_component_mask], dstUAV |
---|
項目 | 描述 |
---|---|
dest |
[in]包含傳回的原始計數器值。 |
dstUAV |
[in]具有 Count 或 Append 旗標的結構化緩衝區 UAV。 |
備註
如需傳回計數值有效性的討論 ,請參閱imm_atomic_alloc ,視 UAV 為 Count 或 Append 而定。 這也適用于 imm_atomic_consume。
imm_atomic_consume 會執行計數器值的不可部分完成遞減,並將新值傳回 dest。
計數沒有限制,因此它會包裝在下溢。
相同的著色器無法在相同的 UAV 上嘗試 imm_atomic_alloc 和 imm_atomic_consume 。 此外,GPU 不允許多個著色器調用在相同的 UAV 上混合 imm_atomic_alloc 和 imm_atomic_consume 。
本指示適用于下列著色器階段:
頂點 | 船體 | 網域 | 幾何形狀 | 像素 | 計算 |
---|---|---|---|---|---|
X | X |
由於 Direct3D 11.1 的所有著色器階段都提供 UAV,因此本指示適用于 Direct3D 11.1 執行時間的所有著色器階段,從 Windows 8 開始提供。
頂點 | 船體 | 網域 | 幾何形狀 | 像素 | 計算 |
---|---|---|---|---|---|
X | X | X | X | X | X |
最小著色器模型
下列著色器模型支援此指示:
著色器模型 | 支援 |
---|---|
著色器模型 5 | 是 |
著色器模型 4.1 | 否 |
著色器模型 4 | 否 |
著色器模型 3 (DirectX HLSL) | 否 |
著色器模型 2 (DirectX HLSL) | 否 |
著色器模型 1 (DirectX HLSL) | 否 |