Ein 9000-Zeilen-Monster: Wie ein Grafikentwickler seinen Spaghetti-Dämon endgültig erlöste
Killing what can't be handled – putting a spaghetti demon to eternal rest

Der Control-Flow-Structurizer in dxil-spirv war jahrelang ein Albtraum: ein 9000-Zeilen-Ungetüm, dessen Bus-Faktor praktisch bei null lag und das bei jedem Spiel-Update zu zerbrechen drohte. Nach einem Shader, den selbst Graphviz nicht mehr rendern konnte, gab der Autor die Lesbarkeit des generierten Codes auf und übernahm Mesas goto_if-Implementierung. Mit Fuzzing, CPU-Simulation und einem erweiterten structurizer-test fand er dabei zahlreiche Mesa-Bugs, die inzwischen behoben werden.
Es ist ein komisches Wunder, dass ich noch nicht völlig ausgerastet bin.
- cowlevel
Ich habe nie darüber nachgedacht, wie ein SIMD-Compiler intern funktionieren muss. Aua!
- e1ghtSpace
Etwas Feedback zur Seite, nicht dass ich wirklich wüsste, wovon du hier überhaupt sprichst, aber ich benutze Mittelklick-und-Ziehen, um die Seite zu scrollen, und habe festgestellt, dass das über einem Bild dieses in einem neuen Tab öffnet, ohne zu scrollen. Ich bin mir nicht sicher, ob das behoben werden sollte, aber ich melde es hier einfach mal für den Fall. :)
- FrustratedMonky
Schön.
Danke dafür. Werde ich mir mal ansehen und ausprobieren.