firstbit (sm5 - asm)

Busca el primer bit establecido en un número, ya sea desde LSB o MSB.

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
Elemento Descripción
Dest
[in] Posición entera del primer bit establecido en src0 a partir del LSB para firstbit_lo o MSB para firstbit_hi.
src0
[in] Entero de entrada.

Comentarios

Esta operación devuelve la posición entera del primer bit establecido en la entrada de 32 bits a partir del LSB para firstbit_lo o MSB para firstbit_hi. Por ejemplo, firstbit_lo en 0x00000001 devuelve 0. firstbit_hi en 0x10000000 devuelve 3.

firstbit_shi (s para signo) devuelve el primer 0 del MSB si el número es negativo; de lo contrario, devuelve el primer 1 de MSB.

Todas las variantes de la instrucción devuelven ~0 (0xffffffff en el registro de 32 bits) si no se encuentra ninguna coincidencia.

Use esta instrucción para enumerar rápidamente los bits establecidos en un campo de bits o encontrar la mayor potencia de 2 en un número.

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

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)