ibfe (sm5 - asm)
Dado un intervalo de bits en un número, cambie esos bits al LSB y extienda el MSB del intervalo.
ibfe dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle] |
---|
Elemento | Descripción |
---|---|
Dest |
[in] Dirección de los resultados de la operación. |
src0 |
[in] Ancho del campo de bits. |
src1 |
[in] Desplazamiento del campo de bits. |
src2 |
[in] Valor que se va a desplazar. |
Comentarios
El LSB 5 bits de src0 proporciona el ancho del campo de bits (0-31).
El LSB 5 bits de src1 proporciona el desplazamiento del campo de bits (0-31).
En el ejemplo siguiente se muestra cómo usar esta instrucción.
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
}
Use esta instrucción para desempaquetar enteros o marcas con signo.
Esta instrucción se aplica a las siguientes fases del sombreador:
Vértice | Casco | Domain | Geometría | Píxel | Proceso |
---|---|---|---|---|---|
x | x | x | x | x | x |
Modelo de sombreador mínimo
Esta instrucción se admite en los siguientes modelos de sombreador:
Modelo de sombreador | Compatible |
---|---|
Modelo de sombreador 5 | sí |
Modelo de sombreador 4.1 | no |
Modelo de sombreador 4 | no |
Modelo de sombreador 3 (DirectX HLSL) | no |
Modelo de sombreador 2 (DirectX HLSL) | no |
Modelo de sombreador 1 (DirectX HLSL) | no |