gather4_po (sm5 - asm)

gather4的變體,但不支援立即位移 [-8..7],位移會作為指令的參數,而且也有較大的範圍 [-32..31]。

gather4_po dest[.mask], srcAddress[.swizzle], srcOffset[.swizzle], srcResource[.swizzle], srcSampler[.select_component]
項目 描述
dest
[in]作業結果的位址。
srcAddress
[in]一組紋理座標。
srcOffset
[in]位移。
srcResource
[in]紋理暫存器。
srcSampler
[in]取樣器暫存器。

備註

4 向量位移參數的前兩個元件提供 32 位整數位移。 此參數的其他元件會被忽略。

每個位移值的 6 個最小有效位會接受為帶正負號的值,並產生 [-32..31] 範圍。

此指令只適用于 2D 紋理,與 gather4不同,這也適用于 TextureCubes。

取樣器中唯一接受的模式是定址模式。 只會使用資源檢視中最詳細的 mip。

如果位址落在紋素中心,這並不表示其他紋素可以零掉。

srcSampler參數包含 [.select_component],允許擷取紋理的任何單一元件,包括傳回遺漏元件的預設值。

針對具有 float32 元件的格式,如果擷取的值已正規化、反正規化、+-0 或 +-INF,則會傳回未變更的著色器。 NaN 會以 NaN 傳回,但 NaN 的確切位標記法可能會變更。 對於 TextureCubes,遺漏第 4 個紋素的一些合成必須在角落髮生,因此不會套用針對合成材質傳回位的概念,而且可以排清反數。

使用此指令來擴充 收集範圍4 的位移範圍,以較大且可程式化。 名稱上的 「po」 尾碼表示「可程式化位移」。

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

頂點 船體 網域 幾何形狀 像素 計算
X X X X X X

最小著色器模型

下列著色器模型支援此指示:

著色器模型 支援
著色器模型 5
著色器模型 4.1
著色器模型 4
著色器模型 3 (DirectX HLSL)
著色器模型 2 (DirectX HLSL)
著色器模型 1 (DirectX HLSL)

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