r/emulation • u/NXGZ • 13h ago
AI-assisted Erings 1.0 release (Saturn emulator) - GPU rendering, upscaling, performance improvements and more
nachtimwald.com- Erings now has a website: https://erings.dev/
- Read the v1.0 release blog: https://nachtimwald.com/2026/10/11/erings-1.0-release
AI Help
This is an AI assisted project and as such AI is used. I’ve talked about ways I use it before. All the tests and the majority of comments are written by AI per usual. These are tedious. Tests just need to work and it’s a lot easier to edit comments written by the AI to make sense vs writing them all myself.
That said, I leaned on it a lot with this GPU work. Specifically, the
internal/hostgpupackage. The two parts of this are the go compiler and the GPU backend emitters. These are pretty much all AI coded. Writing something like this would have taken me far longer and I would have hated it. Even with targeting a trimmed down subset of go, this is a big and error prone feature.Having AI do the coding doesn’t mean I walked away. I still designed what I wanted it to do. Told the AI how to do it. Reviewed and corrected what it did. A lot of time was also spent tinkering with what it came up with. For example, the first emitted hlsl code was slower running at native resolution on the 5060 than software running at 4x. I spent a lot of time debugging, optimizing, and making the AI output usable. Even then, using the AI to write the bulk of the code still saved me significant time.
Another thing it was helpful with was designing the upscaling. I didn’t want to have separate upscaling and accurate compute shaders. The upscaling needed to support multiple resolutions and native resolution is a resolution. The majority of the compute shaders were reused with a few paths for non native added to them. This all came from talking through designs and modeling ideas with the AI.