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)
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.