melonDS-emu / melonDS

DS emulator, sorta
https://melonds.kuribo64.net
GNU General Public License v3.0
3.2k stars 529 forks source link

Red Checkerboard in NSMBDS #427

Open poudink opened 5 years ago

poudink commented 5 years ago

This only seems to happens when the OpenGL renderer is enabled but the OpenGL display is disabled. The red checkerboard start appearing when you enter a level. It appears below the HUD and the start menu but on top of the tileset and background. It stays even when you leave from the level to the worldmap, even though it isn't there when you initially get to the worldmap. It is also not present during the intro cutscene. The checkerboard disappears when you switch to the hardware renderer and doesn't reappear even if you switch back to the OpenGL renderer until you reset the game. I am using a Windows 10 laptop with an AMD GPU. Screenshot

Spikestuff commented 5 years ago

Did you check with the hotfix or is this the hotfix? Since the hotfix well fixes issues for "AMD/Intel GPU users".

poudink commented 5 years ago

this is the hotfix. the issues before the hotfix were much worse.

Arisotura commented 5 years ago

could ya contact me via IRC or the forum

Arisotura commented 5 years ago

this is like some buffer is not getting properly cleared

that's all I can think of

Arisotura commented 5 years ago

mh

would you mind doing a RenderDoc capture of this checkerboard thing-y, so I get more insight as to where it's coming from

if you want I can guide you through the process

poudink commented 5 years ago

yes please. I don't know how to do a RenderDoc capture.

Arisotura commented 5 years ago

well, that's not too difficult actually

first you install and launch RenderDoc

then, set it up, like this: renderdoc1

where you point it to your melonDS executable, and be sure to have it set up like in the screenshot.

then, press Launch, and it will start melonDS.

then you press F12 or PrintScreen to capture a frame

once that is done, you just close melonDS, and save your capture (File -> Save capture as)

then send me that file

poudink commented 5 years ago

Capture.zip Alright. Here it is.

Arisotura commented 5 years ago

thanks, gonna look at it

Arisotura commented 5 years ago

okay, so

apparently, when the 3D renderer finishes its work, the output is fine

but it's at the point where that is mapped for the final rendering pass, that it's getting crapoed

weird

as if it was some cache issue

Arisotura commented 5 years ago

'aight

check your PMs on the board

ghost commented 5 years ago

This might be the same bug as the one on Mega Man Star Force 3 no? issue #418.

Arisotura commented 5 years ago

that's what I fear

in IRC we discussed this and we can hardly see any possible cause other than faulty VRAM, but, if someone's getting that too...

welp.

basically: the 3D scene is rendered to a framebuffer, and, as seen in poudink's renderdoc capture, that framebuffer is fine at the time the rendering is done

but, at the time it's used as a texture to be drawn to the window, it's got the red crap smeared over it

I fail to see how it could get corrupted inbetween, since we don't touch it between the two passes

ghost commented 5 years ago

I think it could either be a bug on AMD side or another case of them staying too close to the (OpenGL) spec again. If it's a bug you could create a thread about this on their forums. This does not happen on AMD Linux driver so thats why I think like that.

poudink commented 5 years ago

isn't the amd linux driver much better than the windows one tho

poudink commented 5 years ago

changing the internal resolution does also fix the issue, by the way, which further points to this being the same issue as #418.

poudink commented 5 years ago

still happens on 0.8.3

Arisotura commented 4 years ago

can ya try on the latest revision?

poudink commented 4 years ago

The AMD graphics computer I used is unfortunately not working anymore. I am unable to test this issue anymore. I might fix the computer later and test it though.

ghost commented 2 years ago

Is this still an issue? OpenGL looks fine to me.

Capture

nadiaholmquist commented 2 years ago

As far as I know this is fixed. Are you using the AMD graphics driver? If so then I think we can close the issue as that's what it was affecting.

ghost commented 2 years ago

@nadiaholmquist No I'm on Nvidia.