ATI’s Radeon 8500: first GPU with hardware tessellation
This article is part of the Electronics History: The Graphics Chip Chronicles series.
The Radeon 8500 AIB launched by ATI in August 2001 used a 150 nm manufacturing process for its R200 GPU, named “Chaplin”. The AIB worked with DirectX 8.1. and OpenGL 1.3 API.
The R200 introduced several new and improved features, but the most notable was ATI’s “TruForm” feature. TruForm was a semiconductor intellectual property (IP) block developed by ATI (now AMD) to accelerate tessellation in hardware. The following diagram is a simple example of a tessellation pipeline rendering a sphere from a set of raw cubic vertices.
Tessellation can be relative based on an object’s distance from view to adjust the level of detail. This allows objects close to the viewer (the camera) to have fine detail, while objects farther away can have coarse meshes, while at the same time appearing comparable in quality. It also reduces the bandwidth required for a mesh by allowing it to be refined once inside shader units.
ATI’s TruForm creates a new type of surface consisting of curved rather than flat triangles, called N-Patches or PN triangles. The new approach made it possible to generate surfaces entirely in the GPU, without requiring significant modifications to existing 3D illustrations composed of flat triangles. This, according to ATI, would make the technology more accessible to developers and allow it to avoid breaking compatibility with older graphics processors, while delivering high-quality visuals. The technology was supported by DirectX 8s N-patches, which calculates how to use triangles to create a curved surface.
ATI’s R200 GPU was a medium-sized chip for its time: 120 mm² in area. It incorporated 60 million transistors and featured four pixel shaders and two vertex shaders, eight texture mapping units, and four ROPs. ATI said at the time that the R200 was more complex than Intel’s Pentium III processors.
The Radeon 8500 ran at 275 MHz and was supplemented with 64 MB of DDR using a 128-bit memory bus. It was a single-slot AIB and did not need an additional power connector, as it only consumed 23 W. The AIB had a 4x AGP interface and offered three display outputs: DVI , VGA and S-Video.
The R200 was ATI’s second generation GPU to carry the Radeon brand. Like most AIBs of the time, the 8500 also included 2D GUI acceleration for widows and offered video acceleration with a built-in MPEG CODEC.
While the R100 had two render pipelines, the R200 featured four. ATI called the largest processing pipeline Pixel Tapestry II. The new design has increased the fill rate of the AIB to 1 Gigapixel/s.
ATI built the original Radeon chip with three texture units per pipeline so it could apply three textures to a pixel in a single clock cycle. However, game developers chose not to support this feature. Instead of wasting transistors on an unsupported feature, ATI decided to build the R200 with just two texture units per pipeline. It matched the Nvidia GeForce3 and made developers happy.
But ATI was smart and allowed Pixel Tapestry II to apply six textures in a single pass. Legendary game developer John Carmack, who was working on the upcoming Doom 3, said at the time, “Doom’s standard lighting model, with all features enabled but no custom shaders, requires five passes over a Radeon GF1/2 or 2.” He said the same lighting pattern would take “either two or three passes on a GF3, and should be possible in a clear+single pass on ATI’s new part.”
Along with the original Radeon, ATI introduced its “Charisma” hardware transformation and lighting engine. The R200’s Charisma Engine II was the company’s second-generation hardware-accelerated fixed-function transform and lighting engine, and it benefited from the R200’s increased clock speed.
ATI has revised the R200’s vertex shader and dubbed it the “Smartshader” engine. Smartshader is a programmable vertex shader and was identical to Nvidia’s GeForce3 vertex shader, as both companies complied with DirectX 8.1 specifications.
In late 2000, just before the Radeon 8500/R200 were rolled out, ATI also introduced its “HyperZ” technology, which was essentially a Z compression scheme. ATI boasted that HyperZ could offer a fill rate of 1.5 gigatex per second, even though the theoretical maximum of the R200 was only 1.2 gigatex. In fact, the HyperZ provided a performance boost in testing.
ATI’s HyperZ technology consisted of three features working in conjunction with each other to provide a “boost” in memory bandwidth.
ATI’s HyperZ relied on several concepts from the deferred rendering process developed by Imagination Technologies for its PowerVR tiling engine.
A large amount of memory bandwidth is required to repeatedly access the Z buffer to determine which pixels, if any, are in front of the one being rendered. The first step in the HyperZ process was to check the z-buffer before a pixel was sent to the render pipeline. This approach removed unnecessary pixels before the R200 returned them.
Then the Z data was subjected to a lossless compression process to compress the data in the Z-buffer. It also reduced the memory space needed for S data and conserved data transfer bandwidth when accessing the Z buffer.
When Z data was used, a Fast Z-Clear process flushed the Z buffer after rendering the frame. At the time, ATI had a particularly efficient Z-buffer clearing process.
The first Radeon used 8×8 blocks. To reduce the bandwidth needed, ATI adjusted the block size to 4×4. The R200 could drop 64 pixels per clock instead of eight. (The GeForce3 could drop 16 pixels per clock.)
ATI also implemented an improved Z compression algorithm which, according to the datasheet, gave them a 20% increase in Z compression performance.
Jim Blinn introduced the concept of bump mapping in 1978. The approach created artificial depth by using lighting on an object’s surface. However, most game developers didn’t start using bump mapping until the early 2000s; Halo 1 was one of the first games to use it back in 1998.
put it all together
Prior to the adoption of bump, normal, and parallax mapping to simulate higher mesh detail, 3D shapes required large amounts of triangles. The more triangles you use, the more realistic surfaces you can create.
To reduce the number of triangles used, tessellation was employed. TruForm tessellated 3D surfaces using existing triangles and added additional triangles to add detail to a polygonal model. The result was that TruForm technology improved image quality without significantly impacting frame rates.
However, TruForm was rarely used by game developers because it required models to work outside of DirectX 8.1. Without widespread industry support, most developers simply ignored it. On top of that, by 2000 Nvidia had eclipsed ATI in AIB market share, and developers weren’t as willing to invest in a unique feature from the #2 vendor. ‘AMD moved to the Radeon X1000 series in 2007, TruForm was no longer a hardware feature.
With the Radeon 9500, the render buffer feature at the top could be used for tessellation applications. This was also helped by hardware supporting Microsoft’s Shader Model 3.0. Tessellation in dedicated hardware has returned in ATI’s Xenos GPU for Xbox and Radeon R600 GPUs.
Hardware tessellation support only became mandatory in Direct3D 11 and OpenGL 4. Tessellation, as defined in these APIs, is only supported by newer TeraScale 2 (VLIW5) products introduced by AMD in 2009 and GCN-based products (available from January 2012). In AMD’s graphics core next (GCN), the tessellation operation is part of the geometry processor.
When the Radeon 8500 was released, ATI’s software group was going through a difficult management overhaul, and the company-provided drivers were buggy. To make matters worse, the company cheated on some benchmarks and scored higher than reviewers could achieve. ATI also had issues with its Smoothvision anti-aliasing.
TruForm, the feature that should have propelled ATI to a leadership position, was lost due to poor management and lackluster marketing. The technological leadership that ATI had acquired throughout its development was wasted.
Read more articles in the History of Electronics: The Graphics Chip Chronicles series.