Vertex Shader
Analizziamo ora in dettaglio le due unità vertex shader e
pixel shader. La Vertex Shader processing unit del chip NV40 vanta pieno supporto agli
Shader 3.0, con la possibilità di processare sino a 65.535 istruzioni; si tratta quindi
di un'unità ottimizzata per comandi estremamente lunghi. DI seguito uno schema delle
differenze tra vertex shader 2.0 e 3.0:
| Vertex
Shader |
2.0 |
3 .0 |
| # of
instruction slots |
256 |
>=512 |
| Max #
of instructions executed |
65535 |
65535 |
| Instruction
Predication |
- |
si |
| Temp
Registers |
12 |
32 |
| #
constant registers |
>=256 |
>=256 |
| Static
Flow Control |
si |
si |
| Dynamic
Flow Control |
- |
si |
| Dynamic
Flow Control depth |
- |
24 |
| Vertex
Texture Fetch |
- |
si |
| # of
texture samplers |
- |
4 |
| Geometry
Instancing Support |
- |
si |
I registri temporanei, con i vertex shader 3.0, passano da 12
a 32, integrando Instruction Predication, Dynamic Flow Control, Vertex Texture Fetch e
Geometry Instancing Support. Il numero massimo di istruzioni processabili per Slot passa
dalle precedenti 256 a più di 512.

schema vertex shader pipeline
|