Performance Leap: NVIDIA GeForce 6800 Ultra
Vertex Engine
The vertex shader units also conform to Microsoft's DirectX 9.0c specification, meaning Vertex Shader 3.0.
| Vertex Shader Summary | |||
|---|---|---|---|
| Shader Model | 2.0 | 2.0a | 3.0 | 
| #of instruction slots | 256 | 256 | >= 512 | 
| Max # of instructions executed | 65535 | 65535 | 65535 | 
| Instruction Predication | - | Yes | Yes | 
| Temp Registers | 12 | 13 | 32 | 
| #constant registers | >= 256 | >= 256 | >= 256 | 
| Static Flow Control | Yes | Yes | Yes | 
| Dynamic Flow Control | - | Yes | Yes | 
| Dynamic Flow Control depth | - | 24 | 24 | 
| Vertex Texture Fetch | - | - | Yes | 
| #of texture samplers | - | - | 4 | 
| Geometry Instancing Support | - | - | Yes | 
The vertex engine has seen a great range of improvements and extensions compared to the NV35 / 38. NV40 possesses 6 vertex units which follow a MIMD (multiple input, multiple data) design. NVIDIA also sets a new record with a triangle transform rate of 600 million polys/second (Radeon 9800XT = 412, FX 5950 = 356).
Vertex shader programs can theoretically be of infinite length in VS 3.0. Thanks to the extension of the dynamic flow control (more looping / branching options and new subroutine functions), shader code can now be written much more efficiently and offers new options for effects.
Again, here's summary of features:
- Full Support for Shader Model 3.0
- 216 (65,535) length vertex programs
- Vertex processing w/texture - displacement mapping
- Dynamic flow control - Branching, Call & Return, Subroutines
- Geometry Instancing (vertex stream divider)
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
