Closed flipacholas closed 1 year ago
I don't think there's a more distinct name, unfortunately. IGN has two articles on it; the first one refers to it as the "Flipper graphics chip" and also mentions that the sound chip is "integrated on the graphics chip". (It also mentions a partnership with NEC, presumably for the DSP - this is something I need to look more into later.) There's also this article which supposedly has a diagram of the parts of the chip but "NOT to scale".
... OK, I did more digging. Other pages, e.g. this official Nintendo one (I'm pretty sure I've seen a live version of this somewhere, but I don't remember where) and two other IGN articles refer to flipper as the "System LSI", but don't give anything beyond that for the GPU specifically. But there's also this one, which has a PDF of a presentation from the "Emedded Processor Forum". This has a section from ATI titled "The Flipper Graphics Processor", which refers to "ATI Flipper System Chip" in general, and slides on the "Flipper Graphics Processor", "Flipper Audio DSP", and "Flipper IO Processor", as well as the same die photo (the labels are vector graphics in the PDF over a fixed image, incidentally). So, I guess that works, though it's a bit clunky.
Note that "GX" is not the name - to my understanding (not sure where I picked up on this, though), GX is specifically the name of the library used to interact with graphics hardware (the same class of things as OpenGL and Vulkan). The name appears both in GameCube games and Wii games (easiest to see with games that ship debug symbols, such as non-US versions of Super Mario Sunshine; most games will also mention it in the debug logging you can get if you enable "OSReport EXI" in Dolphin's log settings (though Super Mario Sunshine doesn't)). None of the articles IGN articles I could find refer to GX, though it is mentioned in this excellent article from a Factor 5 dev (which doesn't mention flipper or contain the word "GPU"). It's possible that one of the GDC talks I link near the end of my horribly messy notes discusses it, but there are no transcripts for these other than my notes, so searching them is hard.
GX is indeed the library used to interact with the graphics hardware
Its also why a lot of homebrew that have GUI's end up having GX in the title in some capacity
The more important issue regarding the articles, and one that everyone can agree on, is that GX is not the name of the Wii's GPU.
For some context, I'm copy/pasting my original complaint on discord:
I was skimming and the statement: " Years later, after being acquired by ‘ATI’, they supplied GX, a sped-up version of Flipper for the Wii." bugged me And it goes back to the wii article. Flipper is the name of the whole chip. The equivalent on the Wii is "Hollywood". The GX is just the name of a subsystem inside Flipper/Hollywood that handles all of the graphics. And the GX terminology is shared across both
And personal pet-peeve against the whole industry: it's kind of inaccurate to call Hollywood/Flipper GPUs. The majority of their die space might be taken up by GPU stuff, but they do so much more. Same goes for the N64's RCP, xbox, xbox360, wii u and any console were the GPU sits between the memory and the CPU
Looking though the patents, they seem to use the terminology "Graphics and Audio Processor" to refer to the whole chip, though I'm going to complain that even that is a misleading name. I really suspect they just called it Flipper internally and only needed a more descriptive name for
And it's entirely possible they didn't have a name to refer to generally to the whole graphics pipeline:
In this diagram, which shows a slightly simplified view of memory buses within flipper, they have a generic block called "3D Graphics Processor":
But then in this diagram, They have a smaller subsection of units labelled as "3D graphics Pipeline"
It's kind of clear that there is no name for the whole GPU. GX would be a good name, but as people point out, that's the name of the library, not the GPU. In some places, I've heard people call it TEV, which is completely inaccurate. TEV is the name of the pixel pipeline, just a small sub-component of the GPU.
TBH, it doesn't really matter what Nintendo/ArtX/ATI call it. The goal is clarity to the reader of the article.
And when you say GPU, most readers think about more traditional PC style setup where the CPU talks directly to memory, and the GPU hangs off to the side and communicates with the CPU via a shared memory controller over a PCIe bus (or equivalent)
And once you get to architectures where the CPU moves inside these "System chips" too, everyone agrees that they aren't GPUs anymore. They are SoCs. But as far as I'm aware, the industry never settled on a single name for "cpuless SoC". There are many examples, but
So I'm going to suggest:
There's also this article which supposedly has a diagram of the parts of the chip but "NOT to scale".
You know, I've seen that diagram many times, but never looked closely or noticed the "NOT to scale" disclaimer.
It's clear that some components have been placed accurately. eFB and eTM have clearly been placed on the right parts of the die, I suspect others have too.
But on closer inspection, I don't thin it's a fully accurate floor plan. Mostly because it seems unlikely that NB (which they use air-quotes and call "North Bridge") is a single contained block. It should be distributed across the whole die so each sub-component can be close to the IO pins it needs.
Combining some info from #151 , this is how I summarise it (which will be used as reference for amending articles), I'm hoping this choice of words will improve readability and make it more consistent and clear for the reader:
GameCube terminology:
Wii terminology:
Wii U terminology:
Only focusing on Nintendo for now, please let me know if you got a different model.
Thanks.
That model seems absolutely fine to me.
Though it would be really nice to have an actual name for the graphics subsystem on Gamecube/Wii. But it's not our job to invent one.
Maybe add some clarifying language when introducing "Hollywood's GPU" to point out that it's essential identical to "Flipper's GPU", with only a few minor bug fixes.
To be clear, there are way more differences between the graphics subsystem in the first GameCube devkits and the final silicon, than differences between Flipper and Hollywood's graphics subsystems.
Just to repeat this since I linked a lot of things in my first comment: this presentation PDF from Nintendo/IBM/ATI (and linked here) does directly use Gekko, "ATI Flipper System Chip" (which is simplified to just "Flipper" elsewhere), and "Flipper Graphics Processor"/"Flipper Audio DSP". It also has the same die shot, but with slightly less dubious names. This is probably a good thing to cite.
The only difference I know of between Flipper's GPU and Hollywood's GPU is that on the Wii, it's possible to store textures in either MEM1 or MEM2 (as well as vertex data and other things), while on the GameCube they couldn't be in ARAM.
Thanks for the help, I've amended both articles.
Flipper: Chip that houses the northbridge, GPU and DSP. Flipper's GPU: Part of Flipper that performs graphics functions. GX: Graphics library, part of the official SDK