🔗 Ubershaders: A Ridiculous Solution to an Impossible Problem
In an very technical blog post, the Dolphin emulator folks detail their solution to "Shader Compilation Stuttering", a problem that has been plaguing their emulator for years.
There was some frustration and even antipathy from the developers toward shader compilation stuttering. It was something that was deemed unfixable and was garnering a lot of ill will and frustration within the community. Ironically, we hated the stuttering as much as anyone else, but the sheer insanity of the task was enough to keep most developers away. Despite this, some still privately held onto a glimmer of hope. It started out as a theory that had a chance of working. A theory that would take hundreds, if not thousands, of person-hours just to see if it was possible.
That hope is what fueled an arduous journey against seemingly impossible odds. A journey that would take multiple GPU engineers across two years. All in an effort to emulate the full range of the GameCube/Wii's proto-programmable pipeline without falling victim to this pesky stuttering.
This is the dawn of the Ubershader era.
I love this blog post so much because it is a quintessential example of how you can become so tunnel visioned with a solution to a programming problem and then one day someone comes at it from a completely new angle and your mind just explodes.