Hacker News Front Page · ibobev ·
Killing what can’t be handled – putting a spaghetti demon to eternal rest
El autor reemplazó el estructurizador de flujo de control de dxil-spirv, cuya complejidad y fragilidad dificultaban corregir shaders DXIL, por un algoritmo nuevo inspirado en Mesa y centrado en la corrección. Describe cómo transforma grafos de flujo de control en SPIR-V estructurado, incluidos los casos de bifurcaciones, saltos indirectos, bucles anidados y valores PHI, y cómo utiliza fuzzing con ejecución en GPU para comprobar la equivalencia. La nueva implementación superó la validación SPIR-V en el corpus de shaders DXIL del proyecto, y su rendimiento en GPU parece comparable al anterior.
The control flow graph structurizer in dxil-spirv has been a massive ballache and nasal demon for years now. I wrote about it at excruciating length many moons ago.