diff options
author | bunnei <bunneidev@gmail.com> | 2020-10-30 23:16:35 -0700 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2020-11-01 01:52:38 -0700 |
commit | 7d2839d7a32fcefb66e1d5b1e0305da760c09eb0 (patch) | |
tree | e2380c7a71d1d024e38bc6e6ed9febf100285fbc /src/core/core.cpp | |
parent | e67b8678f8f261b582ff8449fff90058a9a7b901 (diff) |
core: Initialize GPU before services.
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r-- | src/core/core.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index fde2ccc096..2427960084 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -179,16 +179,18 @@ struct System::Impl { arp_manager.ResetAll(); telemetry_session = std::make_unique<Core::TelemetrySession>(); + + gpu_core = VideoCore::CreateGPU(emu_window, system); + if (!gpu_core) { + return ResultStatus::ErrorVideoCore; + } + service_manager = std::make_shared<Service::SM::ServiceManager>(kernel); Service::Init(service_manager, system); GDBStub::DeferStart(); interrupt_manager = std::make_unique<Core::Hardware::InterruptManager>(system); - gpu_core = VideoCore::CreateGPU(emu_window, system); - if (!gpu_core) { - return ResultStatus::ErrorVideoCore; - } // Initialize time manager, which must happen after kernel is created time_manager.Initialize(); |