Emulator Issues #11495
Metroid Prime - Raindrop effect on visor is not rendered correctly
Metroid Prime (Gamecube)
Including a European version, and a US version with widescreen hack applied.
Game ID? (right click the game in the game list, properties, info tab)
GM8P01 (EU Region)
GM8E01 (US Region)
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
GM8P01 - b1379c44e0ebc521e18215de3e5dbeea (compressed as .gcz)
GM8E01 - 0d2ba934eec6a59ee1e155e0d039f194 (widescreen hack + trimmed ISO)
What's the problem? Describe what went wrong.
The raindrop effect on Samus' visor is not rendering correctly, where some droplets will display a portion of a black bar on the left side.
These droplets work by displaying a flipped-portion of what's drawn on screen relative to its position, this is usually noticeable by looking at droplets close to any geometry that contrasts the sky.
Issue will occur in both Direct3D 11 and OpenGL graphical backends.
Issue would occur on multiple different devices using Nvidia GTX or Intel HD integrated graphics.
Issue would occur regardless of multiple different graphic settings, including scaled EFB, EFB copies, XFB copies, internal resolution, ubershaders, texture cache accuracy, per-pixel lighting, fog, etc.
What steps will reproduce the problem?
At beginning of game in Tallon Overworld's landing site, the landing area has rainfall.
Walking forward or looking skyward will generate raindrop effects on the visor.
Raindrops will not generate when standing still, standing in water, under cover, or when looking at the ground.
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Is the issue present in the latest stable version?
Yes, also occurs in stable 5.0 release from mid-2016.
If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer
See attached screenshots from multiple devices.
Two FIFO recordings are attached in a single 7zip archive, one with Samus staring at the sky (raindrops), one with Samus submerged in water (no raindrops).
When recording the FIFO logs for the raindrops issue, the following warnings would repeat in alternating order until ignored:
FifoRecorder: Expected command to be 211 bytes long, we were given 323 bytes
FifoRecorder: Expected command to be 107 bytes long, we were given 163 bytes
Not ignoring these warnings would result in an excessively large log.
No such recording issue occurred when raindrops were not being rendered.
What are your PC specifications? (CPU, GPU, Operating System, more)
Dell XPS 15 9560:
* Intel Core i7-7700HQ @ 2.80GHz 2.80GHz
* NVIDIA GeForce GTX 1050
* Intel(R) HD Graphics 630
* Windows 10 Pro version 1803
* 16.00 GB RAM
* Intel Core m3-7y30 @ 1.00GHz 1.61GHz
* Intel(R) HD Graphics 615
* Windows 10 Home version 1803
* 8.00 GB RAM
* Intel Core i5-4690k @ 3.50 GHz 3.50 GHz
* NVIDIA GTX 770
* Intel(R) HD Graphics 4600
* 8.00 GB RAM
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
See attached savestate for Dolphin version 5.0-9213, in five-part 7zip archive.
- Priority changed from Normal to Low
- Status changed from New to Accepted
I've seen this before but couldn't bother making a report, so I'm just going to mark this as accepted right away!
That said, there is a high likelihood that this is EFB scaling related. That should be the first thing to check.
#2 Updated by Rupeeclock 4 months ago
Thanks, I've also just logged the following issue which is a device specific crash for Intel HD 615 graphics running Direct3D 11 in the same conditions.
I suspect that this crash is possibly related to this graphical issue, as the errors refer to DXTexture or Map failures in \core\videobackends\d3d\dxtexture.cpp
Most other graphics adapters or backends probably handle the error silently.
#6 Updated by Rupeeclock 4 months ago
I checked it out further and saw that the tev_fixes_new branch was merged in with 4.0-1192.
Tested Super Mario Sunshine on 5.0-9213 and the bubbles were still rendering correctly.
Then checked it in 4.0-1146, a build available prior to tev fixes, and the bubbles did not render correctly as expected.
Then checked Metroid Prime's raindrops on visor, and there was no rendering issue.
I then checked it again with 4.0-1192, but this also did not have any rendering issue.
These are also tested using Direct3D graphical backend.
It doesn't look like this problem was caused by tev_fixes, but also wasn't an issue prior to it.