diff options
| author | bunnei <bunneidev@gmail.com> | 2023-06-12 17:56:44 -0700 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2023-06-12 17:56:44 -0700 | 
| commit | f8a33f85eff5e7c7ee00a85a133e7a6619a285ab (patch) | |
| tree | dade980c503f8193ea714a30f59c1d62a1c4f731 | |
| parent | 306ad012c805e54e1966567c17aca1eb35f15ecf (diff) | |
android: settings: Add reactive flushing as a default-disabled setting.
5 files changed, 24 insertions, 0 deletions
| diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.kt index c5722a5a1..2178746d6 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.kt @@ -33,6 +33,11 @@ enum class IntSetting(          Settings.SECTION_RENDERER,          0      ), +    RENDERER_REACTIVE_FLUSHING( +        "use_reactive_flushing", +        Settings.SECTION_RENDERER, +        0 +    ),      RENDERER_DEBUG(          "debug",          Settings.SECTION_RENDERER, diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt index 061046b2e..1ceaa6fb4 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -321,6 +321,15 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)                      IntSetting.RENDERER_ASYNCHRONOUS_SHADERS.defaultValue                  )              ) +            add( +                SwitchSetting( +                    IntSetting.RENDERER_REACTIVE_FLUSHING, +                    R.string.renderer_reactive_flushing, +                    R.string.renderer_reactive_flushing_description, +                    IntSetting.RENDERER_REACTIVE_FLUSHING.key, +                    IntSetting.RENDERER_REACTIVE_FLUSHING.defaultValue +                ) +            )          }      } diff --git a/src/android/app/src/main/jni/config.cpp b/src/android/app/src/main/jni/config.cpp index 2d622a048..e0b4772da 100644 --- a/src/android/app/src/main/jni/config.cpp +++ b/src/android/app/src/main/jni/config.cpp @@ -239,6 +239,10 @@ void Config::ReadValues() {      Settings::values.renderer_force_max_clock =          config->GetBoolean("Renderer", "force_max_clock", true); +    // Disable use_reactive_flushing by default on Android +    Settings::values.use_reactive_flushing = +            config->GetBoolean("Renderer", "use_reactive_flushing", false); +      // Audio      ReadSetting("Audio", Settings::values.sink_id);      ReadSetting("Audio", Settings::values.audio_output_device_id); diff --git a/src/android/app/src/main/jni/default_ini.h b/src/android/app/src/main/jni/default_ini.h index c5dfaff54..c92998858 100644 --- a/src/android/app/src/main/jni/default_ini.h +++ b/src/android/app/src/main/jni/default_ini.h @@ -328,6 +328,10 @@ shader_backend =  # 0 (default): Off, 1: On  use_asynchronous_shaders = +# Uses reactive flushing instead of predictive flushing. Allowing a more accurate syncing of memory. +# 0 (default): Off, 1: On +use_reactive_flushing = +  # NVDEC emulation.  # 0: Disabled, 1: CPU Decoding, 2 (default): GPU Decoding  nvdec_emulation = diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 7dae63dcb..c236811fa 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -169,6 +169,8 @@      <string name="renderer_force_max_clock_description">Forces the GPU to run at the maximum possible clocks (thermal constraints will still be applied).</string>      <string name="renderer_asynchronous_shaders">Use asynchronous shaders</string>      <string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, reducing stutter but may introduce glitches.</string> +    <string name="renderer_reactive_flushing">Use reactive flushing</string> +    <string name="renderer_reactive_flushing_description">Improves rendering accuracy in some games at the cost of performance.</string>      <string name="renderer_debug">Graphics debugging</string>      <string name="renderer_debug_description">Sets the graphics API to a slow debugging mode.</string>      <string name="use_disk_shader_cache">Disk shader cache</string> | 
