NVIDIA GeForce 8800 GTX / GTS (G80) - The World's First DX10 GPU
- < Prev
-
Page 7 of 21 - DX 10 Compliancy- SM 4.0
Page 7 of 21
- Next >
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 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 |
- < Prev
-
Page 7 of 21 - DX 10 Compliancy- SM 4.0
Page 7 of 21
- Next >