I was checking this article: https://en.dolphin-emu.org/blog/2016/11/01/dolphin-progress-report-october-2016/#cuthere. It described that the alpha channel is part of the framebuffer (EFB). I must have misphrased I guess. It was quite interesting to read up to. So each RGB color is a channel, but if the EFB is not a channel, which is the fourth channel than?
Quote:So what went wrong with storing the stencil in the alpha channel? Well, it turns out that on the GameCube you don't get the extra alpha channel for free. The alpha channel is part of the framebuffer (EFB) together with the red, green and blue color channels (RGB) and the GameCube only has 24-bit per pixel in the framebuffer. So to use the full 24-bit color range of your monitor it has to use everything for the RGB color channels. When you want to enable the alpha channel it has to make room for that by only assigning 6 bits to each color channel, which leaves another 6 bits free for the alpha channel. Dolphin on the other hand actually has 32-bit per pixel in the framebuffer, so it can use 24-bit colors and still have 8-bit left for the alpha channel.
But using 8-bit precision when the game only expects 6-bit will result in rounding errors at some point and it turns out that assumption finally broke something with this game. Despite being somewhat maligned, Dolphin's software renderer came into incredible use with this issue because it rendered everything correctly. Since the software backend was written to be as accurate as possible it was already using 6-bit for each channel in the framebuffer. Being able to compare the broken implementation to a working one proved that we finally found the problem.
