Emulator Issues #11572
Gecko OS Vertexshadergen.cpp error
Gecko OS with Super Smash Bros. Brawl as default ISO
Game ID? (right click the game in the game list, properties, info tab)
Super Smash Bros. Brawl
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
WIIScrubber edited ISO, only replaces music and intro video. Works fine on Dolphin and real Wii.
What's the problem? Describe what went wrong.
An error occurs during startup in Vertexshadergen.cpp. See attached image.
What steps will reproduce the problem?
- Set Brawl as default ISO
- Load Gecko OS (tested with D3D/OGL, single/dual core)
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes, 5.0-9616 (Line: 285)
Is the issue present in the latest stable version?
If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)
5.0-6467 (Line: 281, ShaderCache: Decouple shader UID cache from git commit)
What are your PC specifications? (CPU, GPU, Operating System, more)
Win 10 Pro x64
Intel Core i7-4702MQ CPU @2.20GHz
GeForce GT 750M
2x 8GB Hynix 1600MHz
GeForce Game Ready Driver 418.91
#5 Updated by ryanebola16 about 1 year ago
Deleting ...Dolphin Emulator\Cache\Shaders has no effect on this issue but deleting both ...Dolphin Emulator\Cache\Shaders and 00000000.uidcache makes this issue temporary disappear. Something in the attached 00000000.uidcache may be causing this problem.
#6 Updated by Stenzek about 1 year ago
Sounds like Gecko OS is sending an incorrect configuration to the GPU, and these are getting persisted in the UID cache the next boot. I've verified some of the other "bad" register combinations on hardware and they just cause broken rendering, not GPU hangs. But I haven't tested the sourcerow one specifically.
IMO, the fix is to log a warning and either replace it with a default value, or fail the shader compiling in the first place and skip the draw. Matching the excact "undefined" behavior on the hardware could be tricky because sometimes the behavior is based on the last thing drawn/whatever was last in the registers.