Partager via


movc (sm4 - asm)

Déplacement conditionnel au niveau des composants.

movc[_sat] dest[.mask], src0[.swizzle], [-]src1[_abs][.swizzle], [-]src2[_abs][.swizzle],
Élément Description
Dest
[in] Adresse du résultat de l’opération.
Si src0, alors dest = src1 else dest = src2
src0
[in] Composants sur lesquels tester la condition.
src1
[in] Composants à déplacer.
src2
[in] Composants à déplacer.

Notes

L’exemple suivant montre comment utiliser cette instruction.

                for each component in dest[.mask]
                    if the corresponding component in src0 (POS-swizzle)
                       has any bit set
                    {
                        copy this component (POS-swizzle) from src1 into dest
                    }
                    else
                    {
                        copy this component (POS-swizzle) from src2 into dest
                    }
                endfor

Les modificateurs sur src1 et src2, autres que swizzle, supposent que les données sont à virgule flottante. L’absence de modificateurs déplace simplement les données sans modifier les bits.

Cette instruction s’applique aux étapes suivantes du nuanceur :

Nuanceur de sommets Nuanceur de géométrie Nuanceur de pixels
x x x

Modèle de nuanceur minimal

Cette fonction 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 Oui
Modèle de nuanceur 4 Oui
Modèle de nuanceur 3 (DirectX HLSL) non
Shader Model 2 (DirectX HLSL) non
Modèle de nuanceur 1 (DirectX HLSL) non

Shader Model 4 Assembly (DirectX HLSL)