Emulator Issues #6391
Battlefield Backgrounds Flickers Strange Artifacts Intermittently (OpenGL)
Super Smash Bros Melee (1.02) - GALE01
In D3D9 and D3D11 (and probably Software) the background of Battlefield works fine. In OpenGL, usually about a minute in (Plus or minus about five seconds) the background will flash with some strange colors. I got a comparison shot to show what I mean, because it is a bit weird to describe.
Comparison - http://i.imgur.com/AjVL95B.png
If you want to see it without a fifo-log or screenshots, either use a save-file with all stages unlocked OR cheats to unlock all stages.
Also, I catch it in a video demonstrating Netplay as well, but, I blamed fraps at the time, but that has turned out to not be the case. It happens at about fifty-eight seconds in here, so keep your eyes peeled!
I tested it in revision 5f9199830285639a03d82e211de776e9d3e73a66, since it was the latest on the site. I tried a variety of settings, put the texture cache to safe, turned off hacked buffer upload, as well as contacted the Melee Netplay community. All nVidia users (who are recommended to use OpenGL for a significant speedboost, where as ATi users use D3D9 when possible) reported to seeing the strange artifacts.
Testing previous builds, it does not seem to happen before the GLSL merge. Unfortunately, the fifo-log seems to crash most, if not all builds before the merge, so I had to test it manually. It happens in 64 bit and 32 bit builds. All testing environments were Windows.
Here is a fifo-log to assist with debugging. http://www.mediafire.com/download/3crii49kct5oe2e/MeleeBackgroundSmall.7z
#1 Updated by degasus over 7 years ago
I can reproduce this bug on my nvidia gpu, but on intel/mesa, everything is fine.
The affected shader is this one:
It happens as an underflow in line 99. Clamping c1 between 0.01 and 0.99 hides the issue, but between 0.0 and 1.0 doesn't work.
colors = [0, 0, 0, 0.4] // 0 are \x00 in memory