Architecture The first-generation
Radeon GPU was launched in 2000, and was initially code-named
Rage 6 (later
R100), as the successor to ATI's aging
Rage 128 Pro which was unable to compete with the
GeForce 256. The card also had been described as
Radeon 256 in the months leading up to its launch, possibly to draw comparisons with the competing Nvidia card, although the moniker was dropped with the launch of the final product. The R100 was built on a 180
nm semiconductor manufacturing process from TSMC. Like the GeForce, the Radeon R100 featured a hardware
transform and lighting (T&L) engine to perform geometry calculations, freeing up the host computer's CPU. In 3D rendering the processor can write 2 pixels to the framebuffer and sample 3 texture maps per pixel per clock. This is commonly referred to as a 2×3 configuration, or a dual-pipeline design with 3 TMUs per pipe. As for Radeon's competitors, the
GeForce 256 is 4×1,
GeForce2 GTS is 4×2 and
3dfx Voodoo 5 5500 is a 2×1+2×1 SLI design. Unfortunately, the third texture unit did not get much use in games during the card's lifetime because software was not frequently performing more than dual texturing. In terms of rendering, its "Pixel Tapestry" architecture allowed for Environment Mapped Bump Mapping (EMBM) and Dot Product (Dot3) Bump Mapping support, offering the most complete Bump Mapping support at the time along with the older Emboss method. Radeon also introduced a new memory bandwidth optimization and overdraw reduction technology called
HyperZ. It basically improves the overall efficiency of the 3D rendering processes. Consisting of 3 different functions, it allows the Radeon to perform very competitively compared to competing designs with higher fillrates and bandwidth on paper. ATI produced a real-time demo for their new card, to showcase its new features. The ''Radeon's Ark'' demo presents a science-fiction environment with heavy use of features such as multiple texture layers for image effects and detail. Among the effects are environment-mapped
bump mapping, detail textures, glass reflections, mirrors, realistic water simulation, light maps,
texture compression, planar reflective surfaces, and portal-based visibility. In terms of performance, Radeon scores lower than the GeForce2 in most benchmarks, even with HyperZ activated. The performance difference was especially noticeable in
16-bit color, where both the GeForce2 GTS and Voodoo 5 5500 were far ahead. However, the Radeon could close the gap and occasionally outperform its fastest competitor, the GeForce2 GTS, in
32-bit color. Aside from the new 3D hardware, Radeon also introduced per-pixel video-
deinterlacing to ATI's
HDTV-capable
MPEG-2 engine.
R100's pixel shaders R100-based GPUs have forward-looking programmable shading capability in their pipelines; however, the chips are not flexible enough to support the Microsoft
Direct3D specification for Pixel Shader 1.1. A forum post by an ATI engineer in 2001 clarified this: {{blockquote|...prior to the final release of DirectX 8.0, Microsoft decided that it was better to expose the RADEON's and GeForce{2}'s extended multitexture capabilities via the extensions to SetTextureStageState() instead of via the pixel shader interface. There are various practical technical reasons for this. Much of the same math that can be done with pixel shaders can be done via SetTextureStageState(), especially with the enhancements to SetTextureStageState() in DirectX 8.0. At the end of the day, this means that DirectX 8.0 exposes 99% of what the RADEON can do in its pixel pipe without adding the complexity of a "0.5" pixel shader interface. Additionally, you have to understand that the phrase "shader" is an incredibly ambiguous graphics term. Basically, we hardware manufacturers started using the word "shader" a lot once we were able to do per-pixel dot products (i.e. the RADEON / GF generation of chips). Even earlier than that, "ATI_shader_op" was our multitexture OpenGL extension on
Rage 128 (which was replaced by the multivendor EXT_texture_env_combine extension).
Quake III has ".shader" files it uses to describe how materials are lit. These are just a few examples of the use of the word shader in the game industry (nevermind the movie production industry which uses many different types of shaders, including those used by
Pixar's RenderMan). With the final release of DirectX 8.0, the term "shader" has become more crystallized in that it is actually used in the interface that developers use to write their programs rather than just general "industry lingo." In DirectX 8.0, there are two versions of pixel shaders: 1.0 and 1.1. (Future releases of DirectX will have 2.0 shaders, 3.0 shaders and so on.) Because of what I stated earlier, RADEON doesn't support either of the pixel shader versions in DirectX 8.0. Some of you have tweaked the registry and gotten the driver to export a 1.0 pixel shader version number to
3DMark2001. This causes 3DMark2001 to think it can run certain tests. Surely, we shouldn't crash when you do this, but you are forcing the (leaked and/or unsupported) driver down a path it isn't intended to ever go. The chip doesn't support 1.0 or 1.1 pixel shaders, therefore you won't see correct rendering even if we don't crash. The fact that that registry key exists indicates that we did some experiments in the driver, not that we are half way done implementing pixel shaders on RADEON. DirectX 8.0's 1.0 and 1.1 pixel shaders are not supported by RADEON and never will be. The silicon just can't do what is required to support 1.0 or 1.1 shaders. This is also true of GeForce and GeForce2.}} ==Implementations==