GX

From Rare Gaming Dump
Revision as of 06:28, 30 May 2019 by Themriron2 (talk | contribs) (→‎Use in games: Improved brevity and grammar)
The Hollywood GPU as it appears on the Wii's motherboard.


Hollywood is the name of the graphics chip (GPU) used in the Nintendo Wii. It was designed by ATI (now AMD), and was manufactured using the same 90nm process as the Broadway CPU. Hollywood is a direct evolution of Flipper, the GPU used in the Wii's predecessor, the GameCube; in fact, the two GPUs are fundamentally identical. They are very similarly capable, with the Wii's GPU being clocked 50% faster (243MHz, as opposed to Flipper at 162MHz) with the same memory pool (3MB). Hollywood provides no improvements in programmability compared to Flipper, however the benefit of this similarity between the two chips is that Hollywood is completely backwards compatible with Flipper.

Hollywood comes with the addition of an ARM chip, nicknamed "Starlet", which is clocked at the same speed as the graphics chip (243MHz). Starlet handles I/O, wireless (via SDIO) and security functionality among other things, and is responsible for the running of the Wii's IOS (internal operating system). Effectively, Starlet is the only meaningful difference between Hollywood and Flipper.

Hardware Capabilities

  • 243MHz graphics chip
  • 3MB embedded GPU memory (eDRAM)
    • 2MB dedicated to Z-buffer and framebuffer
    • 1MB texture cache
    • 24MB 1T-SRAM @ 486MHz (3.9GB/s) directly accessible for textures and other video data
  • Fixed function pipeline (no support for programmable vertex or pixel shaders in hardware)
  • Texture Environment Unit (TEV) - capable of combining up to 8 textures in up to 16 stages or "passes"
  • ~30GB/s internal bandwidth^
  • ~18 million polygons/second^
  • 972Mpixels/sec peak pixel fillrate

(Note: ^ denotes speculation: using confirmed AMD GameCube data x 1.5, a crude but likely accurate way of calculating the Wii's results based on clock speeds and identical architecture)

Texture Environment Unit

The Texture Environment Unit (TEV) is a unique piece of hardware exclusive to the GameCube and Wii. The Wii inherited the TEV from Flipper, and the TEV is - to use an analogy from Factor 5 director Julian Eggebrecht - "like an elaborate switchboard that makes the wildest combinations of textures and materials possible."

The TEV pipeline combines up to 8 textures in up to 16 stages at once. Each stage can apply a multitude of functions to the texture. This was frequently used to simulate pixel shader effects such as bump-mapping, or to perform effects such as cel shading. The TEV pipeline is completely under programmer control; as a result, the more time the developer puts in to write effects in software, the better results they will get. On the GameCube, Factor 5's Star Wars: Rogue Squadron II used the TEV for the targeting computer effect and the simulated volumetric fog. In another scenario, Wave Race: Blue Storm used the TEV notably for water distortion (such as refraction) and other water effects. The Wii's TEV unit and TEV capabilities are no different from the GameCube's, excluding indirect performance advantages from the faster clock speeds.

Use in games

Hollywood itself is the subject of much speculation in terms of true potential: some developers claim to have pushed 20 million polygons/sec or more in real world game scenarios, however according to ATI's original data this exceeds the theoretical polygon count.

Developers working with Hollywood face the obvious obstacle of resolution (vs. PS3, 360, PC), video memory, bandwidth and the lack of pixel/vertex shaders. This makes programming for the Wii a challenge compared to other systems. However, developers became familiar with the system over time and managed to work around its limitations.

The resolution is capped at an absolute maximum of 640x480; most games use a figure close to this, such as 640x460, with slightly reduced vertical resolution to compensate for "overscan" on CRT displays. Fortunately, this was used to the Wii's advantage in many cases; despite the lack of definition and clarity, developers used this lack of clarity to hide shortcuts and get away with more than they would have been able to on PS3 or 360. The lower resolution also mitigated the issue of pixel fillrate and memory bandwidth.

An in-game screenshot of Conduit 2.

The TEV was used to overcome the lack of pixel and vertex shaders. While having no hardware functionality to replace or use standard shaders was a pain initially, developers began to use the TEV to substitute and, in some cases, even exceed what may have been possible on a similar system with pixel and vertex shaders. A high-profile example of this is The Conduit and Conduit 2 by High Voltage Software using their own Quantum3 engine. The engine supports dynamic bump-mapping (via tangent space normals or embossing), reflection and refraction (via real-time cube or spherical environmental maps), light/shadow maps, projected texture lights, specular and Fresnel effects, emissive and iridescent materials, advanced alpha blends, light beams/shafts, gloss and detail mapping, projected shadows, heat distortion and motion blur, interactive water with dual-wave channels and complex surface effects and more.