Pixel-Shaderunterschiede
Anweisungsslots
Jede Version unterstützt eine unterschiedliche Anzahl maximaler Befehlsslots.
Version | Maximale Anzahl von Befehlsslots |
---|---|
ps_1_1 | 4 Textur + 8 Arithmetik |
ps_1_2 | 4 Textur + 8 Arithmetik |
ps_1_3 | 4 Textur + 8 Arithmetik |
ps_1_4 | 6 Textur + 8 Arithmetik pro Phase |
ps_2_0 | 32 Textur + 64 Arithmetik |
ps_2_x | Mindestens 96 und bis zur Anzahl der Slots in D3DCAPS9. D3DPSHADERCAPS2_0.NumInstructionSlots. Siehe D3DPSHADERCAPS2_0. |
ps_3_0 | Mindestens 512 und bis zur Anzahl der Slots in D3DCAPS9. MaxPixelShader30InstructionSlots. Siehe D3DPSHADERCAPS2_0. |
Informationen zu den Einschränkungen von Software-Shadern finden Sie unter Software-Shader.
Schachtelungsgrenzwerte für die Flusssteuerung
- Weitere Informationen finden Sie unter Einschränkungen der Flusssteuerung.
ps_1_x Features
Neue Anweisungen:
Weitere Informationen finden Sie unter ps_1_1, ps_1_2, ps_1_3 ps_1_4 Anweisungen.
Neue Register:
Siehe ps_1_1__ps_1_2__ps_1_3__ps_1_4 Register.
ps_2_0 Features
Neue Funktionen:
- Drei neue Swizzles - .yzxw, .zxyw, .wzyxx
- Anzahl des temporären Registers (r#) auf 12 erhöht
- Anzahl der Konstanten Float-Register (c#) auf 32 erhöht
- Anzahl der Texturkoordinatenregister(t#) auf 8 erhöht
Neue Anweisungen:
- Einrichtungsanweisungen - dcl - (sm2, sm3 - ps asm), dcl_samplerType (sm2, sm3 - ps asm)
- Arithmetische Anweisungen - 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,rcp - ps, rcp - ps, rsq - ps, sincos - ps
- Texturanweisungen - texld - ps_2_0 und höher (andere Syntax), texldb - ps, texldp - ps
Neue Register:
ps_2_x Features
Neue Features (siehe D3DPSHADERCAPS2_0.):
- Dynamische Flusssteuerung
- Statische Flusssteuerung
- Schachteln für dynamische und statische Flusssteuerungsanweisungen
- Anzahl temporärer Registers (r#) erhöht
- Beliebiger Quellschwister
- Farbverlaufsanweisungen
- Prädikation
- Kein Leselimit für abhängige Texturen
- Kein Texturanweisungslimit
Neue Anweisungen:
- Anweisungen zur statischen Flusssteuerung - if bool - ps, call - ps, callnz bool - ps, else - ps, endif - ps, rep - ps, endrep - ps, label - ps, ret - ps
- Anweisungen zur dynamischen Flusssteuerung - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, if pred - ps, setp_comp - ps
- Arithmetische Anweisungen - dsx - ps, dsy - ps
- Texturanweisung - texldd - ps
Neue Register:
- Prädikatregister (p0)
ps_3_0 Features
Neue Funktionen:
- Konsolidierte 10 Eingaberegister(v#)
- Indizierbares Eingabefarbregister (v#) mit dem Schleifenzählerregister (aL)
- Anzahl temporärer Registers (r#) auf 32 erhöht
- Anzahl der konstanten Float-Register(c#) auf 224 erhöht
Neue Anweisungen:
- Setupanweisung – dcl_semantics (sm3 – ps asm)
- Statische Flussanweisungen – Schleife – ps, Endloop – ps
- Arithmetische Anweisung - sincos - ps (neue Syntax)
- Texturanweisung - texldl - ps
Neue Register:
- Eingaberegister (v#)
- Positionsregister (vPos)
- Gesichtserkennung (vFace)
Zugehörige Themen