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.h87
1 files changed, 49 insertions, 38 deletions
diff --git a/src/common/settings.h b/src/common/settings.h
index 48f86d0aa..70ab8d584 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -120,11 +120,15 @@ enum class Category : u32 {
120 Audio, 120 Audio,
121 Core, 121 Core,
122 Cpu, 122 Cpu,
123 CpuDebug,
124 CpuUnsafe,
123 Renderer, 125 Renderer,
124 AdvancedGraphics, 126 RendererAdvanced,
127 RendererDebug,
125 System, 128 System,
126 DataStorage, 129 DataStorage,
127 Debugging, 130 Debugging,
131 DebuggingGraphics,
128 Miscellaneous, 132 Miscellaneous,
129 Network, 133 Network,
130 WebService, 134 WebService,
@@ -624,53 +628,56 @@ struct Values {
624 "cpu_accuracy", Category::Cpu}; 628 "cpu_accuracy", Category::Cpu};
625 // TODO: remove cpu_accuracy_first_time, migration setting added 8 July 2021 629 // TODO: remove cpu_accuracy_first_time, migration setting added 8 July 2021
626 Setting<bool> cpu_accuracy_first_time{linkage, true, "cpu_accuracy_first_time", Category::Cpu}; 630 Setting<bool> cpu_accuracy_first_time{linkage, true, "cpu_accuracy_first_time", Category::Cpu};
627 Setting<bool> cpu_debug_mode{linkage, false, "cpu_debug_mode", Category::Cpu}; 631 Setting<bool> cpu_debug_mode{linkage, false, "cpu_debug_mode", Category::CpuDebug};
628 632
629 Setting<bool> cpuopt_page_tables{linkage, true, "cpuopt_page_tables", Category::Cpu}; 633 Setting<bool> cpuopt_page_tables{linkage, true, "cpuopt_page_tables", Category::CpuDebug};
630 Setting<bool> cpuopt_block_linking{linkage, true, "cpuopt_block_linking", Category::Cpu}; 634 Setting<bool> cpuopt_block_linking{linkage, true, "cpuopt_block_linking", Category::CpuDebug};
631 Setting<bool> cpuopt_return_stack_buffer{linkage, true, "cpuopt_return_stack_buffer", 635 Setting<bool> cpuopt_return_stack_buffer{linkage, true, "cpuopt_return_stack_buffer",
632 Category::Cpu}; 636 Category::CpuDebug};
633 Setting<bool> cpuopt_fast_dispatcher{linkage, true, "cpuopt_fast_dispatcher", Category::Cpu}; 637 Setting<bool> cpuopt_fast_dispatcher{linkage, true, "cpuopt_fast_dispatcher",
638 Category::CpuDebug};
634 Setting<bool> cpuopt_context_elimination{linkage, true, "cpuopt_context_elimination", 639 Setting<bool> cpuopt_context_elimination{linkage, true, "cpuopt_context_elimination",
635 Category::Cpu}; 640 Category::CpuDebug};
636 Setting<bool> cpuopt_const_prop{linkage, true, "cpuopt_const_prop", Category::Cpu}; 641 Setting<bool> cpuopt_const_prop{linkage, true, "cpuopt_const_prop", Category::CpuDebug};
637 Setting<bool> cpuopt_misc_ir{linkage, true, "cpuopt_misc_ir", Category::Cpu}; 642 Setting<bool> cpuopt_misc_ir{linkage, true, "cpuopt_misc_ir", Category::CpuDebug};
638 Setting<bool> cpuopt_reduce_misalign_checks{linkage, true, "cpuopt_reduce_misalign_checks", 643 Setting<bool> cpuopt_reduce_misalign_checks{linkage, true, "cpuopt_reduce_misalign_checks",
639 Category::Cpu}; 644 Category::CpuDebug};
640 Setting<bool> cpuopt_fastmem{linkage, true, "cpuopt_fastmem", Category::Cpu}; 645 Setting<bool> cpuopt_fastmem{linkage, true, "cpuopt_fastmem", Category::CpuDebug};
641 Setting<bool> cpuopt_fastmem_exclusives{linkage, true, "cpuopt_fastmem_exclusives", 646 Setting<bool> cpuopt_fastmem_exclusives{linkage, true, "cpuopt_fastmem_exclusives",
642 Category::Cpu}; 647 Category::CpuDebug};
643 Setting<bool> cpuopt_recompile_exclusives{linkage, true, "cpuopt_recompile_exclusives", 648 Setting<bool> cpuopt_recompile_exclusives{linkage, true, "cpuopt_recompile_exclusives",
644 Category::Cpu}; 649 Category::CpuDebug};
645 Setting<bool> cpuopt_ignore_memory_aborts{linkage, true, "cpuopt_ignore_memory_aborts", 650 Setting<bool> cpuopt_ignore_memory_aborts{linkage, true, "cpuopt_ignore_memory_aborts",
646 Category::Cpu}; 651 Category::CpuDebug};
647 652
648 SwitchableSetting<bool> cpuopt_unsafe_unfuse_fma{linkage, true, "cpuopt_unsafe_unfuse_fma", 653 SwitchableSetting<bool> cpuopt_unsafe_unfuse_fma{linkage, true, "cpuopt_unsafe_unfuse_fma",
649 Category::Cpu}; 654 Category::CpuUnsafe};
650 SwitchableSetting<bool> cpuopt_unsafe_reduce_fp_error{ 655 SwitchableSetting<bool> cpuopt_unsafe_reduce_fp_error{
651 linkage, true, "cpuopt_unsafe_reduce_fp_error", Category::Cpu}; 656 linkage, true, "cpuopt_unsafe_reduce_fp_error", Category::CpuUnsafe};
652 SwitchableSetting<bool> cpuopt_unsafe_ignore_standard_fpcr{ 657 SwitchableSetting<bool> cpuopt_unsafe_ignore_standard_fpcr{
653 linkage, true, "cpuopt_unsafe_ignore_standard_fpcr", Category::Cpu}; 658 linkage, true, "cpuopt_unsafe_ignore_standard_fpcr", Category::CpuUnsafe};
654 SwitchableSetting<bool> cpuopt_unsafe_inaccurate_nan{ 659 SwitchableSetting<bool> cpuopt_unsafe_inaccurate_nan{
655 linkage, true, "cpuopt_unsafe_inaccurate_nan", Category::Cpu}; 660 linkage, true, "cpuopt_unsafe_inaccurate_nan", Category::CpuUnsafe};
656 SwitchableSetting<bool> cpuopt_unsafe_fastmem_check{ 661 SwitchableSetting<bool> cpuopt_unsafe_fastmem_check{
657 linkage, true, "cpuopt_unsafe_fastmem_check", Category::Cpu}; 662 linkage, true, "cpuopt_unsafe_fastmem_check", Category::CpuUnsafe};
658 SwitchableSetting<bool> cpuopt_unsafe_ignore_global_monitor{ 663 SwitchableSetting<bool> cpuopt_unsafe_ignore_global_monitor{
659 linkage, true, "cpuopt_unsafe_ignore_global_monitor", Category::Cpu}; 664 linkage, true, "cpuopt_unsafe_ignore_global_monitor", Category::CpuUnsafe};
660 665
661 // Renderer 666 // Renderer
662 SwitchableSetting<RendererBackend, true> renderer_backend{ 667 SwitchableSetting<RendererBackend, true> renderer_backend{
663 linkage, RendererBackend::Vulkan, RendererBackend::OpenGL, RendererBackend::Null, 668 linkage, RendererBackend::Vulkan, RendererBackend::OpenGL, RendererBackend::Null,
664 "backend", Category::Renderer}; 669 "backend", Category::Renderer};
665 SwitchableSetting<bool> async_presentation{linkage, false, "async_presentation", 670 SwitchableSetting<bool> async_presentation{linkage, false, "async_presentation",
666 Category::AdvancedGraphics}; 671 Category::RendererAdvanced};
667 SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock", 672 SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock",
668 Category::AdvancedGraphics}; 673 Category::RendererAdvanced};
669 Setting<bool> renderer_debug{linkage, false, "debug", Category::Renderer}; 674 Setting<bool> renderer_debug{linkage, false, "debug", Category::RendererDebug};
670 Setting<bool> renderer_shader_feedback{linkage, false, "shader_feedback", Category::Renderer}; 675 Setting<bool> renderer_shader_feedback{linkage, false, "shader_feedback",
671 Setting<bool> enable_nsight_aftermath{linkage, false, "nsight_aftermath", Category::Renderer}; 676 Category::RendererDebug};
677 Setting<bool> enable_nsight_aftermath{linkage, false, "nsight_aftermath",
678 Category::RendererDebug};
672 Setting<bool> disable_shader_loop_safety_checks{ 679 Setting<bool> disable_shader_loop_safety_checks{
673 linkage, false, "disable_shader_loop_safety_checks", Category::Renderer}; 680 linkage, false, "disable_shader_loop_safety_checks", Category::RendererDebug};
674 SwitchableSetting<int> vulkan_device{linkage, 0, "vulkan_device", Category::Renderer}; 681 SwitchableSetting<int> vulkan_device{linkage, 0, "vulkan_device", Category::Renderer};
675 682
676 ResolutionScalingInfo resolution_info{}; 683 ResolutionScalingInfo resolution_info{};
@@ -697,7 +704,7 @@ struct Values {
697 SwitchableSetting<int, true> aspect_ratio{linkage, 0, 0, 4, "aspect_ratio", Category::Renderer}; 704 SwitchableSetting<int, true> aspect_ratio{linkage, 0, 0, 4, "aspect_ratio", Category::Renderer};
698 SwitchableSetting<AnisotropyMode, true> max_anisotropy{ 705 SwitchableSetting<AnisotropyMode, true> max_anisotropy{
699 linkage, AnisotropyMode::Automatic, AnisotropyMode::Automatic, AnisotropyMode::X16, 706 linkage, AnisotropyMode::Automatic, AnisotropyMode::Automatic, AnisotropyMode::X16,
700 "max_anisotropy", Category::AdvancedGraphics}; 707 "max_anisotropy", Category::RendererAdvanced};
701 SwitchableSetting<bool, false, false> use_speed_limit{linkage, true, "use_speed_limit", 708 SwitchableSetting<bool, false, false> use_speed_limit{linkage, true, "use_speed_limit",
702 Category::Renderer}; 709 Category::Renderer};
703 SwitchableSetting<u16, true> speed_limit{linkage, 100, 0, 710 SwitchableSetting<u16, true> speed_limit{linkage, 100, 0,
@@ -706,7 +713,7 @@ struct Values {
706 Category::Renderer}; 713 Category::Renderer};
707 SwitchableSetting<GPUAccuracy, true, true, true> gpu_accuracy{ 714 SwitchableSetting<GPUAccuracy, true, true, true> gpu_accuracy{
708 linkage, GPUAccuracy::High, GPUAccuracy::Normal, GPUAccuracy::Extreme, 715 linkage, GPUAccuracy::High, GPUAccuracy::Normal, GPUAccuracy::Extreme,
709 "gpu_accuracy", Category::AdvancedGraphics}; 716 "gpu_accuracy", Category::RendererAdvanced};
710 SwitchableSetting<bool> use_asynchronous_gpu_emulation{ 717 SwitchableSetting<bool> use_asynchronous_gpu_emulation{
711 linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer}; 718 linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer};
712 SwitchableSetting<NvdecEmulation> nvdec_emulation{linkage, NvdecEmulation::GPU, 719 SwitchableSetting<NvdecEmulation> nvdec_emulation{linkage, NvdecEmulation::GPU,
@@ -728,21 +735,21 @@ struct Values {
728 SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", 735 SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders",
729 Category::Renderer}; 736 Category::Renderer};
730 SwitchableSetting<bool, false, true, true> use_fast_gpu_time{linkage, true, "use_fast_gpu_time", 737 SwitchableSetting<bool, false, true, true> use_fast_gpu_time{linkage, true, "use_fast_gpu_time",
731 Category::AdvancedGraphics}; 738 Category::RendererAdvanced};
732 SwitchableSetting<bool, false, true, true> use_vulkan_driver_pipeline_cache{ 739 SwitchableSetting<bool, false, true, true> use_vulkan_driver_pipeline_cache{
733 linkage, true, "use_vulkan_driver_pipeline_cache", Category::AdvancedGraphics}; 740 linkage, true, "use_vulkan_driver_pipeline_cache", Category::RendererAdvanced};
734 SwitchableSetting<bool> enable_compute_pipelines{linkage, false, "enable_compute_pipelines", 741 SwitchableSetting<bool> enable_compute_pipelines{linkage, false, "enable_compute_pipelines",
735 Category::AdvancedGraphics}; 742 Category::RendererAdvanced};
736 SwitchableSetting<AstcRecompression, true> astc_recompression{linkage, 743 SwitchableSetting<AstcRecompression, true> astc_recompression{linkage,
737 AstcRecompression::Uncompressed, 744 AstcRecompression::Uncompressed,
738 AstcRecompression::Uncompressed, 745 AstcRecompression::Uncompressed,
739 AstcRecompression::Bc3, 746 AstcRecompression::Bc3,
740 "astc_recompression", 747 "astc_recompression",
741 Category::AdvancedGraphics}; 748 Category::RendererAdvanced};
742 SwitchableSetting<bool> use_video_framerate{linkage, false, "use_video_framerate", 749 SwitchableSetting<bool> use_video_framerate{linkage, false, "use_video_framerate",
743 Category::AdvancedGraphics}; 750 Category::RendererAdvanced};
744 SwitchableSetting<bool> barrier_feedback_loops{linkage, true, "barrier_feedback_loops", 751 SwitchableSetting<bool> barrier_feedback_loops{linkage, true, "barrier_feedback_loops",
745 Category::AdvancedGraphics}; 752 Category::RendererAdvanced};
746 753
747 SwitchableSetting<u8> bg_red{linkage, 0, "bg_red", Category::Renderer}; 754 SwitchableSetting<u8> bg_red{linkage, 0, "bg_red", Category::Renderer};
748 SwitchableSetting<u8> bg_green{linkage, 0, "bg_green", Category::Renderer}; 755 SwitchableSetting<u8> bg_green{linkage, 0, "bg_green", Category::Renderer};
@@ -855,14 +862,18 @@ struct Values {
855 Setting<std::string> program_args{linkage, std::string(), "program_args", Category::Debugging}; 862 Setting<std::string> program_args{linkage, std::string(), "program_args", Category::Debugging};
856 Setting<bool> dump_exefs{linkage, false, "dump_exefs", Category::Debugging}; 863 Setting<bool> dump_exefs{linkage, false, "dump_exefs", Category::Debugging};
857 Setting<bool> dump_nso{linkage, false, "dump_nso", Category::Debugging}; 864 Setting<bool> dump_nso{linkage, false, "dump_nso", Category::Debugging};
858 Setting<bool, false, false> dump_shaders{linkage, false, "dump_shaders", Category::Debugging}; 865 Setting<bool, false, false> dump_shaders{linkage, false, "dump_shaders",
859 Setting<bool, false, false> dump_macros{linkage, false, "dump_macros", Category::Debugging}; 866 Category::DebuggingGraphics};
867 Setting<bool, false, false> dump_macros{linkage, false, "dump_macros",
868 Category::DebuggingGraphics};
860 Setting<bool> enable_fs_access_log{linkage, false, "enable_fs_access_log", Category::Debugging}; 869 Setting<bool> enable_fs_access_log{linkage, false, "enable_fs_access_log", Category::Debugging};
861 Setting<bool, false, false> reporting_services{linkage, false, "reporting_services", 870 Setting<bool, false, false> reporting_services{linkage, false, "reporting_services",
862 Category::Debugging}; 871 Category::Debugging};
863 Setting<bool> quest_flag{linkage, false, "quest_flag", Category::Debugging}; 872 Setting<bool> quest_flag{linkage, false, "quest_flag", Category::Debugging};
864 Setting<bool> disable_macro_jit{linkage, false, "disable_macro_jit", Category::Debugging}; 873 Setting<bool> disable_macro_jit{linkage, false, "disable_macro_jit",
865 Setting<bool> disable_macro_hle{linkage, false, "disable_macro_hle", Category::Debugging}; 874 Category::DebuggingGraphics};
875 Setting<bool> disable_macro_hle{linkage, false, "disable_macro_hle",
876 Category::DebuggingGraphics};
866 Setting<bool, false, false> extended_logging{linkage, false, "extended_logging", 877 Setting<bool, false, false> extended_logging{linkage, false, "extended_logging",
867 Category::Debugging}; 878 Category::Debugging};
868 Setting<bool> use_debug_asserts{linkage, false, "use_debug_asserts", Category::Debugging}; 879 Setting<bool> use_debug_asserts{linkage, false, "use_debug_asserts", Category::Debugging};