diff options
author | Lioncash <mathew1800@gmail.com> | 2018-08-03 18:55:58 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-08-04 08:36:57 +0200 |
commit | 6030c5ce412e44ddcfe0a31c6747a017166bf33d (patch) | |
tree | 2b79fa019f07e601b5170e92e93b69788ffde949 /src/core/core.cpp | |
parent | Merge pull request #911 from lioncash/prototype (diff) | |
download | yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.tar yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.tar.gz yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.tar.bz2 yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.tar.lz yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.tar.xz yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.tar.zst yuzu-6030c5ce412e44ddcfe0a31c6747a017166bf33d.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/core.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 9824769cf..29222baba 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -18,6 +18,7 @@ #include "core/loader/loader.h" #include "core/settings.h" #include "file_sys/vfs_real.h" +#include "video_core/renderer_base.h" #include "video_core/video_core.h" namespace Core { @@ -174,7 +175,6 @@ System::ResultStatus System::Init(EmuWindow& emu_window) { cpu_cores[index] = std::make_shared<Cpu>(cpu_exclusive_monitor, cpu_barrier, index); } - gpu_core = std::make_unique<Tegra::GPU>(); telemetry_session = std::make_unique<Core::TelemetrySession>(); service_manager = std::make_shared<Service::SM::ServiceManager>(); @@ -182,10 +182,13 @@ System::ResultStatus System::Init(EmuWindow& emu_window) { Service::Init(service_manager); GDBStub::Init(); - if (!VideoCore::Init(emu_window)) { + renderer = VideoCore::CreateRenderer(emu_window); + if (!renderer->Init()) { return ResultStatus::ErrorVideoCore; } + gpu_core = std::make_unique<Tegra::GPU>(*renderer->Rasterizer()); + // Create threads for CPU cores 1-3, and build thread_to_cpu map // CPU core 0 is run on the main thread thread_to_cpu[std::this_thread::get_id()] = cpu_cores[0]; @@ -217,7 +220,7 @@ void System::Shutdown() { perf_results.frametime * 1000.0); // Shutdown emulation session - VideoCore::Shutdown(); + renderer.reset(); GDBStub::Shutdown(); Service::Shutdown(); Kernel::Shutdown(); |