Compartir a través de


bfi (sm5 - asm)

Dado un intervalo de bits del LSB de un número, coloque ese número de bits en otro número en cualquier desplazamiento.

bfi dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle], src3[.swizzle]
Elemento Descripción
Dest
[in] Dirección de los resultados.
src0
[in] Ancho del campo de bits que se va a tomar de src2.
src1
[in] Desplazamiento de campo de bits para reemplazar bits en src3.
src2
[in] Número del que se toman los bits.
src3
[in] Número con bits que se van a reemplazar.

Comentarios

El LSB 5 bits de src0 proporciona el ancho del campo de bits (0-31) que se va a tomar de src2.

El LSB 5 bits de src1 proporciona el desplazamiento del campo de bits (0-31) para empezar a reemplazar bits en el número leído de src3.

Given width, offset:
                bitmask = (((1 << width)-1) << offset) & 0xffffffff
                dest = ((src2 << offset) & bitmask) | (src3 & ~bitmask)

Esta instrucción se usa para empaquetar enteros o marcas.

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)