diff options
| author | crueter <crueter@eden-emu.dev> | 2025-12-30 18:03:09 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-12-30 18:03:09 +0100 |
| commit | e4cbcec2f10b1d03626eb0c79971eb6272fd6e87 (patch) | |
| tree | 5514b04206e0ac76ebde0132b89473b2b9700606 /src/common | |
| parent | 006f97f207acd7d5fb5c32318f059c0929252511 (diff) | |
[settings, frontend] Reorganize graphics/CPU settings, saner defaults (#3233)
- Fast GPU now defaults to 256, removed 128 since it's useless.
- Completely reorganized graphics and CPU settings on both platforms.
Also got rid of Eden's Veil
- Merged some "use ..." settings that weren't really necessary.
- Changed ExtendedDynamicState to be a combo box
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3233
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/settings.h | 248 | ||||
| -rw-r--r-- | src/common/settings_enums.h | 5 |
2 files changed, 124 insertions, 129 deletions
diff --git a/src/common/settings.h b/src/common/settings.h index 3c7b4fe82b..44cdb24f17 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -241,21 +241,13 @@ struct Values { SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto, "cpu_accuracy", Category::Cpu}; SwitchableSetting<bool> vtable_bouncing{linkage, true, "vtable_bouncing", Category::Cpu}; - SwitchableSetting<bool> use_fast_cpu_time{linkage, - false, - "use_fast_cpu_time", - Category::Cpu, - Specialization::Paired, - true, - true}; SwitchableSetting<CpuClock> fast_cpu_time{linkage, - CpuClock::Boost, + CpuClock::Off, "fast_cpu_time", Category::Cpu, Specialization::Default, true, - true, - &use_fast_cpu_time}; + true}; SwitchableSetting<bool> use_custom_cpu_ticks{linkage, false, @@ -334,52 +326,19 @@ struct Values { SwitchableSetting<int> vulkan_device{linkage, 0, "vulkan_device", Category::Renderer, Specialization::RuntimeList}; - SwitchableSetting<bool> use_disk_shader_cache{linkage, true, "use_disk_shader_cache", - Category::Renderer}; - SwitchableSetting<SpirvOptimizeMode, true> optimize_spirv_output{linkage, - SpirvOptimizeMode::Never, - "optimize_spirv_output", - Category::Renderer}; - SwitchableSetting<bool> use_asynchronous_gpu_emulation{ - linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer}; - SwitchableSetting<AstcDecodeMode, true> accelerate_astc{linkage, -#ifdef ANDROID - AstcDecodeMode::Cpu, -#else - AstcDecodeMode::Gpu, -#endif - "accelerate_astc", - Category::Renderer}; - SwitchableSetting<VSyncMode, true> vsync_mode{ - linkage, VSyncMode::Fifo, - "use_vsync", Category::Renderer, Specialization::RuntimeList, true, - true}; - SwitchableSetting<NvdecEmulation> nvdec_emulation{linkage, NvdecEmulation::Gpu, - "nvdec_emulation", Category::Renderer}; - // *nix platforms may have issues with the borderless windowed fullscreen mode. - // Default to exclusive fullscreen on these platforms for now. - SwitchableSetting<FullscreenMode, true> fullscreen_mode{linkage, -#ifdef _WIN32 - FullscreenMode::Borderless, -#else - FullscreenMode::Exclusive, -#endif - "fullscreen_mode", - Category::Renderer, - Specialization::Default, - true, - true}; - SwitchableSetting<AspectRatio, true> aspect_ratio{linkage, - AspectRatio::R16_9, - "aspect_ratio", - Category::Renderer, - Specialization::Default, - true, - true}; - + // Graphics Settings ResolutionScalingInfo resolution_info{}; SwitchableSetting<ResolutionSetup> resolution_setup{linkage, ResolutionSetup::Res1X, "resolution_setup", Category::Renderer}; + + SwitchableSetting<VSyncMode, true> vsync_mode{linkage, + VSyncMode::Fifo, + "use_vsync", + Category::Renderer, + Specialization::RuntimeList, + true, + true}; + SwitchableSetting<ScalingFilter> scaling_filter{linkage, ScalingFilter::Bilinear, "scaling_filter", @@ -387,13 +346,6 @@ struct Values { Specialization::Default, true, true}; - SwitchableSetting<AntiAliasing> anti_aliasing{linkage, - AntiAliasing::None, - "anti_aliasing", - Category::Renderer, - Specialization::Default, - true, - true}; SwitchableSetting<int, true> fsr_sharpening_slider{linkage, 25, 0, @@ -404,6 +356,41 @@ struct Values { Specialization::Percentage, true, true}; + SwitchableSetting<AspectRatio, true> aspect_ratio{linkage, + AspectRatio::R16_9, + "aspect_ratio", + Category::Renderer, + Specialization::Default, + true, + true}; + + SwitchableSetting<AntiAliasing> anti_aliasing{linkage, + AntiAliasing::None, + "anti_aliasing", + Category::Renderer, + Specialization::Default, + true, + true}; + + SwitchableSetting<SpirvOptimizeMode, true> optimize_spirv_output{linkage, + SpirvOptimizeMode::Never, + "optimize_spirv_output", + Category::Renderer}; + SwitchableSetting<bool> use_asynchronous_gpu_emulation{ + linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer}; + // *nix platforms may have issues with the borderless windowed fullscreen mode. + // Default to exclusive fullscreen on these platforms for now. + SwitchableSetting<FullscreenMode, true> fullscreen_mode{linkage, +#ifdef _WIN32 + FullscreenMode::Borderless, +#else + FullscreenMode::Exclusive, +#endif + "fullscreen_mode", + Category::Renderer, + Specialization::Default, + true, + true}; SwitchableSetting<u8, false> bg_red{ linkage, 0, "bg_red", Category::Renderer, Specialization::Default, true, true}; @@ -434,6 +421,14 @@ struct Values { true, true}; + SwitchableSetting<VramUsageMode, true> vram_usage_mode{linkage, + VramUsageMode::Conservative, + "vram_usage_mode", + Category::RendererAdvanced}; + + SwitchableSetting<NvdecEmulation> nvdec_emulation{linkage, NvdecEmulation::Gpu, + "nvdec_emulation", Category::RendererAdvanced}; + SwitchableSetting<AnisotropyMode, true> max_anisotropy{linkage, #ifdef ANDROID AnisotropyMode::Default, @@ -442,21 +437,21 @@ struct Values { #endif "max_anisotropy", Category::RendererAdvanced}; + SwitchableSetting<AstcDecodeMode, true> accelerate_astc{linkage, +#ifdef ANDROID + AstcDecodeMode::Cpu, +#else + AstcDecodeMode::Gpu, +#endif + "accelerate_astc", + Category::RendererAdvanced}; + SwitchableSetting<AstcRecompression, true> astc_recompression{linkage, AstcRecompression::Uncompressed, "astc_recompression", Category::RendererAdvanced}; - SwitchableSetting<VramUsageMode, true> vram_usage_mode{linkage, - VramUsageMode::Conservative, - "vram_usage_mode", - Category::RendererAdvanced}; - SwitchableSetting<bool> skip_cpu_inner_invalidation{linkage, - false, - "skip_cpu_inner_invalidation", - Category::RendererAdvanced, - Specialization::Default, - true, - true}; + + SwitchableSetting<bool> sync_memory_operations{linkage, false, "sync_memory_operations", @@ -464,15 +459,23 @@ struct Values { Specialization::Default, true, true}; - SwitchableSetting<bool> async_presentation{linkage, -#ifdef ANDROID - true, -#else - false, -#endif - "async_presentation", Category::RendererAdvanced}; + SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock", Category::RendererAdvanced}; + + SwitchableSetting<bool> use_disk_shader_cache{linkage, true, "use_disk_shader_cache", + Category::RendererAdvanced}; + + SwitchableSetting<bool> use_vulkan_driver_pipeline_cache{ + linkage, true, "use_vulkan_driver_pipeline_cache", Category::RendererAdvanced, + Specialization::Default}; + + SwitchableSetting<bool> enable_compute_pipelines{linkage, false, "enable_compute_pipelines", + Category::RendererAdvanced}; + + SwitchableSetting<bool> use_video_framerate{linkage, false, "use_video_framerate", + Category::RendererAdvanced}; + SwitchableSetting<bool> use_reactive_flushing{linkage, #ifdef ANDROID false, @@ -481,71 +484,61 @@ struct Values { #endif "use_reactive_flushing", Category::RendererAdvanced}; - SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", - Category::RendererAdvanced}; - SwitchableSetting<bool> use_fast_gpu_time{linkage, - true, - "use_fast_gpu_time", - Category::RendererAdvanced, - Specialization::Paired, - true, - true}; + SwitchableSetting<bool> barrier_feedback_loops{linkage, true, "barrier_feedback_loops", + Category::RendererAdvanced}; + + // Renderer Hacks // SwitchableSetting<GpuOverclock> fast_gpu_time{linkage, - GpuOverclock::Low, + GpuOverclock::Medium, "fast_gpu_time", Category::RendererAdvanced, - Specialization::Default, - true, - true, - &use_fast_gpu_time}; + Specialization::Default}; - SwitchableSetting<bool> use_vulkan_driver_pipeline_cache{linkage, - true, - "use_vulkan_driver_pipeline_cache", - Category::RendererAdvanced, - Specialization::Default, - true, - true}; - SwitchableSetting<bool> enable_compute_pipelines{linkage, false, "enable_compute_pipelines", + SwitchableSetting<bool> skip_cpu_inner_invalidation{linkage, + false, + "skip_cpu_inner_invalidation", + Category::RendererAdvanced, + Specialization::Default, + true, + true}; + SwitchableSetting<bool> async_presentation{linkage, +#ifdef ANDROID + true, +#else + false, +#endif + "async_presentation", Category::RendererAdvanced}; + + SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", Category::RendererAdvanced}; - SwitchableSetting<bool> use_video_framerate{linkage, false, "use_video_framerate", - Category::RendererAdvanced}; - SwitchableSetting<bool> barrier_feedback_loops{linkage, true, "barrier_feedback_loops", - Category::RendererAdvanced}; - SwitchableSetting<u8, true> dyna_state{linkage, + SwitchableSetting<ExtendedDynamicState> dyna_state{linkage, #if defined (_WIN32) - 3, + ExtendedDynamicState::EDS3, #elif defined (__FreeBSD__) - 3, + ExtendedDynamicState::EDS3, #elif defined (ANDROID) - 0, + ExtendedDynamicState::Disabled, #elif defined (__APPLE__) - 0, + ExtendedDynamicState::Disabled, #else - 2, + ExtendedDynamicState::EDS2, #endif - 0, - 3, "dyna_state", - Category::RendererExtensions, - Specialization::Scalar}; + Category::RendererExtensions}; + + SwitchableSetting<u32, true> sample_shading{linkage, + 0, + 0, + 100, + "sample_shading_fraction", + Category::RendererExtensions, + Specialization::Scalar}; SwitchableSetting<bool> vertex_input_dynamic_state{linkage, true, "vertex_input_dynamic_state", Category::RendererExtensions}; SwitchableSetting<bool> provoking_vertex{linkage, false, "provoking_vertex", Category::RendererExtensions}; SwitchableSetting<bool> descriptor_indexing{linkage, false, "descriptor_indexing", Category::RendererExtensions}; - SwitchableSetting<bool> sample_shading{linkage, false, "sample_shading", Category::RendererExtensions, Specialization::Paired}; - SwitchableSetting<u32, true> sample_shading_fraction{linkage, - 50, - 0, - 100, - "sample_shading_fraction", - Category::RendererExtensions, - Specialization::Scalar, - true, - false, - &sample_shading}; Setting<bool> renderer_debug{linkage, false, "debug", Category::RendererDebug}; Setting<bool> renderer_shader_feedback{linkage, false, "shader_feedback", @@ -749,9 +742,10 @@ struct Values { // WebService Setting<std::string> web_api_url{linkage, "api.ynet-fun.xyz", "web_api_url", Category::WebService}; - Setting<std::string> eden_username{linkage, std::string(), "eden_username", + Setting<std::string> eden_username{linkage, "Eden", "eden_username", Category::WebService}; - Setting<std::string> eden_token{linkage, std::string(), "eden_token", Category::WebService}; + Setting<std::string> eden_token{linkage, "njausoolxygtpvraofqunuufhmupriifnpfggjxefntlyglr", + "eden_token", Category::WebService}; // Add-Ons std::map<u64, std::vector<std::string>> disabled_addons; diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h index 5090349270..bff5f0ec5a 100644 --- a/src/common/settings_enums.h +++ b/src/common/settings_enums.h @@ -137,7 +137,7 @@ ENUM(GpuAccuracy, Low, Medium, High); ENUM(DmaAccuracy, Default, Unsafe, Safe); ENUM(CpuBackend, Dynarmic, Nce); ENUM(CpuAccuracy, Auto, Accurate, Unsafe, Paranoid, Debugging); -ENUM(CpuClock, Boost, Fast) +ENUM(CpuClock, Off, Boost, Fast) ENUM(MemoryLayout, Memory_4Gb, Memory_6Gb, Memory_8Gb, Memory_10Gb, Memory_12Gb); ENUM(ConfirmStop, Ask_Always, Ask_Based_On_Game, Ask_Never); ENUM(FullscreenMode, Borderless, Exclusive); @@ -149,8 +149,9 @@ ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch); ENUM(ConsoleMode, Handheld, Docked); ENUM(AppletMode, HLE, LLE); ENUM(SpirvOptimizeMode, Never, OnLoad, Always); -ENUM(GpuOverclock, Low, Medium, High) +ENUM(GpuOverclock, Normal, Medium, High) ENUM(TemperatureUnits, Celsius, Fahrenheit) +ENUM(ExtendedDynamicState, Disabled, EDS1, EDS2, EDS3); template <typename Type> inline std::string_view CanonicalizeEnum(Type id) { |
