summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar bunnei2018-03-27 10:22:08 -0400
committerGravatar GitHub2018-03-27 10:22:08 -0400
commita5e9745380bf9e247d34c42009cd9eb66f4e97a8 (patch)
tree3c31fcb4375793542daff053665be555c2dfaa7f /src/core
parentMerge pull request #282 from N00byKing/patch-2 (diff)
parentsettings: Remove unused CpuCore class. (diff)
downloadyuzu-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.cpp10
-rw-r--r--src/core/hle/service/am/am.cpp8
-rw-r--r--src/core/settings.h10
-rw-r--r--src/core/telemetry_session.cpp5
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
16namespace Service { 17namespace Service {
17namespace AM { 18namespace AM {
@@ -241,17 +242,20 @@ void ICommonStateGetter::GetCurrentFocusState(Kernel::HLERequestContext& ctx) {
241} 242}
242 243
243void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { 244void 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
251void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { 253void 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
108enum class CpuCore {
109 Unicorn,
110 Dynarmic,
111};
112
113struct Values { 108struct 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
165TelemetrySession::~TelemetrySession() { 166TelemetrySession::~TelemetrySession() {