Il diagramma mostra il layout del chip del processore grafico della GeForce 6800.
L'architettura del motore pixel shader dell'NV40 è stata completamente riprogettata. Dopo la lunga discussione riguardante le specifiche della pixel pipeline dell'NV35/38 effettuata durante l'anno scorso, NVIDIA ha deciso di definire l'utilizzo di un'architetutra 4x2 /8x0. L'NV40, d'altro canto, utilizza un'architettura 16x1 (16 pixel per clock color & Z) / 32x0 (32 pixel per clock Z). Questo significa che l'NV40 utilizza 16 pixel pipeline reali.
Facciamo ora alcuni esempi per chiarire la questione: Doom III, per esempio, fa un uso intensivo di "stencil shadow". Per renderizzare queste ombre, è utilizzato solo lo "Z-Stencil". Come risultato, l'NV40 può calcolare 32 pixel per clock, mentre l'NV35/38 poteva calcolarne solo 8. 3DMark 2003 Game test 1 utilizza maggiormente texture singole. In questo caso, l'NV40 può elaborare 16 pixel per clock (NV35 / 38 = 4). Infine, in Quake III, molti oggetti riportano doppie texture, il che significa che l'NV40 può elaborare 8 pixel per clock (NV 35/38 = 4)
Inoltre l'NV40 può contare su pipeline pixel shader che utilizzano una precisione floating point a 32 Bit.
Gli sviluppatori di giochi erano spesso obbligati a ridurre la precisione delle ombre nei loro giochi a FP16 o FX12 per raggiungere delle performance giocabili con l'NV35/38. Con l'avvento dell'NV40 ora non è più necessario. L'ATi R360 ha la capacità di calcolare ombre a FP24, il nuovo prodotto NVIDIA le calcolerà a FP32.
Sommario Pixel Shader | ||||
Pixel Shader Model | 2.0 | 2.0a | 2.0b | 3.0 |
Dependent Texture Limit | 4 | No Limit | 4 | No Limit |
Texture Instruction Limit | 32 | unlimited | unlimited | unlimited |
Position Register | - | - | - | Yes |
Instruction Slots | 32+64 | 512 | 512 | >= 512 |
Executed Instruction | 32+64 | 512 | 512 | 65535 |
Interpolated Registers | 2+8 | 2+8 | 2+8 | 10 |
Instruction Predication | - | Yes | - | Yes |
Indexed Input Registers | - | - | - | Yes |
Temp Registers | 12 | 22 | 32 | 32 |
Constant Registers | 32 | 32 | 32 | 224 |
Arbitrary Swizzling | - | Yes | - | Yes |
Gradient Instructions | - | Yes | - | Yes |
Loop Count Register | - | - | - | Yes |
Face Register (2-sided lighting) | - | - | - | Yes |
Dynamic Flow Control Depth | - | - | - | 24 |
Questo chip NVIDIA assicura le massime richieste delle specifiche DirectX 9.0c, che richiedono la precisione floating point shader a 32 Bit.