Project

General

Profile

Emulator Issues #6640

Skyward Sword off by one pixel glitch in OpenGL

Added by velocity7 almost 6 years ago.

Status:
Invalid
Priority:
Normal
Assignee:
-
Category:
GFX
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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?

  1. Start the game with IR set to "Auto (Window Size)".
  2. 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.

History

#1 Updated by JMC4789 almost 6 years ago

  • Category set to gfx

#2 Updated by JMC4789 almost 6 years ago

  • Status changed from New to Accepted

Actually, I've seen this glitch before. Accepting

#3 Updated by kostamarino almost 6 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.

#4 Updated by MayImilae almost 6 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".

#5 Updated by degasus almost 6 years ago

more likely off by half pixel in util shader, so SSAA does matter here...

#6 Updated by ninja.assassin almost 6 years ago

I have this exact issue with OpenGL, with all settings. Looks exactly like the first screenshot.

#7 Updated by degasus over 5 years ago

Is this issue still valid after the ogl-tex2d merge?

#8 Updated by velocity7 over 5 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.

#9 Updated by JMC4789 over 5 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.

#10 Updated by degasus over 5 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.

#11 Updated by JMC4789 over 5 years ago

I will retest and either fixed or invalid this.

#12 Updated by JMC4789 over 5 years ago

  • Status changed from Accepted to Fixed

Yeah, it's fixed.

#13 Updated by MayImilae over 5 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.

#14 Updated by phire over 5 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.

Also available in: Atom PDF