aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-07-25 23:34:22 +0200
committercrueter <crueter@eden-emu.dev>2026-07-25 23:34:22 +0200
commitf561a10bd86431faa7684300b60b76ff4a4433a1 (patch)
tree15d1834e9c1c99eebcb95b2bb0a362e02c778e1a
parent6272f8ab240f9a4b124ec088c4a72c3ce2c5e2b1 (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.cpp8
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) {