ibfe (sm5 - asm)

假設數位中的位範圍,請將這些位移至 LSB,並簽署延伸範圍的 MSB。

ibfe dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle]
項目 描述
dest
[in]作業結果的位址。
src0
[in]位欄位寬度。
src1
[in]位欄位位移。
src2
[in]要移位的值。

備註

Src0 的 LSB 5 位提供位欄位寬度, (0-31) 。

src1 的 LSB 5 位提供位欄位位移 (0-31) 。

下列範例示範如何使用這個指示。

        Given width, offset:
                if( width == 0 )
                {
                    dest = 0
                }
                else if( width + offset < 32 )
                {
                    shl dest, src2, 32-(width+offset)
                    ishr dest, dest, 32-width
                }
                else
                {
                    ishr dest, src2, offset
                }

使用此指示來解除封裝帶正負號的整數或旗標。

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

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

最小著色器模型

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

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

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