Modificateurs du registre source du nuanceur de pixels
Utilisez des modificateurs de registre source pour modifier la valeur lue à partir d’un registre avant l’exécution d’une instruction. Le contenu d’un registre source reste inchangé. Les modificateurs sont utiles pour ajuster la plage de données d’inscription en préparation de l’instruction. Un ensemble de modificateurs appelés sélecteurs copie ou réplique les données à partir d’un seul canal (r,g,b,a) dans les autres canaux.
ps_1_1 - ps_1_4
Ce tableau identifie les versions qui prennent en charge chaque modificateur :
Modificateurs du registre source | Syntaxe | Version 1_1 | Version 1_2 | Version 1_3 | Version 1_4 |
---|---|---|---|---|---|
Biais | register_bias | X | X | X | X |
Inverser | 1 - Inscrire | X | X | X | X |
negate | - inscrire | X | X | X | X |
mettre à l’échelle de 2 | register_x2 | X | |||
mise à l’échelle signée | register_bx2 | X | X | X | X |
Modificateurs texld et texcrd | register_d* | X | X | X | X |
registre source swizzling | register.xyzw | X | X | X | X |
Les modificateurs du registre source ne peuvent être utilisés que sur des instructions arithmétiques. Ils ne peuvent pas être utilisés dans les instructions d’adresse de texture. L’exception à ceci est la mise à l’échelle de 2 modificateurs. Pour la version 1_1, l’échelle signée peut être utilisée sur l’argument source de n’importe quelle instruction texm*. Pour la version 1_2 ou 1_3, l’échelle signée peut être utilisée sur l’argument source de n’importe quelle instruction d’adresse de texture.
Certaines restrictions spécifiques au modificateur :
- La negate peut être combinée avec le biais, la mise à l’échelle signée ou le modificateur scalex2. Lorsqu’elle est combinée, la négation est exécutée en dernier.
- L’inverse ne peut pas être combiné avec tout autre modificateur.
- L’inverse, la négation, le biais, la mise à l’échelle signée et scalex2 peuvent être combinés avec l’un des sélecteurs.
- Les modificateurs de registre source ne doivent pas être utilisés sur les registres constants, car ils entraînent des résultats non définis. Pour la version 1_4, les modificateurs sur les constantes ne sont pas autorisés et échouent à la validation.
ps_2_0 et versions ultérieures
Pour la version ps_2_0 et vers le haut, le nombre de modificateurs a été simplifié.
Negate
Annulez le contenu du registre source.
Modificateur de composant | Description |
---|---|
- r | Négation de la source |
Le modificateur de négation ne peut pas être utilisé sur le deuxième registre source de ces instructions : m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps et m4x4 - ps.
Versions du nuanceur de pixels | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
- | x | x | x | x | x |
Valeur absolue
Prenez la valeur absolue du registre.
Versions du nuanceur de pixels | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
abs | x | x |
Si un nuanceur de version 3 lit à partir d’un ou plusieurs registres flottants constants (c#), l’un des éléments suivants doit être vrai.
- Tous les registres à virgule flottante constante doivent utiliser le modificateur abs.
- Aucun des registres à virgule flottante constante ne peut utiliser le modificateur abs.
Rubriques connexes