ubfe (sm5 - asm)
Étant donné une plage de bits dans un nombre, déplacez ces bits sur le LSB et définissez les bits restants sur 0.
ubfe dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle] |
---|
Élément | Description |
---|---|
Dest |
[in] Contient les résultats de l’instruction. |
src0 |
[in] Le LSB 5 bits fournit la largeur du champ de bits (0-31). |
src1 |
[in] Les 5 bits LSB de src1 fournissent le décalage de champ de bits (0-31). |
src2 |
[in] Nombre à déplacer. |
Notes
Given width, offset:
if( width == 0 )
{
dest = 0
}
else if( width + offset < 32 )
{
shl dest, src2, 32-(width+offset)
ushr dest, dest, 32-width
}
else
{
ushr dest, src2, offset
}
Utilisez cette instruction pour décompresser des entiers ou des indicateurs non signés.
Cette instruction s’applique aux étapes de nuanceur suivantes :
Sommet | Coque | Domain | Géométrie | Pixel | Calcul |
---|---|---|---|---|---|
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 | Prise en charge |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | non |
Modèle de nuanceur 4 | non |
Nuanceur modèle 3 (DirectX HLSL) | non |
Nuanceur modèle 2 (DirectX HLSL) | non |
Nuanceur Modèle 1 (DirectX HLSL) | non |