core: Initialize GPU before services.

This commit is contained in:
bunnei 2020-10-30 23:16:35 -07:00
parent e67b8678f8
commit 7d2839d7a3
1 changed files with 6 additions and 4 deletions

View File

@ -179,16 +179,18 @@ struct System::Impl {
arp_manager.ResetAll(); arp_manager.ResetAll();
telemetry_session = std::make_unique<Core::TelemetrySession>(); 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_manager = std::make_shared<Service::SM::ServiceManager>(kernel);
Service::Init(service_manager, system); Service::Init(service_manager, system);
GDBStub::DeferStart(); GDBStub::DeferStart();
interrupt_manager = std::make_unique<Core::Hardware::InterruptManager>(system); 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 // Initialize time manager, which must happen after kernel is created
time_manager.Initialize(); time_manager.Initialize();