Feature Articles

NVIDIA GeForce 8800 GTX / GTS (G80) - The World's First DX10 GPU

By Vijay Anand - 9 Nov 2006

DX 10 Compliancy- SM 4.0

DirectX 10 Compliancy- Shader Model 4.0

You could say that a lot of the GeForce 8800's core features revolve around making it a true DirectX 10 compliant graphics card, but the converse is equally true as NVIDIA has been working with Microsoft for a long time to fine tune the specifications. In fact, the GeForce 8800 is not only the first shipping DirectX 10 GPU, but also the reference GPU for DirectX 10 API development and certification. This statement alone says a lot about the GeForce 8800 adherence to Microsoft's latest DirectX standards and you thus you can expect a smooth experience for DirectX 10 class applications and games (if all goes well on the developer's side).

As with the recent progression of DirectX standards that have largely evolved based on progressing graphics processing and thus new Shader Model standards that have accompanied it, DirectX 10 is no different as it introduces a fourth generation Shader Model standard. Since the GeForce 8800 is a fully DirectX 10 compliant GPU, it meets all the hardware requirements specified. Interestingly, the much discussed about unified shading architecture on the GeForce 8800 is actually not a requirement of Shader Model 4.0 (SM 4.0). What it primarily requires for compliancy is:-

  • A new programmable stage called the geometry shader,
  • A unified instruction set and common resources for all shaders (vertex, pixel, geometry)
  • And more shader resources than the previous SM standard to support the new functionality offered in SM 4.0.

The unification of the instruction set among the shaders would make it easier for programmers to program code since they no longer have to treat each shader type as a separate entity on its own. To facilitate this, all the shaders would have to take on similar specifications across the board such as the number of instruction slots, registers, other resources and limits. So in essence, a DirectX 10 GPU may have fixed function vertex, geometry and pixel shaders, but equip the shaders identically in features and give them access to more resources.

However, with all the shader processors having a similar feature set and sharing the same resources, it made more sense to combine them into a common array of shader processors and dynamically assign each processor the workload required to crunch. This unified architecture also opened the gateway for the GPU to process more than just the specified vertex and pixel workloads of the past, but also tackle geometry and even physics. It doesn't just stop there as there are even other forms of data processing that can take place on the G80 GPU that have not been defined yet. Thus the requirement to feature a unified instruction set has also indirectly promoted the use of unified shader architecture (intentionally or unintentionally).

Here's how the shader model specs and characteristics rack up for Shader Model 3.0 and the newly established version 4.0:-

Shader Models 3.0 and 4.0 Compared
Shader Model Specs SM 3.0 (DX9.0c) SM 4.0 (DX10)
Instruction Slots Vertex 512 (min) 65K
Pixel 512 (min)
Constant Registers Vertex 256 16 x 4096
Pixel 224
Temporary Registers Vertex 32 4096
Pixel 32
No. of Inputs Vertex 16 16
Pixel 10 32
Render Targets - 4 8
No. of Textures Supported (Texture Samplers) Vertex 4 128
Pixel 16
2D Texture Size - 2K x 2K 8K x 8K
Int / Load Ops - - Yes
Derivatives Function - - Yes
Flow Control Vertex Static / Dynamic Dynamic
Pixel Static / Dynamic

Join HWZ's Telegram channel here and catch all the latest tech news!
Our articles may contain affiliate links. If you buy through these links, we may earn a small commission.