Différences du nuanceur de pixels
Emplacements d’instruction
Chaque version prend en charge un nombre différent d’emplacements d’instruction maximum.
Version | Nombre maximal d’emplacements d’instruction |
---|---|
ps_1_1 | 4 textures + 8 arithmétiques |
ps_1_2 | 4 textures + 8 arithmétiques |
ps_1_3 | 4 textures + 8 arithmétiques |
ps_1_4 | 6 textures + 8 arithmétiques par phase |
ps_2_0 | 32 textures + 64 arithmétiques |
ps_2_x | 96 minimum et jusqu’au nombre d’emplacements dans D3DCAPS9. D3DPSHADERCAPS2_0.NumInstructionSlots. Voir D3DPSHADERCAPS2_0. |
ps_3_0 | 512 minimum et jusqu’au nombre d’emplacements dans D3DCAPS9. MaxPixelShader30InstructionSlots. Voir D3DPSHADERCAPS2_0. |
Pour plus d’informations sur les limitations des nuanceurs logiciels, consultez Nuanceurs logiciels.
Limites d’imbrication du contrôle de flux
- Consultez Limitations du contrôle de flux.
fonctionnalités ps_1_x
Nouvelles instructions :
Consultez ps_1_1, ps_1_2, ps_1_3 ps_1_4 Instructions.
Nouveaux registres :
Consultez ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registres.
fonctionnalités ps_2_0
Nouvelles fonctionnalités :
- Trois nouveaux swizzles : .yzxw, .zxyw, .wzyx
- Le nombre de registres temporaires (r#) est passé à 12
- Le nombre de registres float constants (c#) est passé à 32
- Nombre de registres de coordonnées de texture(t#) augmenté à 8
Nouvelles instructions :
- Instructions d’installation - dcl - (sm2, sm3 - ps asm), dcl_samplerType (sm2, sm3 - ps asm)
- Instructions arithmétiques - abs - ps, crs - ps, dp2add - ps, exp - ps, frc - ps, log - ps, m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, m4x4 - ps, max - ps, min - ps, nrm - ps, pow - ps, rcp - ps, rsq - ps, sincos - ps
- Instructions de texture - texld - ps_2_0 et plus (syntaxe différente), texldb - ps, texldp - ps
Nouveaux registres :
fonctionnalités ps_2_x
Nouvelles fonctionnalités (voir D3DPSHADERCAPS2_0.) :
- Contrôle de flux dynamique
- Contrôle de flux statique
- Imbrication pour les instructions de contrôle de flux dynamiques et statiques
- Augmentation du nombre de registres temporaires(r#)
- Swizzle source arbitraire
- Instructions de dégradé
- Prédicat
- Aucune limite de lecture de texture dépendante
- Aucune limite d’instructions de texture
Nouvelles instructions :
- Instructions de contrôle de flux statique - si bool - ps, call - ps, callnz bool - ps, else - ps, endif - ps, rep - ps, endrep - ps, label - ps, ret - ps
- Instructions de contrôle de flux dynamique - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, if pred - ps, setp_comp - ps
- Instructions arithmétiques - dsx - ps, dsy - ps
- Instruction de texture - texldd - ps
Nouveaux registres :
fonctionnalités ps_3_0
Nouvelles fonctionnalités :
- Consolidated 10 Input Registers (v#)
- Registre de couleurs d’entrée indexable (v#) avec le registre du compteur de boucles (aL)
- Le nombre de registres temporaires(r#) est passé à 32
- Nombre de registres float constants(c#) augmenté à 224
Nouvelles instructions :
- Instructions d’installation - dcl_semantics (sm3 - ps asm)
- Instructions de flux statique - boucle - ps, endloop - ps
- Instruction arithmétique - sincos - ps (nouvelle syntaxe)
- Instruction de texture - texldl - ps
Nouveaux registres :
- Registre d’entrée (v#)
- Registre de position (vPos)
- Face Register (vFace)
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