diff --git a/src/citra_qt/configuration/config.cpp b/src/citra_qt/configuration/config.cpp index f597a5fa5..f0cf145c3 100644 --- a/src/citra_qt/configuration/config.cpp +++ b/src/citra_qt/configuration/config.cpp @@ -404,7 +404,7 @@ void Config::SaveValues() { qt_config->beginGroup("Layout"); WriteSetting("toggle_3d", Settings::values.toggle_3d, false); - WriteSetting("factor_3d", Settings::values.factor_3d, 0); + WriteSetting("factor_3d", Settings::values.factor_3d.load(), 0); WriteSetting("layout_option", static_cast(Settings::values.layout_option)); WriteSetting("swap_screen", Settings::values.swap_screen, false); WriteSetting("custom_layout", Settings::values.custom_layout, false); diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 997c8c494..9a38f5218 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -163,8 +163,7 @@ void Module::UpdatePadCallback(u64 userdata, s64 cycles_late) { // TODO(xperia64): How the 3D Slider is updated by the HID module needs to be RE'd // and possibly moved to its own Core::Timing event. - system.Kernel().GetSharedPageHandler().Set3DSlider( - Settings::values.toggle_3d ? Settings::values.factor_3d / 100.0f : 0.0f); + system.Kernel().GetSharedPageHandler().Set3DSlider(Settings::values.factor_3d / 100.0f); // Reschedule recurrent event system.CoreTiming().ScheduleEvent(pad_update_ticks - cycles_late, pad_update_event); diff --git a/src/core/settings.h b/src/core/settings.h index e3bf77a40..aeec0e619 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include "common/common_types.h" @@ -148,7 +149,7 @@ struct Values { float bg_blue; bool toggle_3d; - u8 factor_3d; + std::atomic factor_3d; // Audio bool enable_dsp_lle; diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index b6c18cf96..052ee92bc 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp @@ -179,7 +179,8 @@ TelemetrySession::TelemetrySession() { Settings::values.use_shader_jit); AddField(Telemetry::FieldType::UserConfig, "Renderer_UseVsync", Settings::values.use_vsync); AddField(Telemetry::FieldType::UserConfig, "Renderer_Toggle3d", Settings::values.toggle_3d); - AddField(Telemetry::FieldType::UserConfig, "Renderer_Factor3d", Settings::values.factor_3d); + AddField(Telemetry::FieldType::UserConfig, "Renderer_Factor3d", + Settings::values.factor_3d.load()); AddField(Telemetry::FieldType::UserConfig, "System_IsNew3ds", Settings::values.is_new_3ds); AddField(Telemetry::FieldType::UserConfig, "System_RegionValue", Settings::values.region_value); }