firstbit (sm5 – asm)
Localiza o primeiro bit definido em um número, seja de LSB ou MSB.
firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle] |
---|
Item | Descrição |
---|---|
Dest |
[in] A posição inteira do primeiro bit definido em src0 a partir do LSB para firstbit_lo ou MSB para firstbit_hi. |
src0 |
[in] O inteiro de entrada. |
Comentários
Essa operação retorna a posição inteira do primeiro conjunto de bits na entrada de 32 bits começando do LSB para firstbit_lo ou MSB para firstbit_hi. Por exemplo, firstbit_lo em 0x00000001 retorna 0. firstbit_hi em 0x10000000 retorna 3.
firstbit_shi (s para assinado) retornará os primeiros 0 do MSB se o número for negativo; caso contrário, retornará o primeiro 1 do MSB.
Todas as variantes da instrução retornarão ~0 (0xffffffff no registro de 32 bits) se nenhuma correspondência for encontrada.
Use esta instrução para enumerar rapidamente bits de conjunto em um campo de bits ou encontrar a maior potência de 2 em um número.
Esta instrução se aplica aos seguintes estágios de sombreador:
Vértice | Casco | Domínio | Geometry | Pixel | Computação |
---|---|---|---|---|---|
X | X | X | X | X | X |
Modelo de sombreador mimimum
Esta instrução tem suporte nos seguintes modelos de sombreador:
Modelo de Sombreador | Com suporte |
---|---|
Modelo de sombreador 5 | sim |
Modelo de sombreador 4.1 | não |
Modelo de sombreador 4 | não |
Modelo de sombreador 3 (DirectX HLSL) | não |
Modelo de sombreador 2 (DirectX HLSL) | não |
Modelo de sombreador 1 (DirectX HLSL) | não |