diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-07-25 23:34:22 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-07-25 23:34:22 +0200 |
| commit | f561a10bd86431faa7684300b60b76ff4a4433a1 (patch) | |
| tree | 15d1834e9c1c99eebcb95b2bb0a362e02c778e1a | |
| parent | 6272f8ab240f9a4b124ec088c4a72c3ce2c5e2b1 (diff) | |
[core/core] GPU initialize before CPU (#4228)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.
-------------------
should fix issue where vulkan dies trying to do locks or whatever, since CPU will infinitely stall or whatever
tl;dr: dynarmic is getting too good and outpacing initialization
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4228
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
| -rw-r--r-- | src/core/core.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 8b9133f963..3ff42cf6f5 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -264,9 +264,7 @@ struct System::Impl { // Setting changes may require a full system reinitialization (e.g., disabling multicore). ReinitializeIfNecessary(system); - kernel.Initialize(); - cpu_manager.Initialize(); } SystemResultStatus SetupForApplicationProcess(System& system, Frontend::EmuWindow& emu_window) { @@ -293,9 +291,7 @@ struct System::Impl { return SystemResultStatus::Success; } - SystemResultStatus Load(System& system, Frontend::EmuWindow& emu_window, - const std::string& filepath, - Service::AM::FrontendAppletParameters& params) { + SystemResultStatus Load(System& system, Frontend::EmuWindow& emu_window, const std::string& filepath, Service::AM::FrontendAppletParameters& params) { InitializeKernel(system); const auto file = GetGameFileFromPath(virtual_filesystem, filepath); @@ -342,6 +338,8 @@ struct System::Impl { ShutdownMainProcess(); return init_result; } + // Waiting for GPU before initializing CPU + cpu_manager.Initialize(); // Initialize cheat engine if (cheat_engine) { |
