bfi (sm5 - asm)
Étant donné une plage de bits à partir de la LSB d’un nombre, placez ce nombre de bits dans un autre nombre à n’importe quel décalage.
bfi dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle], src3[.swizzle] |
---|
Élément | Description |
---|---|
Dest |
[in] Adresse des résultats. |
src0 |
[in] Largeur du champ de bits à prendre à partir de src2. |
src1 |
[in] Décalage du champ de bits pour le remplacement des bits dans src3. |
src2 |
[in] Nombre de bits extraits. |
src3 |
[in] Nombre par bits à remplacer. |
Notes
Les 5 bits LSB de src0 fournissent la largeur du champ de bits (0-31) à prendre à partir de src2.
Les 5 bits LSB de src1 fournissent le décalage du champ de bits (0-31) pour commencer à remplacer les bits dans le nombre lu à partir de src3.
Given width, offset:
bitmask = (((1 << width)-1) << offset) & 0xffffffff
dest = ((src2 << offset) & bitmask) | (src3 & ~bitmask)
Cette instruction est utilisée pour l’empaquetage d’entiers ou d’indicateurs.
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 minimal
Cette instruction est prise en charge dans les modèles de nuanceur suivants :
Modèle de nuanceur | Pris 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 |
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour