diff options
Diffstat (limited to 'src/common/settings.h')
| -rw-r--r-- | src/common/settings.h | 87 |
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}; |