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 |