Those that have followed the development of 3D graphics over the past ten years or so will have seen a continual development of the capabilities of the processors, but fundamentally following the path of OpenGL pipeline model. 3dfx really ignited the market with their "Voodoo Graphics" add-in boards, which were not much more than just a raster engine: it utilised one chip for texture sampling and another for pixel processing (a simple Render Output unit - ROP); 3dfx further evolved that by adding an extra texture unit, allowing for slightly more complex effects in the raster pipeline. And so it was that this model was followed for a number of years with the main developments being the number of pixel pipelines and textures supported per pipeline, until NVIDIA took the step of moving further forward on OpenGL pipeline and giving accelerated support to the Transformation and Lighting process with GeForce 256. Whilst graphics processors had varying degrees of the geometry process, from clipping to setup, handled in hardware, adding a T&L engine was a significant step up the OpenGL pipeline, but didn’t really fundamentally change our thinking of graphics processors.
At the same time as the graphics vendors started giving us T&L engines the pixel processors gradually increased in flexibility as well, up until the point that "programmable shader architectures" were all anyone could talk about. The pixel pipelines became more flexible such that they had limited programmability, as did vertex processing, with vertex shaders operating in parallel with T&L engines. Nowadays the level of programmability of both vertex and pixel shaders has increased significantly with each vertex shaders enveloping the T&L processors entirely and pixel shaders consuming the texture processors. However, despite an increasingly important onus being placed on the arrangement and capabilities of the shader Arithmetic Logic Units (ALU’s) in this programmable era, the designs of contemporary graphics processors still bear the fundamental similarities to their forebears: vertex processing up one end of the pipeline, pixel processing down the other and still very much aligned with multiples of pixel pipelines.
Conceivably there is no reason why this development model couldn’t continue to exist in the PC space and it certainly seems like it will from all vendors for at least the next year. However, ATI have multiple design teams working on different architectures concurrently, so whilst their PC processors may follow a fairly familiar lineage other parts of the company have been talking this shader era with a completely fresh perspective in order to consider the needs of a "Programmable Graphics Processor" and extract as much of the potential of the ALU’s as possible by trying to minimise the wasted cycles. In doing so they will force us to reconsider how we think of the overall pipeline and make initial performance assessments based upon "pipelines" alone.
Ever since the announcement that ATI were working with Microsoft on "Future XBox technologies" the rumour mill has been working overtime as to the graphics behind it. Some of the messages since the announcement of the XBOX 360, the eventual console ATI's work will appear in, have not necessarily been reflective of the actual operation and even a little contradictory from representatives directly from ATI. With strict NDA's and designs being built for two different competitive consoles, very tight controls of what could be talked about had to be implemented within ATI, and the XBOX group operated very much within their own silo; it wasn't until Microsoft lifted the NDA's that ATI could even speak of it on a wider internal basis, let along externally, and even then there is a lot of information to gather.
Since XBOX 360's announcement and ATI's unleashing from the non disclosure agreements we've had the chance to not just chat with Robert Feldstein, VP of Engineering, but also Joe Cox, Director of Engineering overseeing the XBOX graphics design team, and two lead architects of the graphics processor, Clay Taylor and Mark Fowler. Here we hope to accurately impart a slightly deeper understanding of the XBOX 360 graphics processor, how it sits within the system, understand more about its operation as well as give some insights into the capabilities of the processor. Bear in mind that we are under NDA for some of the operational details of the graphics processor to gain an understanding of how it differs from current platforms however some of the specifics won't be revealed in full detail in this article.
Throughout this article we'll attempt to piece together the operation of the graphics processor based on our conversations with ATI and some developers who have already had some knowledge of XBOX 360's capabilities, however we'll also offer some opinions on certain elements. Sections typed in blue indicate Beyond3D's suppositions and have not been directly indicated to us by ATI.