diff options
Diffstat (limited to '')
| -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 fde2ccc09..242796008 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -179,16 +179,18 @@ struct System::Impl { | |||
| 179 | arp_manager.ResetAll(); | 179 | arp_manager.ResetAll(); |
| 180 | 180 | ||
| 181 | telemetry_session = std::make_unique<Core::TelemetrySession>(); | 181 | telemetry_session = std::make_unique<Core::TelemetrySession>(); |
| 182 | |||
| 183 | gpu_core = VideoCore::CreateGPU(emu_window, system); | ||
| 184 | if (!gpu_core) { | ||
| 185 | return ResultStatus::ErrorVideoCore; | ||
| 186 | } | ||
| 187 | |||
| 182 | service_manager = std::make_shared<Service::SM::ServiceManager>(kernel); | 188 | service_manager = std::make_shared<Service::SM::ServiceManager>(kernel); |
| 183 | 189 | ||
| 184 | Service::Init(service_manager, system); | 190 | Service::Init(service_manager, system); |
| 185 | GDBStub::DeferStart(); | 191 | GDBStub::DeferStart(); |
| 186 | 192 | ||
| 187 | interrupt_manager = std::make_unique<Core::Hardware::InterruptManager>(system); | 193 | interrupt_manager = std::make_unique<Core::Hardware::InterruptManager>(system); |
| 188 | gpu_core = VideoCore::CreateGPU(emu_window, system); | ||
| 189 | if (!gpu_core) { | ||
| 190 | return ResultStatus::ErrorVideoCore; | ||
| 191 | } | ||
| 192 | 194 | ||
| 193 | // Initialize time manager, which must happen after kernel is created | 195 | // Initialize time manager, which must happen after kernel is created |
| 194 | time_manager.Initialize(); | 196 | time_manager.Initialize(); |