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

Ensamblado del modelo de sombreador 5 (DirectX HLSL)