At the top of the 2900 XT block diagram is the setup engine, which is responsible for preparing data for processing by the stream processing units. The setup engine consists of five core components:
Scan converter/rasterizer and interpolators (for pixel shaders)
Geometry assembler (for geometry shaders)
Vertex assembler (for vertex shaders)
Programmable tessellation unit
The Radeon HD 2000 series is the first GPU to feature a dedicated hardware unit for tessellation. With tessellation, developers can create complex objects without requiring a large amount of triangles. For example, the GPU could be used to dynamically render features such as the topology of a mountain range. With adaptive tessellation, the developer can selectively put more detail where needed (via more patches), and less patches where high detail isn't as important. For example, more distant objects can have less detail than objects that are closer to the viewer. This allows highly detailed scenes to be rendered with much fewer polygons than would otherwise be necessary. ATI’s tessellation unit supports a wide variety of higher order surfaces, including Bezier patches, N-Patches, and NURBS.
Another benefit of ATI’s tessellation unit is faster displacement mapping and reduced memory bandwidth usage. This provides the greatest benefit to lower-end cards like the Radeon HD 2400 and 2600, which don’t have the horsepower of the Radeon 2900 XT when it comes to triangle processing rate and memory bandwidth.
To ease development for game developers, ATI has created a software library developers can use to code for their tessellation unit. For DX10 hardware that lacks a dedicated tessellation unit (read: NVIDIA’s GeForce 8 line), ATI’s tools would utilize the geometry shader to provide similar functionality. For DX9 cards, which obviously lack support for geometry shaders, the CPU would be used instead.
The biggest challenge standing in the way of the tessellation unit will likely be game developer support. Here AMD argues that future APIs will include support for hardware-based tessellation, in particular citing a GDC 2007 presentation from Chas Boyd titled “The Future of DirectX”. AMD also argues that the tessellation unit found inside the Radeon HD 2000 series is the exact same unit game developers are already using today inside Xbox 360. In fact, one popular Xbox 360 game, Viva Piñata, utilizes the tessellation unit extensively.
AMD isn’t ready to disclose which upcoming PC games will take advantage of the tessellation unit, but when we asked for a rough figure we were told to expect a handful of games by the end of this year.
With HD-DVD and Blu-ray playback on the PC becoming increasingly popular, handling H.264 and VC-1 decoding on the GPU has become a higher priority for both AMD and NVIDIA. To tackle this problem, both companies have integrated dedicated resources on the GPU for handling video decoding. In the case of AMD, their video hardware is known as UVD, which is short for universal video decoder. AMD’s UVD is capable of handling the entire decode process and supports full 40Mbps bit-rates. The following graphs summarize the benefits of UVD:
As you can see, with UVD and Avivo HD, the Radeon HD 2000 series is capable of handling both the bitstream processing and frequency transform stages for both VC-1 and H.264 playback, whereas the VP2 processor in NVIDIA’s GeForce 8600/8500/8400 is only capable of handling this for high definition movies using the H.264/AVC Codec; when using VC-1, this is handled by the CPU on the GeForce cards.
With UVD handling all decode stages for high definition playback, CPU utilization for high definition playback is just as low as it was for standard definition playback. This is important for those of you with slower CPUs and/or those on notebooks. Without the GPU handling these tasks, CPU utilization for a high bit-rate HD-DVD or Blu-ray disc could be over 70%, even on a fast Core 2 Duo CPU.
In addition, ATI has added custom logic to the Radeon HD 2400 and 2600 for video post-processing capable of performing de-interlacing, up/down scaling, and color correction.
All Radeon HD 2000 series GPUs are HDCP-compliant. In fact, the Radeon HD series is the first line of GPUs to integrate the HDCP encryption keys directly into the ASIC, no external CryptoROM chip is needed. As a result, we’d estimate that all Radeon HD 2000 series cards should support HDCP, regardless of manufacturer. Previously this was often left in the hands of board manufacturers, particularly on lower end cards where board partners didn’t want the added expense of adding HDCP support. All Radeon HD 2000 series cards are also capable of supporting HDCP over dual-link DVI.
When it comes to audio, as we mentioned before, the Radeon HD 2000 series is capable of transmitting both audio and video over HDMI. No external audio connection is required. AMD and their board partners will be bundling HDMI adapters with their cards which are capable of delivering full audio and video via the standard DVI output on the back of the Radeon card.