共用方式為


atomic_imax (sm5 - asm)

記憶體的不可部分完成帶正負號的整數上限。

atomic_imax dest, dstAddress[.swizzle], src0[.select_component]
項目 描述
dest
[in]要與 src0 比較的元件。 此值必須是未排序的存取檢視, (UAV) (u#) 。 在計算著色器中,它也可以是執行緒群組共用記憶體 (g#) 。
dstAddress
[in]記憶體位址。
src0
[in]要與 dest比較的元件。

備註

此作業會針對每個元件位址dstAddress執行單一元件 32 位帶正負號的最大運算元src0,以不可部分完成的方式執行。

取自位址的元件數目取決於 dest u# 或 g# 的維度。

如果 dest 是 u#,它可以宣告為未經處理、具型別或結構化。 如果輸入,則必須將它宣告為 UINT/SINT,且系結的資源格式為 R32_UINT/_SINT。

如果 dest 是 g#,則必須將其宣告為原始或結構化。

著色器不會傳回任何專案。

如果著色器調用處于非作用中狀態,例如,如果圖元在執行中稍早遭到捨棄,或圖元/樣本調用只存在做為衍生專案實際圖元/樣本的協助程式,則此指令不會完全改變 (無訊息) 的 記憶體

u# 上的超出範圍定址會導致不寫入記憶體,除非 u# 是結構化的,而且位元組位移 (到位址) 的第二個元件結構) 造成超出界限存取,否則 UAV 的整個內容會變成未定義。

g# 上的界限外 (該特定 g# 的界限,而不是所有共用記憶體) 會導致所有共用記憶體的整個內容變成未定義。

本指示適用于下列著色器階段:

頂點 船體 網域 幾何形狀 像素 計算
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)

著色器模型 5 元件 (DirectX HLSL)