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