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