hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.

Home Page:https://www.ppsspp.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Linux] [Vulkan] Toggle fullscreen doesn't update display properly

vnctdj opened this issue · comments

Display does update properly when resizing manually though.

I've recorded a video in order to understand the issue easily:
https://www.youtube.com/watch?v=Eh1DEtKflbQ

I don't know if it's relevant, but this error appears in the log when toggling off:
E: buffer.cpp:157: FlushSocket failed

OS: Debian GNU/Linux buster/sid x86_64
Kernel: 4.19.0-4-amd64
WM: i3
CPU: Intel i7-6700HQ (8) @ 3.500GHz
GPU: NVIDIA GeForce GTX 960M
PPSSPP: v1.8.0-102-g057e720b2

Hm, something must be wrong with the timing of the resize event. I think we change the flags to tell the window to be fullscreen or not, and maybe we don't react to the event when it actually happens and tell Vulkan to resize?

Maybe this is causing issues for GL on some platforms too.

-[Unknown]

commented

Probably at least partially a duplicate of issue #11625.

Edit: Just to be clear I can't reproduce this issue on the master with GL or vulkan, but I am using radv and not nvidia.

I think the relevant piece of log is:
W: VulkanRenderManager.cpp:1036: VK_ERROR_OUT_OF_DATE_KHR returned - not presenting
(PPSSPP v1.9.3-1058-gaf7995c55)

Also I found that toggling fullscreen while not rendering the game's frames circumvents the issue:
https://www.youtube.com/watch?v=H1rHD-MYH6Y

OK so now the menu seems to behave correctly but not the game itself? Interesting, will try to repro.

Yeah, toggling fullscreen using a shortcut key is still broken. I'll dig into this.

Try again on master.

On Intel there's an issue where alt-tabbing away during fullscreen will crash. This appears to be a driver bug.

That's fixed! Thanks a lot Henrik!

Edit: I can't change the milestone.