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) | 否 |