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