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

Assembly modèle 5 du nuanceur (DirectX HLSL)