ubfe (SM5-ASM)
À partir d’une plage de bits dans un nombre, décalez ces bits vers le LSB et définissez les bits restants sur 0.
| ubfe dest [ . Mask ] , src0 [ . Swizzle ] , src1 [ . Swizzle ] , src2 [ . Swizzle] |
|---|
| Élément | Description |
|---|---|
| dest |
[dans ] contient les résultats de l’instruction. |
| src0 |
[dans, ] LSB 5 bits fournissent la largeur de champ de bits (0-31). |
| src1 |
[dans, ] LSB 5 bits de src1 fournissent l’offset de champ de bits (0-31). |
| src2 |
[dans ] le nombre à décaler. |
Remarques
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 suivantes du nuanceur :
| Sommet | Forme | Domaine | 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 | Pris en charge |
|---|---|
| Shader, modèle 5 | oui |
| Modèle de nuanceur 4,1 | non |
| Nuanceur modèle 4 | non |
| Shader Model 3 (DirectX HLSL) | non |
| Shader Model 2 (DirectX HLSL) | non |
| Shader Model 1 (DirectX HLSL) | non |