instructions ps_3_0
Cette section contient des informations de référence pour les instructions du nuanceur de pixels version 3_0.
Il existe plusieurs types d’instructions de nuanceur de pixels, comme indiqué dans le tableau. Les colonnes vers la droite signifient ce qui suit :
- Emplacements d’instruction : nombre d’emplacements d’instruction utilisés par chaque instruction.
- Configuration : un nuanceur de pixels 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.
- Texture : ces instructions sont utilisées pour charger et échantillonner des données de texture et pour modifier les coordonnées de texture.
- Contrôle de flux : ces instructions fournissent un contrôle de flux statique et dynamique à l’exécution d’instructions.
- Nouveautés : ces instructions sont nouvelles pour cette version.
Jeu d’instructions
Nom | Description | Emplacements d’instructions | Coup monté | Arithmétique | Texture | Contrôle de flux | Nouveau |
---|---|---|---|---|---|---|---|
abs - ps | Valeur absolue | 1 | x | ||||
ajouter - ps | Ajouter deux vecteurs | 1 | x | ||||
break - ps | Sortir d’une boucle... endloop ou rep... bloc endrep | 1 | x | ||||
break_comp - ps | Éclater de manière conditionnelle d’une boucle... endloop ou rep... bloc endrep, avec une comparaison | 3 | x | ||||
breakp - ps | éclater d’une boucle... endloop ou rep... bloc endrep, basé sur un prédicat | 3 | x | ||||
appel - ps | Appeler une sous-routine | 2 | x | ||||
callnz bool - ps | Appeler une sous-routine si un registre booléen n’est pas égal à zéro | 3 | x | ||||
callnz pred - ps | Appeler une sous-routine si un registre de prédicats n’est pas égal à zéro | 3 | x | ||||
cmp - ps | Comparer la source à 0 | 1 | x | ||||
crs - ps | Produit vectoriel | 2 | x | ||||
dcl_samplerType (sm2, sm3 - ps asm) | Déclarer la dimension de texture d’un échantillonneur | 0 | x | ||||
dcl_semantics (sm3 - ps asm) | Déclarer des registres d’entrée et de sortie | 0 | x | x | |||
def - ps | Définir des constantes | 0 | x | ||||
defb - ps | Définir une constante booléenne | 0 | x | ||||
défi - ps | Définir une constante entière | 0 | x | ||||
dp2add - ps | Produit point 2D et ajout | 2 | x | ||||
dp3 - ps | Produit point 3D | 1 | x | ||||
dp4 - ps | Produit point 4D | 1 | x | ||||
dsx - ps | Taux de modification dans la direction x | 2 | x | ||||
dsy - ps | Taux de variation dans la direction y | 2 | x | ||||
else - ps | Commencer un bloc d’autres | 1 | x | ||||
endif - ps | Fin d’une si... autre bloc | 1 | x | ||||
endloop - ps | Terminer une boucle | 2 | x | x | |||
endrep - ps | Fin d’un bloc de répétition | 2 | x | ||||
exp - ps | Précision complète 2x | 1 | x | ||||
frc - ps | Composant fractionnaire | 1 | x | ||||
si bool - ps | Commencer un bloc if | 3 | x | ||||
if_comp - ps | Commencer un bloc if avec une comparaison | 3 | x | ||||
si la préversion - ps | Commencer un bloc if avec prédication | 3 | x | ||||
étiquette - ps | Étiquette | 0 | x | ||||
journal - ps | Journal de précision complète(x) | 1 | x | ||||
boucle - ps | Boucle | 3 | x | x | |||
lrp - ps | Interpolation linéaire | 2 | x | ||||
m3x2 - ps | Multiplication 3x2 | 2 | x | ||||
m3x3 - ps | Multiplication 3x3 | 3 | x | ||||
m3x4 - ps | Multiplication 3x4 | 4 | x | ||||
m4x3 - ps | Multiplication 4x3 | 3 | x | ||||
m4x4 - ps | Multiplication 4x4 | 4 | x | ||||
fou - ps | Multiplier et ajouter | 1 | x | ||||
max - ps | Maximum | 1 | x | ||||
min - ps | Minimum | 1 | x | ||||
mov - ps | Bouger | 1 | x | ||||
mule - ps | Multiplier | 1 | x | ||||
nop - ps | Aucune opération | 1 | x | ||||
nrm - ps | Normaliser | 3 | x | ||||
pow - ps | xy | 3 | x | ||||
ps | Version | 0 | x | ||||
rcp - ps | Réciproque | 1 | x | ||||
rep - ps | Répéter | 3 | x | ||||
ret - ps | Fin d’une sous-routine | 1 | x | ||||
rsq - ps | Racine carrée réciproque | 1 | x | ||||
setp_comp | Définir le registre de prédicats | 1 | x | ||||
sincos - ps | Sinus et cosinus | 8 | x | ||||
sub - ps | Soustraire | 1 | x | ||||
texkill - ps | Supprimer le rendu des pixels | 2 | x | ||||
texld - ps_2_0 et up | Exemple de texture | Voir la note 1 | x | ||||
texldb - ps | Échantillonnage de texture avec un biais de niveau de détail de w-component | 6 | x | ||||
texldl - ps | Échantillonnage de texture avec niveau de détail de w-component | Voir la note 2 | x | x | |||
texldd - ps | Échantillonnage de texture avec dégradés fournis par l’utilisateur | 3 | x | ||||
texldp - ps | Échantillonnage de texture avec division projective par composant w | Voir la note 3 | x |
Notes:
- Si la texture est une carte de cube, emplacements = 4 ; sinon, emplacements = 1.
- Si la texture est une carte de cube, emplacements = 5 ; sinon, emplacements = 2.
- Si la texture est une carte de cube, emplacements = 4 ; sinon, emplacements = 3.
Rubriques connexes