dolphin-emulator/Source/Core
Dentomologist 91f7b776ca GraphicsWindow: Fix crash when opening during emulation startup
Fix a crash when opening the Graphics window for the first time during
emulation startup when the backend is Vulkan, D3D11, or D3D12.

Don't call PopulateBackendInfo() from the Host thread when the core is
starting up. First, the function has already been called in Core::Init()
so we don't need to again. More importantly, PopulateBackendInfo() calls
g_video_backend->InitBackendInfo(), and the Vulkan and D3D
implementations of those functions load and then unload libraries (and
their associated function pointers) which are potentially in use by
other threads.

This crash was reliably reproducible with the following steps:
1) Select an affected backend.
2) Enable "Compile Shaders Before Starting"
3) Delete the cached shaders (but not the .uidcache file) for the game
   you're testing.
4) Close and reopen Dolphin.
5) Start the game.
6) While the game is still booting or compiling shaders, open the
   Graphics window for the first time in that Dolphin session.

Fixes https://bugs.dolphin-emu.org/issues/13634.
2024-09-26 17:12:26 -07:00
..
AudioCommon Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
Common Merge pull request #13031 from parona-source/libfmt-11 2024-08-31 15:34:48 +02:00
Core GeckoCode: Remove Dead Code 2024-09-21 15:33:40 -07:00
DiscIO DiscIO: Fix a typo in an RVZPack comment 2024-09-08 12:38:10 +02:00
DolphinNoGUI Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
DolphinQt Merge pull request #13053 from Dentomologist/texture_dumping_show_osd_on_startup_and_toggle 2024-09-21 15:17:54 -04:00
DolphinTool Add generation of rcheevos hash to DolphinTool 2024-09-15 15:52:04 +01:00
InputCommon Remove redundant semicolons 2024-08-20 14:59:54 +02:00
MacUpdater MacUpdater: Post-process the bundle 2024-08-01 22:06:55 -04:00
UICommon Merge pull request #13010 from OatmealDome/goodbye-steam 2024-08-16 20:03:38 +01:00
UpdaterCommon Use 'contains' method 2024-08-14 22:18:28 +02:00
VideoBackends Merge pull request #13031 from parona-source/libfmt-11 2024-08-31 15:34:48 +02:00
VideoCommon GraphicsWindow: Fix crash when opening during emulation startup 2024-09-26 17:12:26 -07:00
WinUpdater Remove redundant semicolons 2024-08-20 14:59:54 +02:00
CMakeLists.txt CMakeLists: Embed macOS Updater app inside DolphinQt 2024-08-01 22:06:55 -04:00
DolphinLib.ARM64.props
DolphinLib.props Cached Interpreter 2.0 2024-07-23 14:06:21 -07:00
DolphinLib.vcxproj Externals: Convert minizip-ng To Submodule 2024-05-03 12:43:33 -07:00
DolphinLib.vcxproj.user
DolphinLib.x64.props