dolphin/Source
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
..
Android Merge pull request #12863 from JosJuice/android-gamepad-sensors 2024-08-18 13:48:30 +01:00
Core GraphicsWindow: Fix crash when opening during emulation startup 2024-09-26 17:12:26 -07:00
DSPSpy DSPSpy: Add st3 BLOOP{,I} tests. 2022-09-30 11:07:41 +00:00
DSPTool TAS Input: Enable hotkeys and controller input when Input has focus 2024-05-31 15:14:44 -07:00
PCH bump minimum VS version to 17.6 2023-05-16 20:21:36 -07:00
UnitTests Add support for libfmt-11 2024-08-22 16:54:35 +03:00
VSProps Migrate Vulkan-Headers to submodule and update to v1.3.288 2024-06-22 08:03:20 +02:00
.clang-format Replace Cpp11 (A Deprecated alias for Latest) in .clang-format 2022-06-22 08:57:32 +10:00
CMakeLists.txt CMakeLists: Add Clang's Specific WShadow Diagnostics 2024-03-09 15:34:39 -08:00
dolphin-emu.sln Externals: Convert minizip-ng To Submodule 2024-05-03 12:43:33 -07:00