Pixel/Vertex Engines and Shaders
8-Pixel Pipelines
S3 has chosen the “V8” moniker to describe the 8-pixel pipeline architecture of DeltaChrome. Like RADEON 9700 PRO and GeForce FX, S3 has implemented eight pixel pipelines in DeltaChrome, with one texture unit per pipe. Like the other DirectX 9 accelerators on the market, DeltaChrome will be capable of processing up to 16 textures per pass.
The geometry engine is equally capable of pumping out triangles, like RADEON 9700, DeltaChrome features four vertex shaders, although we weren’t given a figure for the chips’ transform rate.
As we’ve also come to expect from a DX9 graphics accelerator, DeltaChrome supports floating point data formats, allowing for increased levels of precision. We’ve spoken many times before on the benefits of going from integer-based to floating point data formats, so we won’t go into detail on that here, but essentially this will allow DeltaChrome to perform all kinds of complicated math calculations that wouldn’t have been previously possible with older graphics accelerators.
Breaking down the pixel and vertex engines on DeltaChrome a bit further, we see that the vertex precision is 128-bit (32-bit floating point format) while DeltaChrome supports 96-bit pixel precision (24-bit floating point format), just like RADEON 9700 and unlike GeForce FX, which offers 32-bit floating point format support in both. NVIDIA has claimed that they believe this should theoretically give them a performance advantage in both 64-bit and 128-bit color modes, although we’ll have to wait and see how this plays out when software applications that boast these features begin to appear.
2.0+ vertex shaders
Like NVIDIA with GeForce FX, S3 is proud to boast that DeltaChrome’s pixel and vertex shaders go beyond Microsoft’s specifications called for in DirectX 9. While DX9 2.0 vertex shaders are limited to a maximum of 1,024 instructions, both GeForce FX and DeltaChrome support up to 65,536. The number of temporary registers and max loops also goes beyond the specifications set forth by Microsoft.
| |
DirectX 9 |
R300 |
NV30 |
Columbia |
| Vertex Shaders |
2.0 |
2.0 |
2.0+ |
2.0+ |
| Max Instructions |
1024 |
1024 |
65536 |
65536 |
| Temporary Registers |
12 |
12 |
16 |
16 |
| Max Loops |
4 |
4 |
256 |
256 |
2.0+ pixel shaders
S3’s pixel shader instructions also go beyond DX9, although the specs don’t quite match GeForce FX. S3 doubles the maximum number of color instructions supported to 128 and supports additional features such as programmable per pixel gamma correction, a programmable depth shader, programmable table filtering, and a programmable video shader. S3 also adds a few proprietary pixel shading instructions for post-processing capabilities like iDCT, adaptive filtering, deblocking, and deinterlacing.
| |
DirectX 9 |
R300 |
NV30 |
Columbia |
| Pixel Shaders |
2.0 |
2.0 |
2.0+ |
2.0+ |
| Max Color Instructions |
64 |
64 |
1024 |
128 |
| Max Temp Storage |
12 |
12 |
64 |
N/A |
Finally, DeltaChrome’s pixel shaders feature bi-directional Z and color buffers. Standard DirectX 9 pixel shaders utilize unidirectional color and Z buffers. This allows the color and Z buffers to send or receive data from the pixel shaders.