libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.33k stars 1.84k forks source link

Hang at startup with vulkan, fullscreen, and max swapchain 1 #11087

Closed whocares0101 closed 2 years ago

whocares0101 commented 4 years ago

Description

Hang at startup with vulkan, fullscreen, and max swapchain 1. Either changing fullscreen to false or swapchain to 3 solves this problem.

Expected behavior

Normal startup.

Actual behavior

RA freezes and does not react.

Steps to reproduce the bug

Change these options in default config file video_driver = "vulkan" video_fullscreen = "true" video_max_swapchain_images = "1"

Run RA from command line retroarch\retroarch_debug.exe -v --config retroarch.cfg

Version/Commit

Environment information

Log

[INFO] RetroArch 1.8.9 (Git 3e04b158ab)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 9 3900X 12-Core Processor            
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
[INFO] Built: Jul 27 2020
[INFO] Version: 1.8.9
[INFO] Git: 3e04b158ab
[INFO] =================================================
[INFO] Initializing Dr.MingW Exception handler
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Overrides]: Redirecting save file to "D:\000\retroarch\saves\.srm".
[INFO] [Overrides]: Redirecting save state to "D:\000\retroarch\states\.state".
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: vk_w
[INFO] [Vulkan]: Detecting screen resolution 2560x1440.
[INFO] [Vulkan]: Found GPU at index 0: Radeon RX Vega
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using GPU: Radeon RX Vega
[INFO] [Vulkan]: Queue family 0 supports 1 sub-queues.
[INFO] [Vulkan]: Swapchain supports present mode: 0.
[INFO] [Vulkan]: Swapchain supports present mode: 2.
[INFO] [Vulkan]: Swapchain supports present mode: 3.
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 2560 x 1440.
[INFO] [Vulkan]: Got 1 swapchain images.
[INFO] [Vulkan]: Using resolution 2560x1440
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: no):
[INFO] [slang]:   Push Constants (Vertex: no, Fragment: no):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [Vulkan filter chain]: Not using frame history.
[INFO] [Vulkan filter chain]: Not using framebuffer feedback.
[INFO] [XInput]: Found XInput v1.4.
[INFO] [Joypad]: Found joypad driver: "xinput".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: win32
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "winmm" driver.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading history file: [D:\000\content_history.lpl].
[INFO] [Playlist]: Loading history file: [D:\000\content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [D:\000\content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [D:\000\content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [D:\000\content_favorites.lpl].
[INFO] [Vulkan]: VSync => on
[INFO] [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
[INFO] [slang]: Building pass #0 (N/A)
[INFO] [slang]: Reflection
[INFO] [slang]:   Textures:
[INFO] [slang]:      Source (#0)
[INFO] [slang]:
[INFO] [slang]:   Uniforms (Vertex: yes, Fragment: no):
[INFO] [slang]:   Push Constants (Vertex: no, Fragment: no):
[INFO] [slang]:      MVP (Offset: 0)
[INFO] [slang]:
[INFO] [slang]:   Parameters:
[INFO] [Vulkan filter chain]: Not using frame history.
[INFO] [Vulkan filter chain]: Not using framebuffer feedback.
[INFO] [Vulkan]: VSync => on
genpfault commented 1 year ago

Bumping the swapchain up from 1 to 3 fixed this on my system too, on RetroArch 1.16.0.

Though oddly it only froze if the "Make everything bigger" scaling setting in Windows was set greater than 100%. 1 swapchain image worked fine in fullscreen at 100%, no freeze.

sonninnos commented 1 year ago

Because 1 has never really worked.