summaryrefslogtreecommitdiff
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2018-02-19 17:23:05 -0500
committerGravatar GitHub2018-02-19 17:23:05 -0500
commit23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9 (patch)
tree48ce770db1df193eba107183d52f03543c81f355 /src/core/core.cpp
parentMerge pull request #203 from Subv/ensure_save_data (diff)
parentscheduler: Cleanup based on PR feedback. (diff)
downloadyuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.gz
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.tar.xz
yuzu-23fe6f5be33ecf329a95c6b0e5f7e4c75917cef9.zip
Merge pull request #202 from bunnei/scheduler-cleanup
Scheduler cleanup
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 613a98b4c..8c5dd3761 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -133,7 +133,7 @@ void System::Reschedule() {
133 } 133 }
134 134
135 reschedule_pending = false; 135 reschedule_pending = false;
136 Kernel::Reschedule(); 136 Core::System::GetInstance().Scheduler().Reschedule();
137} 137}
138 138
139System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { 139System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) {
@@ -141,19 +141,20 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) {
141 141
142 switch (Settings::values.cpu_core) { 142 switch (Settings::values.cpu_core) {
143 case Settings::CpuCore::Unicorn: 143 case Settings::CpuCore::Unicorn:
144 cpu_core = std::make_unique<ARM_Unicorn>(); 144 cpu_core = std::make_shared<ARM_Unicorn>();
145 break; 145 break;
146 case Settings::CpuCore::Dynarmic: 146 case Settings::CpuCore::Dynarmic:
147 default: 147 default:
148#ifdef ARCHITECTURE_x86_64 148#ifdef ARCHITECTURE_x86_64
149 cpu_core = std::make_unique<ARM_Dynarmic>(); 149 cpu_core = std::make_shared<ARM_Dynarmic>();
150#else 150#else
151 cpu_core = std::make_unique<ARM_Unicorn>(); 151 cpu_core = std::make_shared<ARM_Unicorn>();
152 LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); 152 LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available");
153#endif 153#endif
154 break; 154 break;
155 } 155 }
156 156
157 scheduler = std::make_unique<Kernel::Scheduler>(cpu_core.get());
157 gpu_core = std::make_unique<Tegra::GPU>(); 158 gpu_core = std::make_unique<Tegra::GPU>();
158 159
159 telemetry_session = std::make_unique<Core::TelemetrySession>(); 160 telemetry_session = std::make_unique<Core::TelemetrySession>();