Partager via


Instructions - vs_2_0

Cette section contient des informations de référence pour les instructions du nuanceur de vertex version 2_0.

Il existe plusieurs types d’instructions de nuanceur de vertex, comme indiqué dans le tableau . Les colonnes à droite signifient ce qui suit :

  • Emplacements d’instruction : nombre d’emplacements d’instruction utilisés par chaque instruction.
  • Configuration : instructions non arithmétiques. Chaque nuanceur doit avoir une instruction de version et il doit s’agir de la première instruction.
  • Arithmétique : ces instructions fournissent les opérations mathématiques dans un nuanceur.
  • Contrôle de flux : ces instructions ajoutent des fonctionnalités de contrôle de flux telles que la boucle... endloop, si... sinon... endif - vs, et appels de sous-routine.
  • Nouveau : ces instructions sont nouvelles pour cette version.

Jeu d'instructions

Name Description Emplacements d’instruction Programme d’installation Arithmétique Contrôle de flux Nouveau
abs - vs Valeur absolue 1 x x
add - vs Ajouter deux vecteurs 1 x
appel - vs Appeler une sous-routine 2 x x
callnz bool - vs Appeler une sous-routine si un registre booléen n’est pas égal à zéro 3 x x
crs - vs Produit croisé 2 x x
entrée dcl_usage (sm1, sm2, sm3 - vs asm) Déclarer des registres de vertex d’entrée (voir Registres - vs_2_0) 0 x
def - vs Définir des constantes 0 x
defb - vs Définir une constante booléenne 0 x x
defi - vs Définir une constante entière 0 x x
dp3 - vs Produit à points à trois composants 1 x
dp4 - vs Produit à points à quatre composants 1 x
dst - vs Calculer le vecteur de distance 1 x
else - vs Commencer un else - vs block 1 x x
endif - vs Terminer un if bool - vs... else - vs block 1 x x
endloop - vs Fin d’une boucle - vs bloc 2 x x
endrep - vs Fin d’un bloc de répétition 2 x x
exp - vs Précision totale 2x 1 x
expp - vs Précision partielle 2x 1 x
frc - vs Composant fractionnaire 1 x
si bool - vs Commencer un si bool - vs bloc (à l’aide d’une condition booléenne) 3 x x
label - vs Étiquette 0 x x
lit - vs Calcul de l’éclairage partiel 3 x
log - vs Journal de précision complète .(x) 1 x
logp - vs Journal de précision partielle .(x) 1 x
boucle - vs Loop 3 x x
lrp - vs Interpolation linéaire 2 x x
m3x2 - vs Multiplier 3x2 2 x
m3x3 - vs Multiplier 3x3 3 x
m3x4 - vs Multiplier 3x4 4 x
m4x3 - vs Multiplier 4x3 3 x
m4x4 - vs Multiplier 4x4 4 x
mad - vs Multiplier et ajouter 1 x
max - vs Maximum 1 x
min - vs Minimum 1 x
mov - vs Déplacer 1 x
mova - vs Déplacer des données d’un registre à virgule flottante vers le registre d’adresses (a0) 1 x x
mul - vs Multiplier 1 x
nop - vs Pas d'opération 1 x
nrm - vs Normaliser un vecteur 4D 3 x x
pow - vs xy 3 x x
rcp - vs Réciproque 1 x
rep - vs Répéter 3 x x
ret - vs Fin d’une sous-routine ou d’une main 1 x x
rsq - vs Racine carrée réciproque 1 x
sge - vs Comparaison supérieure ou égale à 1 x
sgn - vs Signer 3 x x
sincos - vs Sinus et cosinus 8 x x
slt - vs Inférieur à comparer 1 x
sub - vs Soustraire 1 x
Vs Version 0 x

 

Instructions du nuanceur de vertex