diff options
| author | 2018-03-27 10:22:08 -0400 | |
|---|---|---|
| committer | 2018-03-27 10:22:08 -0400 | |
| commit | a5e9745380bf9e247d34c42009cd9eb66f4e97a8 (patch) | |
| tree | 3c31fcb4375793542daff053665be555c2dfaa7f /src/core | |
| parent | Merge pull request #282 from N00byKing/patch-2 (diff) | |
| parent | settings: Remove unused CpuCore class. (diff) | |
| download | yuzu-a5e9745380bf9e247d34c42009cd9eb66f4e97a8.tar.gz yuzu-a5e9745380bf9e247d34c42009cd9eb66f4e97a8.tar.xz yuzu-a5e9745380bf9e247d34c42009cd9eb66f4e97a8.zip | |
Merge pull request #284 from bunnei/docked-config
Add config for "Docked" mode and various settings cleanup
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/core.cpp | 10 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 8 | ||||
| -rw-r--r-- | src/core/settings.h | 10 | ||||
| -rw-r--r-- | src/core/telemetry_session.cpp | 5 |
4 files changed, 16 insertions, 17 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index d55621de8..11654d4da 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -148,19 +148,15 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { | |||
| 148 | 148 | ||
| 149 | current_process = Kernel::Process::Create("main"); | 149 | current_process = Kernel::Process::Create("main"); |
| 150 | 150 | ||
| 151 | switch (Settings::values.cpu_core) { | 151 | if (Settings::values.use_cpu_jit) { |
| 152 | case Settings::CpuCore::Unicorn: | ||
| 153 | cpu_core = std::make_shared<ARM_Unicorn>(); | ||
| 154 | break; | ||
| 155 | case Settings::CpuCore::Dynarmic: | ||
| 156 | default: | ||
| 157 | #ifdef ARCHITECTURE_x86_64 | 152 | #ifdef ARCHITECTURE_x86_64 |
| 158 | cpu_core = std::make_shared<ARM_Dynarmic>(); | 153 | cpu_core = std::make_shared<ARM_Dynarmic>(); |
| 159 | #else | 154 | #else |
| 160 | cpu_core = std::make_shared<ARM_Unicorn>(); | 155 | cpu_core = std::make_shared<ARM_Unicorn>(); |
| 161 | LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); | 156 | LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); |
| 162 | #endif | 157 | #endif |
| 163 | break; | 158 | } else { |
| 159 | cpu_core = std::make_shared<ARM_Unicorn>(); | ||
| 164 | } | 160 | } |
| 165 | 161 | ||
| 166 | gpu_core = std::make_unique<Tegra::GPU>(); | 162 | gpu_core = std::make_unique<Tegra::GPU>(); |
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index d9f003ed4..bab338205 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include "core/hle/service/apm/apm.h" | 12 | #include "core/hle/service/apm/apm.h" |
| 13 | #include "core/hle/service/filesystem/filesystem.h" | 13 | #include "core/hle/service/filesystem/filesystem.h" |
| 14 | #include "core/hle/service/nvflinger/nvflinger.h" | 14 | #include "core/hle/service/nvflinger/nvflinger.h" |
| 15 | #include "core/settings.h" | ||
| 15 | 16 | ||
| 16 | namespace Service { | 17 | namespace Service { |
| 17 | namespace AM { | 18 | namespace AM { |
| @@ -241,17 +242,20 @@ void ICommonStateGetter::GetCurrentFocusState(Kernel::HLERequestContext& ctx) { | |||
| 241 | } | 242 | } |
| 242 | 243 | ||
| 243 | void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { | 244 | void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { |
| 245 | const bool use_docked_mode{Settings::values.use_docked_mode}; | ||
| 244 | IPC::ResponseBuilder rb{ctx, 3}; | 246 | IPC::ResponseBuilder rb{ctx, 3}; |
| 245 | rb.Push(RESULT_SUCCESS); | 247 | rb.Push(RESULT_SUCCESS); |
| 246 | rb.Push(static_cast<u8>(OperationMode::Handheld)); | 248 | rb.Push(static_cast<u8>(use_docked_mode ? OperationMode::Docked : OperationMode::Handheld)); |
| 247 | 249 | ||
| 248 | LOG_WARNING(Service_AM, "(STUBBED) called"); | 250 | LOG_WARNING(Service_AM, "(STUBBED) called"); |
| 249 | } | 251 | } |
| 250 | 252 | ||
| 251 | void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { | 253 | void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { |
| 254 | const bool use_docked_mode{Settings::values.use_docked_mode}; | ||
| 252 | IPC::ResponseBuilder rb{ctx, 3}; | 255 | IPC::ResponseBuilder rb{ctx, 3}; |
| 253 | rb.Push(RESULT_SUCCESS); | 256 | rb.Push(RESULT_SUCCESS); |
| 254 | rb.Push(static_cast<u32>(APM::PerformanceMode::Handheld)); | 257 | rb.Push(static_cast<u32>(use_docked_mode ? APM::PerformanceMode::Docked |
| 258 | : APM::PerformanceMode::Handheld)); | ||
| 255 | 259 | ||
| 256 | LOG_WARNING(Service_AM, "(STUBBED) called"); | 260 | LOG_WARNING(Service_AM, "(STUBBED) called"); |
| 257 | } | 261 | } |
diff --git a/src/core/settings.h b/src/core/settings.h index 6f8cd0f03..2c94caab7 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -105,12 +105,10 @@ static const std::array<const char*, NumAnalogs> mapping = {{ | |||
| 105 | }}; | 105 | }}; |
| 106 | } // namespace NativeAnalog | 106 | } // namespace NativeAnalog |
| 107 | 107 | ||
| 108 | enum class CpuCore { | ||
| 109 | Unicorn, | ||
| 110 | Dynarmic, | ||
| 111 | }; | ||
| 112 | |||
| 113 | struct Values { | 108 | struct Values { |
| 109 | // System | ||
| 110 | bool use_docked_mode; | ||
| 111 | |||
| 114 | // Controls | 112 | // Controls |
| 115 | std::array<std::string, NativeButton::NumButtons> buttons; | 113 | std::array<std::string, NativeButton::NumButtons> buttons; |
| 116 | std::array<std::string, NativeAnalog::NumAnalogs> analogs; | 114 | std::array<std::string, NativeAnalog::NumAnalogs> analogs; |
| @@ -118,7 +116,7 @@ struct Values { | |||
| 118 | std::string touch_device; | 116 | std::string touch_device; |
| 119 | 117 | ||
| 120 | // Core | 118 | // Core |
| 121 | CpuCore cpu_core; | 119 | bool use_cpu_jit; |
| 122 | 120 | ||
| 123 | // Data Storage | 121 | // Data Storage |
| 124 | bool use_virtual_sd; | 122 | bool use_virtual_sd; |
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index bea05a09b..b3ffcd443 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp | |||
| @@ -154,12 +154,13 @@ TelemetrySession::TelemetrySession() { | |||
| 154 | #endif | 154 | #endif |
| 155 | 155 | ||
| 156 | // Log user configuration information | 156 | // Log user configuration information |
| 157 | AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore", | 157 | AddField(Telemetry::FieldType::UserConfig, "Core_UseCpuJit", Settings::values.use_cpu_jit); |
| 158 | static_cast<int>(Settings::values.cpu_core)); | ||
| 159 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", | 158 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", |
| 160 | Settings::values.resolution_factor); | 159 | Settings::values.resolution_factor); |
| 161 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", | 160 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", |
| 162 | Settings::values.toggle_framelimit); | 161 | Settings::values.toggle_framelimit); |
| 162 | AddField(Telemetry::FieldType::UserConfig, "System_UseDockedMode", | ||
| 163 | Settings::values.use_docked_mode); | ||
| 163 | } | 164 | } |
| 164 | 165 | ||
| 165 | TelemetrySession::~TelemetrySession() { | 166 | TelemetrySession::~TelemetrySession() { |