Emulator Issues #6640
closedSkyward Sword off by one pixel glitch in OpenGL
0%
Description
Game Name? The Legend of Zelda: Skyward Sword
Game ID? SOUE01
What went wrong?¶
Black line appears when IR is set to "Auto (Window Size)" in OpenGL backend, with a part of the image just below the black line being shifted one pixel down. Also seems to affect things like the 4xSSAA mode.
What did you expect to happen instead? Should not be appearing at all. And even if SSAA isn't working correctly, the weird "effect" it's generating should be covering the whole screen, not just leaving that box alone. That, or correct SSAA should have covered the whole screen.
What steps will reproduce the problem?¶
- Start the game with IR set to "Auto (Window Size)".
- Go in-game. The black line will appear at title screen or while exploring the world.
Which versions of Dolphin did you test on? 3.5-607, 3.5-1154, 4.0
Which version of Dolphin used to work? N/A
What are your PC specifications (example: Operating System, CPU and GPU)?¶
Windows 7 x64 Ultimate
Intel Core i7-2600K @ 4.4 GHz
16 GB Kingston RAM
GeForce GTX 670 2GB
64-bit Dolphin
Any other relevant information (e.g. logs, screenshots, configuration
files)
http://i.imgur.com/0zl2WVV.jpg
http://i.imgur.com/bTQHH69.jpg (when SSAA is enabled)
Side-notes: Auto-scaling using a scalar factor of 640x528 makes the black-line issue go away, but the SSAA glitch above still exists. Direct3D9 and Direct3D11 do not have this issue regardless of the setting for IR.
Updated by JMC4789 about 11 years ago
- Status changed from New to Accepted
Actually, I've seen this glitch before. Accepting
Updated by kostamarino about 11 years ago
This is a 2 in 1 issue? About the line, it is only fixed by enforcing integral value of IR, which is also the correct fix about it, fractional settings do introduce graphic glitches at times and it is well known. But performance will also probably go a bit down unless you got a really good gpu to compensate. It is an easy fix to implement in the ini, this already demanding game will become a bit more demanding though. For the second part of this issue someone else might be able to help.
Updated by MayImilae about 11 years ago
I created issue 6688 specifically for the SSAA problem in Skyward Sword. It has more information, reproduction, on and on. Since that SSAA bug occurs in all internal resolutions I think it belongs in it's own issue, and this one should be just the "off by one pixel glitch".
Updated by degasus about 11 years ago
more likely off by half pixel in util shader, so SSAA does matter here...
Updated by ninja.assassin about 11 years ago
I have this exact issue with OpenGL, with all settings. Looks exactly like the first screenshot.
Updated by degasus about 11 years ago
Is this issue still valid after the ogl-tex2d merge?
Updated by velocity7 about 11 years ago
SSAA is working properly now, but the black line seems to have taken some different form, now changing as either a vertical or horizontal line as the window is scaled.
Updated by JMC4789 almost 11 years ago
Isn't auto-ir known to be glitchy? I don't get how this is an issue. Then again, Degasus knows what he's talking about, so I won't do anything stupid and invalid it :).
Regardless, I cannot reproduce any glitches in this without using Auto-IR. 1x - 4x all seem fine.
Updated by degasus almost 11 years ago
"Degasus knows what he's talking about" -- Nope, fractional IR is broken by design.
The SSAA issue was valid (and now fixed), but the original issue here with fractional IR is invalid imo.
Updated by JMC4789 almost 11 years ago
I will retest and either fixed or invalid this.
Updated by MayImilae almost 11 years ago
- Status changed from Fixed to Accepted
Tested in 4.0-609. Still there exactly as it was before.
If you guys want to change it to invalid, as degasus was saying before, then go ahead.
Updated by phire almost 11 years ago
- Status changed from Accepted to Invalid
While I was reviewing dff files of other skyward sword glitches, I noticed why this glitch occurs.
Skyward sword renders the level geometry, then it takes a copy of the entire EFB and clears a small section of the EFB (right below where that line shows up) to use as a buffer to render a 1/8 sized version of the previous EFB copy (aka, a blur effect) which is later copied out to be used as a bloom effect.
Then the first efb copy is copied back in to the area which was destroyed.
Wild guess, but the coordinates of the quad which restores the efb are only accurate as they need to be to work at 1xIR, and fractional IRs can leave a gap which sticks with the black colour from the clear.
I see no way to fix this kind of issue without adding another hack.
As Fractional IRs are already a complete hack, I think I'll go ahead mark this as invalid.