Project

General

Profile

Emulator Issues #11639

EFB access in OpenGL doesn't span full screen

Added by Miksel12 about 2 years ago. Updated about 2 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

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

Description

Game Name?

Super mario galaxy

Game ID? (right click the game in the game list, properties, info tab)

RMGE01

MD5 Hash?

6a771005daf9476cd45b606554bdaefa

What's the problem? Describe what went wrong.

When shooting star bits in the middle of the screen with the OpenGL backend, the star bits will act normal. But when you shoot them near the edge of the screen they act like EFB access has been disabled. The same can be seen when looking at the sun at different angles in SMG. When looking straight at the sun, it acts normal but when the sun is at the top of the screen the effect doesn't work. Other backends are not affected by this.

Is the issue present in the latest development version?

Yes, 9804

Is the issue present in the latest stable version?

No.

If the issue isn't present in the latest stable version, which is the first broken version?

The issue was introduced in 5.0-9737.Probably in this commit: https://github.com/dolphin-emu/dolphin/pull/7838/commits/6bc4bfd26af96de8642e75bbf644722c44baeb7b

Pretty sure the issue is because OpenGL uses lower left as origin and somewhere in the framebuffermanager, that isn't accounted for/not correctly used.

History

#1 Updated by JMC4789 about 2 years ago

  • Regression changed from No to Yes
  • Assignee set to Stenzek
  • Status changed from New to Accepted

That's happened a couple of times now. damn you opengl.

#2 Updated by Stenzek about 2 years ago

  • Fixed in set to 5.0-9815
  • Status changed from Accepted to Fixed

Pretty sure this was the same issue which https://github.com/dolphin-emu/dolphin/pull/7934 fixed. Please update if the bug is still occurring.

#3 Updated by Miksel12 about 2 years ago

Stenzek wrote:

Pretty sure this was the same issue which https://github.com/dolphin-emu/dolphin/pull/7934 fixed. Please update if the bug is still occurring.

The issue still occurs. Looking at the code I noticed how y is not flipped for OpenGL when the CreatePokeVertices function is called: https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/FramebufferManager.cpp#L722
Maybe that's the issue?

#4 Updated by Stenzek about 2 years ago

As far as I'm aware, SMG doesn't use pokes, only peeks, so it wouldn't be causing this issue specifically. Also, the lower-left origin is window coordinates, not the clip-space coordinates (which is what CreatePokeVertices() generates).

#5 Updated by Stenzek about 2 years ago

  • Fixed in deleted (5.0-9815)
  • Status changed from Fixed to Accepted

#6 Updated by JMC4789 about 2 years ago

Try using 1x IR, I don't get the glitch at 1x IR. I'll try higher internal resolutions later.

#7 Updated by Stenzek about 2 years ago

  • Status changed from Accepted to Fix pending

Only occurs with MSAA on as far as we can tell. Fix is at https://github.com/dolphin-emu/dolphin/pull/7946

#8 Updated by JosJuice about 2 years ago

  • Fixed in set to 5.0-9861
  • Status changed from Fix pending to Fixed

Also available in: Atom PDF