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 :
- 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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour