firstbit (sm5 - asm)
Recherche le premier jeu de bits dans un nombre, à partir de LSB ou MSB.
firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle] |
---|
Élément | Description |
---|---|
Dest |
[in] Position entière du premier bit défini dans src0 à partir du LSB pour firstbit_lo ou MSB pour firstbit_hi. |
src0 |
[in] Entier d’entrée. |
Notes
Cette opération retourne la position entière du premier jeu de bits dans l’entrée 32 bits à partir du LSB pour firstbit_lo ou MSB pour firstbit_hi. Par exemple, firstbit_lo sur 0x00000001 retourne 0. firstbit_hi sur 0x10000000 retourne 3.
firstbit_shi (s pour signé) retourne le premier 0 à partir du MSB si le nombre est négatif ; sinon, il retourne le premier 1 à partir du MSB.
Toutes les variantes de l’instruction retournent ~0 (0xffffffff dans le registre 32 bits) si aucune correspondance n’est trouvée.
Utilisez cette instruction pour énumérer rapidement les bits définis dans un champ de bits, ou pour trouver la plus grande puissance de 2 dans un nombre.
Cette instruction s’applique aux étapes suivantes du nuanceur :
Sommet | Coque | Domain | Géométrie | Pixel | Compute |
---|---|---|---|---|---|
X | X | X | X | X | X |
Modèle de nuanceur Mimimum
Cette instruction est prise en charge dans les modèles de nuanceur suivants :
Modèle de nuanceur | Prise en charge |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | non |
Modèle de nuanceur 4 | non |
Modèle de nuanceur 3 (DirectX HLSL) | non |
Shader Model 2 (DirectX HLSL) | non |
Modèle de nuanceur 1 (DirectX HLSL) | non |