diff options
| author | 2018-01-12 16:06:30 +0000 | |
|---|---|---|
| committer | 2018-01-12 17:48:52 -0500 | |
| commit | b628192bf27c871af3ecbf8982b4a13a78fd70c4 (patch) | |
| tree | a5d66996675378584d2324c48c8e3ef4c8f33a74 /src/core | |
| parent | arm_dynarmic: Implement core (diff) | |
| download | yuzu-b628192bf27c871af3ecbf8982b4a13a78fd70c4.tar.gz yuzu-b628192bf27c871af3ecbf8982b4a13a78fd70c4.tar.xz yuzu-b628192bf27c871af3ecbf8982b4a13a78fd70c4.zip | |
configuration: Add cpu_core configuration option
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/core.cpp | 12 | ||||
| -rw-r--r-- | src/core/settings.h | 7 | ||||
| -rw-r--r-- | src/core/telemetry_session.cpp | 3 |
3 files changed, 18 insertions, 4 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 0240f946b..e5f299f26 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -140,8 +140,16 @@ void System::Reschedule() { | |||
| 140 | System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { | 140 | System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { |
| 141 | LOG_DEBUG(HW_Memory, "initialized OK"); | 141 | LOG_DEBUG(HW_Memory, "initialized OK"); |
| 142 | 142 | ||
| 143 | // TODO: Configuration option | 143 | switch (Settings::values.cpu_core) { |
| 144 | cpu_core = std::make_unique<ARM_Dynarmic>(); | 144 | case Settings::CpuCore::Unicorn: |
| 145 | cpu_core = std::make_unique<ARM_Unicorn>(); | ||
| 146 | break; | ||
| 147 | case Settings::CpuCore::Dynarmic: | ||
| 148 | default: | ||
| 149 | cpu_core = std::make_unique<ARM_Dynarmic>(); | ||
| 150 | break; | ||
| 151 | } | ||
| 152 | |||
| 145 | telemetry_session = std::make_unique<Core::TelemetrySession>(); | 153 | telemetry_session = std::make_unique<Core::TelemetrySession>(); |
| 146 | 154 | ||
| 147 | CoreTiming::Init(); | 155 | CoreTiming::Init(); |
diff --git a/src/core/settings.h b/src/core/settings.h index 912b2c885..ebf072cff 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -72,6 +72,11 @@ static const std::array<const char*, NumAnalogs> mapping = {{ | |||
| 72 | }}; | 72 | }}; |
| 73 | } // namespace NativeAnalog | 73 | } // namespace NativeAnalog |
| 74 | 74 | ||
| 75 | enum class CpuCore { | ||
| 76 | Unicorn, | ||
| 77 | Dynarmic, | ||
| 78 | }; | ||
| 79 | |||
| 75 | struct Values { | 80 | struct Values { |
| 76 | // CheckNew3DS | 81 | // CheckNew3DS |
| 77 | bool is_new_3ds; | 82 | bool is_new_3ds; |
| @@ -83,7 +88,7 @@ struct Values { | |||
| 83 | std::string touch_device; | 88 | std::string touch_device; |
| 84 | 89 | ||
| 85 | // Core | 90 | // Core |
| 86 | bool use_cpu_jit; | 91 | CpuCore cpu_core; |
| 87 | 92 | ||
| 88 | // Data Storage | 93 | // Data Storage |
| 89 | bool use_virtual_sd; | 94 | bool use_virtual_sd; |
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index ca517ff44..f9725b590 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp | |||
| @@ -156,7 +156,8 @@ TelemetrySession::TelemetrySession() { | |||
| 156 | // Log user configuration information | 156 | // Log user configuration information |
| 157 | AddField(Telemetry::FieldType::UserConfig, "Audio_EnableAudioStretching", | 157 | AddField(Telemetry::FieldType::UserConfig, "Audio_EnableAudioStretching", |
| 158 | Settings::values.enable_audio_stretching); | 158 | Settings::values.enable_audio_stretching); |
| 159 | AddField(Telemetry::FieldType::UserConfig, "Core_UseCpuJit", Settings::values.use_cpu_jit); | 159 | AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore", |
| 160 | static_cast<int>(Settings::values.cpu_core)); | ||
| 160 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", | 161 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", |
| 161 | Settings::values.resolution_factor); | 162 | Settings::values.resolution_factor); |
| 162 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", | 163 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", |