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 à 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 des instructions.
  • Nouveau : ces instructions sont des nouveautés de cette version.

Jeu d'instructions

Nom Description Emplacements d’instruction Programme d’installation Arithmétique Texture Contrôle de flux Nouveau
abs - ps Valeur absolue 1 x
add - ps Ajouter deux vecteurs 1 x
break - ps Sortir d’une boucle... endloop ou rep... bloc endrep 1 x
break_comp - ps Sortir d’une boucle de manière conditionnelle... endloop ou rep... bloc endrep, avec une comparaison 3 x
breakp - ps sortir d’une boucle... endloop ou rep... bloc endrep, basé sur un prédicat 3 x
call - 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édicat n’est pas zéro 3 x
cmp - ps Comparer la source à 0 1 x
crs - ps Produit croisé 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
defi - ps Définir une constante entière 0 x
dp2add - ps Produit point 2D et ajouter 2 x
dp3 - ps Produit à points 3D 1 x
dp4 - ps Produit à points 4D 1 x
dsx - ps Taux de variation dans la direction x 2 x
dsy - ps Taux de variation dans la direction y 2 x
else - ps Commencer un bloc Else 1 x
endif - ps Terminer un si... else block 1 x
endloop - ps Mettre fin à une boucle 2 x x
endrep - ps Fin d’un bloc de répétition 2 x
exp - ps Précision totale 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 pred - ps Commencer un bloc if avec la prédication 3 x
label - ps Étiquette 0 x
log - ps Journal de précision complète .(x) 1 x
boucle - ps Loop 3 x x
lrp - ps Interpolate linéaire 2 x
m3x2 - ps Multiplier 3x2 2 x
m3x3 - ps Multiplier 3x3 3 x
m3x4 - ps Multiplier 3x4 4 x
m4x3 - ps Multiplier 4x3 3 x
m4x4 - ps Multiplier 4x4 4 x
mad - ps Multiplier et ajouter 1 x
max - ps Maximum 1 x
min - ps Minimum 1 x
mov - ps Déplacer 1 x
mul - ps Multiplier 1 x
nop - ps Pas d'opération 1 x
nrm - ps Normalize 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 du prédicat 1 x
sincos - ps Sinus et cosinus 8 x
sub - ps Soustraire 1 x
texkill - ps Tuer le rendu des pixels 2 x
texld - ps_2_0 et plus Échantillonner une texture Voir la note 1 x
texldb - ps Échantillonnage de textures avec un biais de niveau de détail de w-component 6 x
texldl - ps Échantillonnage de textures avec le niveau de détail de w-component Voir la remarque 2 x x
texldd - ps Échantillonnage de textures avec des dégradés fournis par l’utilisateur 3 x
texldp - ps Échantillonnage de textures avec division projective par composant w Voir la note 3 x

 

Remarques :

  1. Si la texture est une carte de cube, emplacements = 4 ; sinon, emplacements = 1.
  2. Si la texture est une carte de cube, emplacements = 5 ; sinon, emplacements = 2.
  3. Si la texture est une carte de cube, emplacements = 4 ; sinon, emplacements = 3.

Instructions du nuanceur de pixels