Browse Source

[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>
remotes/1785252804720323840/master
lizzie 4 days ago
committed by crueter
parent
commit
f561a10bd8
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 8
      src/core/core.cpp

8
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) {

Loading…
Cancel
Save