instructions de ps_2_x
Cette section contient des informations de référence pour la version du nuanceur de pixels 2_x instructions.
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 nouvelles pour 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’un représentant... bloc endrep | 1 | x | x | |||
break_comp - ps | Rupture conditionnelle d’un représentant... endrep block, avec une comparaison | 3 | x | x | |||
breakp - ps | Sortir d’un représentant... endrep block, basé sur un prédicat | 3 | x | x | |||
call - 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 pred - 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 d’un échantillonneur | 0 | x | ||||
dcl - (sm2, sm3 - ps asm) | Déclarez l’association entre les registres de sortie du nuanceur de vertex et les registres d’entrée du nuanceur de pixels. | 0 | x | ||||
def - ps | Définir des constantes | 0 | x | ||||
defb - ps | Définir une constante booléenne | 0 | x | x | |||
defi - ps | Définir une constante entière | 0 | x | 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 | x | |||
dsy - ps | Taux de variation dans la direction y | 2 | x | x | |||
else - ps | Commencer un bloc Else | 1 | x | x | |||
endif - ps | Terminer un si... else block | 1 | x | x | |||
endrep - ps | Fin d’un bloc de répétition | 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 | |||
if_comp - ps | Commencer un bloc if avec une comparaison | 3 | x | x | |||
si pred - ps | Commencer un bloc if avec la prédication | 3 | x | x | |||
label - ps | Étiquette | 0 | x | x | |||
log - ps | Journal de précision complète .(x) | 1 | 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 | x | |||
ret - ps | Fin d’une sous-routine | 1 | x | x | |||
rsq - ps | Racine carrée réciproque | 1 | x | ||||
setp_comp | Définir le registre du prédicat | 1 | x | x | |||
sincos - ps | Sinus et cosinus | 8 | x | ||||
sub - ps | Soustraire | 1 | x | ||||
texkill - ps | Tuer le rendu des pixels | Voir la note 1 | x | ||||
texld - ps_2_0 et plus | Échantillonner une texture | Voir la remarque 2 | x | ||||
texldb - ps | Échantillonnage de textures avec un biais de niveau de détail de w-component | Voir la note 3 | x | ||||
texldd - ps | Échantillonnage de textures avec des dégradés fournis par l’utilisateur | 3 | x | x | |||
texldp - ps | Échantillonnage de textures avec division projective par composant w | Voir la remarque 4 | x |
Remarques :
- Si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT est défini, emplacements = 2 ; sinon, emplacements = 1.
- Si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT est défini et que la texture est une carte de cube, emplacements = 4 ; sinon, emplacement = 1.
- Si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT est défini, emplacements = 6 ; sinon, emplacements = 1.
- Si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT n’est pas défini, emplacements = 1 ; Sinon:
- si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT est défini et que la texture est une carte de cube, emplacements = 4.
- si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT est défini et que la texture n’est pas une carte de cube, 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