bfi (sm5 - asm)
給定數位 LSB 的位範圍,請將該位數放在任何位移的另一個數位中。
bfi dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle], src3[.swizzle] |
---|
項目 | 描述 |
---|---|
dest |
[in]結果的位址。 |
src0 |
[in]要從 src2取得的位欄位寬度。 |
src1 |
[in]取代 src3中位移的位移。 |
src2 |
[in]位取自的數位。 |
src3 |
[in]要取代位的數位。 |
備註
src0的 LSB 5 位提供位欄位寬度 (0-31) ,以從src2取得。
src1的 LSB 5 位提供位移 (0-31) ,以開始取代從 src3讀取的數位中的位。
Given width, offset:
bitmask = (((1 << width)-1) << offset) & 0xffffffff
dest = ((src2 << offset) & bitmask) | (src3 & ~bitmask)
此指令用於封裝整數或旗標。
本指示適用于下列著色器階段:
頂點 | 船體 | 網域 | 幾何形狀 | 像素 | 計算 |
---|---|---|---|---|---|
X | X | X | X | X | X |
最小著色器模型
下列著色器模型中支援此指示:
著色器模型 | 支援 |
---|---|
著色器模型 5 | 是 |
著色器模型 4.1 | 否 |
著色器模型 4 | 否 |
著色器模型 3 (DirectX HLSL) | 否 |
著色器模型 2 (DirectX HLSL) | 否 |
著色器模型 1 (DirectX HLSL) | 否 |