summaryrefslogtreecommitdiff
path: root/src/common/settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/settings.h')
-rw-r--r--src/common/settings.h58
1 files changed, 52 insertions, 6 deletions
diff --git a/src/common/settings.h b/src/common/settings.h
index e899f1ae6..98341ad96 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -63,6 +63,7 @@ SWITCHABLE(AspectRatio, true);
63SWITCHABLE(AstcDecodeMode, true); 63SWITCHABLE(AstcDecodeMode, true);
64SWITCHABLE(AstcRecompression, true); 64SWITCHABLE(AstcRecompression, true);
65SWITCHABLE(AudioMode, true); 65SWITCHABLE(AudioMode, true);
66SWITCHABLE(CpuBackend, true);
66SWITCHABLE(CpuAccuracy, true); 67SWITCHABLE(CpuAccuracy, true);
67SWITCHABLE(FullscreenMode, true); 68SWITCHABLE(FullscreenMode, true);
68SWITCHABLE(GpuAccuracy, true); 69SWITCHABLE(GpuAccuracy, true);
@@ -179,6 +180,14 @@ struct Values {
179 &use_speed_limit}; 180 &use_speed_limit};
180 181
181 // Cpu 182 // Cpu
183 SwitchableSetting<CpuBackend, true> cpu_backend{
184 linkage, CpuBackend::Dynarmic, CpuBackend::Dynarmic,
185#ifdef HAS_NCE
186 CpuBackend::Nce,
187#else
188 CpuBackend::Dynarmic,
189#endif
190 "cpu_backend", Category::Cpu};
182 SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto, 191 SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto,
183 CpuAccuracy::Auto, CpuAccuracy::Paranoid, 192 CpuAccuracy::Auto, CpuAccuracy::Paranoid,
184 "cpu_accuracy", Category::Cpu}; 193 "cpu_accuracy", Category::Cpu};
@@ -232,7 +241,11 @@ struct Values {
232 SwitchableSetting<bool> use_asynchronous_gpu_emulation{ 241 SwitchableSetting<bool> use_asynchronous_gpu_emulation{
233 linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer}; 242 linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer};
234 SwitchableSetting<AstcDecodeMode, true> accelerate_astc{linkage, 243 SwitchableSetting<AstcDecodeMode, true> accelerate_astc{linkage,
244#ifdef ANDROID
245 AstcDecodeMode::Cpu,
246#else
235 AstcDecodeMode::Gpu, 247 AstcDecodeMode::Gpu,
248#endif
236 AstcDecodeMode::Cpu, 249 AstcDecodeMode::Cpu,
237 AstcDecodeMode::CpuAsynchronous, 250 AstcDecodeMode::CpuAsynchronous,
238 "accelerate_astc", 251 "accelerate_astc",
@@ -304,7 +317,11 @@ struct Values {
304 linkage, 0, "bg_blue", Category::Renderer, Specialization::Default, true, true}; 317 linkage, 0, "bg_blue", Category::Renderer, Specialization::Default, true, true};
305 318
306 SwitchableSetting<GpuAccuracy, true> gpu_accuracy{linkage, 319 SwitchableSetting<GpuAccuracy, true> gpu_accuracy{linkage,
320#ifdef ANDROID
321 GpuAccuracy::Normal,
322#else
307 GpuAccuracy::High, 323 GpuAccuracy::High,
324#endif
308 GpuAccuracy::Normal, 325 GpuAccuracy::Normal,
309 GpuAccuracy::Extreme, 326 GpuAccuracy::Extreme,
310 "gpu_accuracy", 327 "gpu_accuracy",
@@ -313,20 +330,38 @@ struct Values {
313 true, 330 true,
314 true}; 331 true};
315 GpuAccuracy current_gpu_accuracy{GpuAccuracy::High}; 332 GpuAccuracy current_gpu_accuracy{GpuAccuracy::High};
316 SwitchableSetting<AnisotropyMode, true> max_anisotropy{ 333 SwitchableSetting<AnisotropyMode, true> max_anisotropy{linkage,
317 linkage, AnisotropyMode::Automatic, AnisotropyMode::Automatic, AnisotropyMode::X16, 334#ifdef ANDROID
318 "max_anisotropy", Category::RendererAdvanced}; 335 AnisotropyMode::Default,
336#else
337 AnisotropyMode::Automatic,
338#endif
339 AnisotropyMode::Automatic,
340 AnisotropyMode::X16,
341 "max_anisotropy",
342 Category::RendererAdvanced};
319 SwitchableSetting<AstcRecompression, true> astc_recompression{linkage, 343 SwitchableSetting<AstcRecompression, true> astc_recompression{linkage,
320 AstcRecompression::Uncompressed, 344 AstcRecompression::Uncompressed,
321 AstcRecompression::Uncompressed, 345 AstcRecompression::Uncompressed,
322 AstcRecompression::Bc3, 346 AstcRecompression::Bc3,
323 "astc_recompression", 347 "astc_recompression",
324 Category::RendererAdvanced}; 348 Category::RendererAdvanced};
325 SwitchableSetting<bool> async_presentation{linkage, false, "async_presentation", 349 SwitchableSetting<bool> async_presentation{linkage,
326 Category::RendererAdvanced}; 350#ifdef ANDROID
351 true,
352#else
353 false,
354#endif
355 "async_presentation", Category::RendererAdvanced};
327 SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock", 356 SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock",
328 Category::RendererAdvanced}; 357 Category::RendererAdvanced};
329 SwitchableSetting<bool> use_reactive_flushing{linkage, true, "use_reactive_flushing", 358 SwitchableSetting<bool> use_reactive_flushing{linkage,
359#ifdef ANDROID
360 false,
361#else
362 true,
363#endif
364 "use_reactive_flushing",
330 Category::RendererAdvanced}; 365 Category::RendererAdvanced};
331 SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", 366 SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders",
332 Category::RendererAdvanced}; 367 Category::RendererAdvanced};
@@ -358,6 +393,8 @@ struct Values {
358 Category::RendererDebug}; 393 Category::RendererDebug};
359 // TODO: remove this once AMDVLK supports VK_EXT_depth_bias_control 394 // TODO: remove this once AMDVLK supports VK_EXT_depth_bias_control
360 bool renderer_amdvlk_depth_bias_workaround{}; 395 bool renderer_amdvlk_depth_bias_workaround{};
396 Setting<bool> disable_buffer_reorder{linkage, false, "disable_buffer_reorder",
397 Category::RendererDebug};
361 398
362 // System 399 // System
363 SwitchableSetting<Language, true> language_index{linkage, 400 SwitchableSetting<Language, true> language_index{linkage,
@@ -390,13 +427,20 @@ struct Values {
390 Setting<s32> current_user{linkage, 0, "current_user", Category::System}; 427 Setting<s32> current_user{linkage, 0, "current_user", Category::System};
391 428
392 SwitchableSetting<ConsoleMode> use_docked_mode{linkage, 429 SwitchableSetting<ConsoleMode> use_docked_mode{linkage,
430#ifdef ANDROID
431 ConsoleMode::Handheld,
432#else
393 ConsoleMode::Docked, 433 ConsoleMode::Docked,
434#endif
394 "use_docked_mode", 435 "use_docked_mode",
395 Category::System, 436 Category::System,
396 Specialization::Radio, 437 Specialization::Radio,
397 true, 438 true,
398 true}; 439 true};
399 440
441 // Linux
442 SwitchableSetting<bool> enable_gamemode{linkage, true, "enable_gamemode", Category::Linux};
443
400 // Controls 444 // Controls
401 InputSetting<std::array<PlayerInput, 10>> players; 445 InputSetting<std::array<PlayerInput, 10>> players;
402 446
@@ -534,6 +578,8 @@ bool IsGPULevelExtreme();
534bool IsGPULevelHigh(); 578bool IsGPULevelHigh();
535 579
536bool IsFastmemEnabled(); 580bool IsFastmemEnabled();
581void SetNceEnabled(bool is_64bit);
582bool IsNceEnabled();
537 583
538bool IsDockedMode(); 584bool IsDockedMode();
539 585