_instructions PS 2 _ x

Cette section contient des informations de référence pour les instructions de nuanceur de pixels version 2 _ x.

Il existe plusieurs types d’instructions de nuanceur de pixels, comme indiqué dans le tableau. Les colonnes à droite indiquent les éléments suivants :

  • Emplacements d’instruction : nombre d’emplacements d’instruction utilisés par chaque instruction.
  • Programme d’installation : un nuanceur de pixels doit avoir une instruction de version et doit être la première instruction.
  • Arithmétique : ces instructions fournissent les opérations mathématiques dans un nuanceur.
  • Texture : ces instructions permettent de charger et d’échantillonner des données de texture, et de modifier des coordonnées de texture.
  • contrôle de Flow : ces instructions fournissent un contrôle de workflow statique et dynamique à l’exécution des instructions.
  • Nouveauté : ces instructions sont nouvelles dans cette version.

Jeu d'instructions

Nom Description Emplacements des instructions 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’un REP... bloc endrep 1 x x
arrêter _ COMP-PS Sortir d’un REP de manière conditionnelle... bloc endrep, avec comparaison 3 x x
breakp-PS Sortir d’un REP... bloc endrep, basé sur un prédicat 3 x x
appeler-PS Appeler une sous-routine 2 x x
callnz bool-PS Appeler une sous-routine si un registre booléen n’est pas égal à zéro 3 x x
callnz prédit-PS Appeler une sous-routine si un registre de prédicat n’est pas égal à zéro 3 x 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 pour un échantillonneur 0 x
DCL-(SM2, SM3-PS ASM) Déclarez l’association entre les registres de sortie du nuanceur de sommets et les registres d’entrée de nuanceur de pixels. 0 x
def-PS Définir des constantes 0 x
defb-PS Définir une constante booléenne 0 x x
DEFAUT-PS Définir une constante entière 0 x x
dp2add-PS produit 2D point et ajouter 2 x
DP3-PS produit point 3D 1 x
DP4-PS produit point 4D 1 x
DSX-PS Taux de modification de l’axe x 2 x x
DSY-PS Taux de variation sur la direction y 2 x x
else-PS Commencer un bloc Else 1 x x
endif-PS Terminer un if... bloc Else 1 x x
endrep-PS Fin d’un bloc REPEAT 2 x x
exp-PS Précision totale 2x 1 x
FRC-PS Composant fractionnaire 1 x
Si bool-PS Commencer un bloc If 3 x x
Si _ COMP-PS Commencer un bloc If par une comparaison 3 x x
Si prédit-PS Commencer un bloc If avec un prédicat 3 x x
étiquette-PS Étiquette 0 x x
Journal-PS ₂ du journal de précision complète (x) 1 x
LRP-PS Interpolation linéaire 2 x
M3X2-PS matrice multiplier 2 x
M3x3-PS 3 x 3 3 x
M3x4-PS 3x4 multiplier 4 x
m4x3-PS 4x3 multiplier 3 x
M4X4-PS 4 x 4 4 x
Mad-PS Multiplier et ajouter 1 x
Max-PS Maximale 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 Mutuel 1 x
REP-PS Répéter 3 x x
RET-PS Fin d’une sous-routine 1 x x
rsq-PS Racine carrée réciproque 1 x
_COMP setp Définir le registre de prédicat 1 x x
SinCos,-PS Sinus et cosinus 8 x
sous-PS Soustraire 1 x
texkill-PS Arrêter le rendu de pixel Voir la remarque 1 x
texld-PS _ 2 _ 0 et haut Échantillonner une texture Voir la remarque 2 x
texldb-PS Échantillonnage de texture avec décalage de niveau de détail par rapport à w-Component Voir la remarque 3 x
texldd-PS Échantillonnage de texture avec des dégradés fournis par l’utilisateur 3 x x
texldp-PS Échantillonnage de texture avec division projectaire par w-Component Voir la remarque 4 x

Remarques :

  1. Si D3DD3DPSHADERCAPS2 _ 0 _ NOTEXINSTRUCTIONLIMIT est défini, emplacements = 2 ; sinon, emplacements = 1.
  2. Si D3DD3DPSHADERCAPS2 _ 0 _ NOTEXINSTRUCTIONLIMIT est défini et que la texture est un mappage de cube, emplacements = 4 ; sinon slot = 1.
  3. Si D3DD3DPSHADERCAPS2 _ 0 _ NOTEXINSTRUCTIONLIMIT est défini, slots = 6 ; sinon, emplacements = 1.
  4. Si D3DD3DPSHADERCAPS2 _ 0 _ NOTEXINSTRUCTIONLIMIT n’est pas défini, slots = 1 ; sinon :

Instructions sur le nuanceur de pixels