Emulator Issues #9373
Depth issues on Mario Kart Double Dash
Mario Kart Double Dash!
Game ID? (right click the game in the game list, properties, info tab)
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
What's the problem? Describe what went wrong.
The game displays depth issues in several places (see attached screenshots and fifolog):
- The two characters on the cart are showing one through each others,
- Some parts of the circuit background are showing through foreground elements,
- Some parts of the circuit are not visible at all.
What steps will reproduce the problem?
- Run Mario Kart Double Dash
- Start a Time Trial on Baby Park
Other circuits are also affected, but this one is the most visible.
Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
- Tested on 4.0-8987 (which includes the FastDepth removal, but the issue existed before).
- Used to work properly on Dolphin 3.5-something (it has been broken since the GLSL rewrite).
Note that the PR "VertexShaderGen: Add a depth bias for large far values." (https://github.com/dolphin-emu/dolphin/pull/3587) fixes some of these issues – but not all of them (see attached screenshot).
What are your PC specifications? (CPU, GPU, Operating System, more)
- Macbook Pro on OS X
- Intel Core i7 2.8 GHz
- Intel Iris 1536 Mo
- 8 Go 1600 MHz DDR3
This occurs only on OS X with the OpenGL renderer. The same machine on Windows with the OpenGL rendered displays fine.
Is there any other relevant information? (e.g. logs, screenshots,
The screenshot are made with the default ForcedSlowDepth value – but anyway forcing slow depth doesn't have any effect.
#3 Updated by JMC4789 over 3 years ago
Weeeeeeeell, I could just tell you to use the software renderer, get a real graphics card, or use a better OS that has good GPU drivers.
Dolphin has no obligation to fix it and may never fix it if it compromises some other part of the emulator. Despite what I said viewpoint, I'm absolutely glad that you reported the issue; we need to know this kind of stuff in case there is an easy work-around or something.
Luckily for everyone, I don't make that decision myself and pinged Armada who did that other PR. There's also the potential that endrift could come up with a fix.
#5 Updated by kemenaran about 3 years ago
I recorded a video that demonstrates the issue (Dolphin 5.0 438, Fast-Depth enabled) : https://youtu.be/OFgExeypegg
Still looks like a driver bug anyway ¯_(ツ)_/¯
#6 Updated by ligfx over 2 years ago
Other levels with very visible problems are Wario Colosseum (the swamp water at the bottom of the level appears in front of everything), Bowser's Castle (moat appears in front of everything, props are missing), Dino Dino Jungle (the entire jungle to the right of the race course is missing), and Rainbow Road (super broken).
This is still present on master (1c9d11c0e9a6559d4bb449e7a484f5de91271dbb). Does anyone with knowledge of the graphics pipeline have any clues on where to start looking, if someone wanted to fix this?
#8 Updated by kemenaran over 2 years ago
- File MKDD - Baby Park - depth issues.dff.zip MKDD - Baby Park - depth issues.dff.zip added
- File MKDD - Baby Park - depth issues.jpg MKDD - Baby Park - depth issues.jpg added
- File MKDD - Dino jungle - depth issues.dff.zip MKDD - Dino jungle - depth issues.dff.zip added
- File MKDD - Dino jungle - depth issues.jpg MKDD - Dino jungle - depth issues.jpg added
@Armada here are two FIFO logs, of two different MK:DD tracks where the problem is visible.
In Baby Park elements of the background (like the ferris wheel) are on top of the foreground (especially the "Mario Kart" starting line banner).
In Dino Jungle an entire portion of the jungle is missing: it starts to be visible only on the left of the screen, but is missing on the right.
Logs and screenshots made with Dolphin 5.0-3831, with fast-depth enabled.
#16 Updated by ligfx about 2 years ago
Okay, I figured out what I meant.
Before #4677 (the removal of the dual-source blending fallback), this issue could be easily fixed by telling Dolphin that macOS doesn't support dual-source blending at all, causing it to use the fallback for destination alpha. I've attached a screenshot of that.