Differenze di Pixel Shader
Slot di istruzione
Ogni versione supporta un numero diverso di slot di istruzioni massimi.
Versione | Numero massimo di slot di istruzione |
---|---|
ps_1_1 | 4 trama + 8 aritmetica |
ps_1_2 | 4 trama + 8 aritmetica |
ps_1_3 | 4 trama + 8 aritmetica |
ps_1_4 | 6 trama + 8 aritmetica per fase |
ps_2_0 | 32 trama + 64 aritmetica |
ps_2_x | 96 minimo e fino al numero di slot in D3DCAPS9. D3DPSHADERCAPS2_0.NumInstructionSlots. Vedere D3DPSHADERCAPS2_0. |
ps_3_0 | Minimo 512 e fino al numero di slot in D3DCAPS9. MaxPixelShader30InstructionSlots. Vedere D3DPSHADERCAPS2_0. |
Per informazioni sulle limitazioni dei software shader, vedere Software Shader.
Limiti di annidamento del controllo del flusso
funzionalità ps_1_x
Nuove istruzioni:
Vedere ps_1_1, ps_1_2, ps_1_3, istruzioni ps_1_4.
Nuovi registri:
Vedere ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registri.
funzionalità ps_2_0
Nuove funzionalità:
- Tre nuovi swizzles - .yzxw, .zxyw, .wzyxx
- Il numero di registri temporanei (r#) è aumentato a 12
- Il numero di registri di registro float costante (c#) è aumentato a 32
- Il numero di registri coordinate trama(t#) è aumentato a 8
Nuove istruzioni:
- Istruzioni di installazione - dcl - (sm2, sm3 - ps asm), dcl_samplerType (sm2, sm3- ps asm)
- Istruzioni aritmetiche - abs - ps, crs - ps, dp2add - ps, exp - ps, frc - ps, log - ps, m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, m4x4 - ps, m4x4 - ps, max - ps, min - ps, nrm - ps, pow - ps, rcp - ps, rsq - ps, sincos - ps
- Istruzioni di trama - texld - ps_2_0 e up (sintassi diversa), texldb - ps, texldp - ps
Nuovi registri:
funzionalità ps_2_x
Nuove funzionalità (vedere D3DPSHADERCAPS2_0.):
- Controllo flusso dinamico
- Controllo flusso statico
- Annidamento per istruzioni di controllo del flusso dinamico e statico
- Numero di registri temporanei(r#) aumentato
- Origine arbitraria swizzle
- Istruzioni sfumature
- Predicazione
- Nessun limite di lettura della trama dipendente
- Nessun limite di istruzioni di trama
Nuove istruzioni:
- Istruzioni di controllo del flusso statico - se bool - ps, call - ps, callnz bool - ps, else - ps, endif - ps, rep - ps, endrep - ps, label - ps, ret -ps
- Istruzioni di controllo del flusso dinamico - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, if pred - ps, setp_comp - ps
- Istruzioni aritmetiche - dsx - ps, dsy - ps
- Istruzione trama - texldd - ps
Nuovi registri:
- Registro predicato (p0)
funzionalità ps_3_0
Nuove funzionalità:
- Registro di inputconsolidato 10 (v#)
- Registro colori di input indicizzato (v#) con registro contatore ciclo (aL)
- Il numero di registri temporanei(r#) è aumentato a 32
- Il numero di registri float costanti(c#) è aumentato a 224
Nuove istruzioni:
- Istruzione di installazione - dcl_semantics (sm3 - ps asm)
- Istruzioni di flusso statico - ciclo - ps, endloop - ps
- Istruzione aritmetica - sincos - ps (nuova sintassi)
- Istruzione trama - texldl - ps
Nuovi registri:
- Registro di input (v#)
- Registro posizioni (vPos)
- Registro viso (vFace)
Argomenti correlati