Project

General

Profile

Emulator Issues #11883

Corruption while using VSync in exclusive fullscreen (Vulkan)

Added by Anuskuss 26 days ago. Updated 16 days ago.

Status:
Questionable
Priority:
Normal
Assignee:
-
% 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

An interesting looking black stripe slowly climbs down the screen (in any game) only when using Vulkan + Fullscreen + VSync. If you change any of those parameters, it doesn't happen anymore.

Preview (first 5 secs; continues until the end of the screen):
Corruption

This appeared after updating my Intel graphics driver from 26.20.100.7212 to the latest 26.20.100.7323. Rolling back the driver fixes this. I almost didn't feel like submitting this issue since I assumend it's just a driver bug and will probably get fixed in the next release, but this does not occur in my other emulators with the same configuration.

dolphin-preview.gif (4.98 MB) dolphin-preview.gif Corruption Anuskuss, 10/22/2019 08:36 PM
7603

History

#1 Updated by JMC4789 26 days ago

  • Status changed from New to Questionable

It's likely a driver issue then and unrelated to anything we're doing.

#2 Updated by Anuskuss 26 days ago

Probably; it's just weird that it doesn't happen in other emulators. Another thing to note is that when I press my fastforward hotkey, the screen flickers (and the framebuffer gets cleared?) before actually fastforwarding. After I release the hotkey, it flickers again before returning to normal speed. This too does not happen in my other Vulkan capable emulators/on other backends in Dolphin, where it just fastforwards without flickering. Maybe Dolphin/QT is doing something funny with how the framebuffer gets initialized?

#3 Updated by JosJuice 26 days ago

The fast-forwarding thing could be because Dolphin temporarily disables vsync while fast forwarding, so that the framerate of the emulated game won't be locked to the framerate of your monitor.

#4 Updated by JMC4789 26 days ago

You're using Intel + Vulkan drivers, which are sketchy at best... if the problem persists across a few more driver updates, maybe then we should get concerned.

#5 Updated by Anuskuss 25 days ago

JosJuice wrote:

The fast-forwarding thing could be because Dolphin temporarily disables vsync while fast forwarding, so that the framerate of the emulated game won't be locked to the framerate of your monitor.

Makes sense, but why doesn't it happen in the other backends? I thought after the great unification that every backend was basically the same. That points to a driver problem then, right? But it does not happen in PPSSPP with Vulkan+Fullscreen+VSync.

JMC4789 wrote:

You're using Intel + Vulkan drivers, which are sketchy at best... if the problem persists across a few more driver updates, maybe then we should get concerned.

Yeah, I'd say let's keep this open until the next updates drops and if the problem is still there, we can discuss this again.

Btw, does any of you guys have an Intel processor? If so, can you test if this happens on your iGPU as well? Could this be a Windows 10 issue? Wouldn't be the first time...

#6 Updated by Anuskuss 16 days ago

VSync issue fixed by 26.20.100.7372. The only thing remaining is the screen flicker before/after fastforwarding which again only happens in Dolphin+Vulkan+Fullscreen+Vsync, PPSSPP+Vulkan+Fullscreen+Vsync works just fine. If you don't care about figuring this out I won't care either so let's wait and hope this gets fixed when Intel implements VK_EXT_full_screen_exclusive.

Also, after updating I found a race condition which I don't think has happend before. When I quit emulation I sometimes (very rarely) get Failed to grab image from swap chain. I can't say if this happens in older versions / other backends besides Vulan, but either way, this should never happen (after deliberately quitting).

#7 Updated by Stenzek 16 days ago

The "missed" frame when fast forwarding is because the swap chain has to be recreated to switch the present mode. Not much we can do about that I don't think.

#8 Updated by Anuskuss 16 days ago

So I'm assuming this is a limitation of Vulkan then, right? You were then one to implement exclusive fullscreen in Vulkan; does VK_EXT_full_screen_exclusive change that behaviour for you or is this strictly an Intel thing?
Also I'm just spitballing here but do you know why this does not happen in PPSSPP?

Also available in: Atom PDF