From 12b05c719eac7ed289a1d3d2acfb94704326fac1 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 Mar 2018 22:24:31 -0400 Subject: config: Add setting for whether the system is docked or not. --- src/core/hle/service/am/am.cpp | 8 ++++++-- src/core/settings.h | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index d9f003ed4..07522e730 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -12,6 +12,7 @@ #include "core/hle/service/apm/apm.h" #include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/nvflinger/nvflinger.h" +#include "core/settings.h" namespace Service { namespace AM { @@ -241,17 +242,20 @@ void ICommonStateGetter::GetCurrentFocusState(Kernel::HLERequestContext& ctx) { } void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { + const bool is_docked{Settings::values.is_docked}; IPC::ResponseBuilder rb{ctx, 3}; rb.Push(RESULT_SUCCESS); - rb.Push(static_cast(OperationMode::Handheld)); + rb.Push(static_cast(is_docked ? OperationMode::Docked : OperationMode::Handheld)); LOG_WARNING(Service_AM, "(STUBBED) called"); } void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { + const bool is_docked{Settings::values.is_docked}; IPC::ResponseBuilder rb{ctx, 3}; rb.Push(RESULT_SUCCESS); - rb.Push(static_cast(APM::PerformanceMode::Handheld)); + rb.Push(static_cast(is_docked ? APM::PerformanceMode::Docked + : APM::PerformanceMode::Handheld)); LOG_WARNING(Service_AM, "(STUBBED) called"); } diff --git a/src/core/settings.h b/src/core/settings.h index 6f8cd0f03..002d25dbd 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -111,6 +111,9 @@ enum class CpuCore { }; struct Values { + // System + bool is_docked; + // Controls std::array buttons; std::array analogs; -- cgit v1.2.3 From 5ecf152c8ee1bb6f8f050d16dda56c1b115e0ff3 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 Mar 2018 22:59:18 -0400 Subject: config: Rename is_docked to use_docked_mode to be consistent with other config bools. --- src/core/hle/service/am/am.cpp | 10 +++++----- src/core/settings.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/core') diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index 07522e730..bab338205 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -242,20 +242,20 @@ void ICommonStateGetter::GetCurrentFocusState(Kernel::HLERequestContext& ctx) { } void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) { - const bool is_docked{Settings::values.is_docked}; + const bool use_docked_mode{Settings::values.use_docked_mode}; IPC::ResponseBuilder rb{ctx, 3}; rb.Push(RESULT_SUCCESS); - rb.Push(static_cast(is_docked ? OperationMode::Docked : OperationMode::Handheld)); + rb.Push(static_cast(use_docked_mode ? OperationMode::Docked : OperationMode::Handheld)); LOG_WARNING(Service_AM, "(STUBBED) called"); } void ICommonStateGetter::GetPerformanceMode(Kernel::HLERequestContext& ctx) { - const bool is_docked{Settings::values.is_docked}; + const bool use_docked_mode{Settings::values.use_docked_mode}; IPC::ResponseBuilder rb{ctx, 3}; rb.Push(RESULT_SUCCESS); - rb.Push(static_cast(is_docked ? APM::PerformanceMode::Docked - : APM::PerformanceMode::Handheld)); + rb.Push(static_cast(use_docked_mode ? APM::PerformanceMode::Docked + : APM::PerformanceMode::Handheld)); LOG_WARNING(Service_AM, "(STUBBED) called"); } diff --git a/src/core/settings.h b/src/core/settings.h index 002d25dbd..eaef47236 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -112,7 +112,7 @@ enum class CpuCore { struct Values { // System - bool is_docked; + bool use_docked_mode; // Controls std::array buttons; -- cgit v1.2.3 From 94f4009c3be4c7f69eda8af1cb0139dccd5bffa5 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 Mar 2018 23:01:40 -0400 Subject: config: Use simplified checkbox (from Citra) for CPU JIT. --- src/core/core.cpp | 10 +++------- src/core/settings.h | 2 +- src/core/telemetry_session.cpp | 5 +++-- 3 files changed, 7 insertions(+), 10 deletions(-) (limited to 'src/core') 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) { current_process = Kernel::Process::Create("main"); - switch (Settings::values.cpu_core) { - case Settings::CpuCore::Unicorn: - cpu_core = std::make_shared(); - break; - case Settings::CpuCore::Dynarmic: - default: + if (Settings::values.use_cpu_jit) { #ifdef ARCHITECTURE_x86_64 cpu_core = std::make_shared(); #else cpu_core = std::make_shared(); LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); #endif - break; + } else { + cpu_core = std::make_shared(); } gpu_core = std::make_unique(); diff --git a/src/core/settings.h b/src/core/settings.h index eaef47236..fc2b8dae4 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -121,7 +121,7 @@ struct Values { std::string touch_device; // Core - CpuCore cpu_core; + bool use_cpu_jit; // Data Storage 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() { #endif // Log user configuration information - AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore", - static_cast(Settings::values.cpu_core)); + AddField(Telemetry::FieldType::UserConfig, "Core_UseCpuJit", Settings::values.use_cpu_jit); AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", Settings::values.resolution_factor); AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", Settings::values.toggle_framelimit); + AddField(Telemetry::FieldType::UserConfig, "System_UseDockedMode", + Settings::values.use_docked_mode); } TelemetrySession::~TelemetrySession() { -- cgit v1.2.3 From 212a6ab937b05014784187782219a60600573503 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 Mar 2018 23:14:44 -0400 Subject: settings: Remove unused CpuCore class. --- src/core/settings.h | 5 ----- 1 file changed, 5 deletions(-) (limited to 'src/core') diff --git a/src/core/settings.h b/src/core/settings.h index fc2b8dae4..2c94caab7 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -105,11 +105,6 @@ static const std::array mapping = {{ }}; } // namespace NativeAnalog -enum class CpuCore { - Unicorn, - Dynarmic, -}; - struct Values { // System bool use_docked_mode; -- cgit v1.2.3