diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.kt index 997e30a30..3f6a14480 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/model/BooleanSetting.kt @@ -42,6 +42,7 @@ enum class BooleanSetting( ENABLE_REALTIME_AUDIO("enable_realtime_audio", Settings.SECTION_AUDIO, false), CPU_JIT("use_cpu_jit", Settings.SECTION_CORE, true), HW_SHADER("use_hw_shader", Settings.SECTION_RENDERER, true), + SHADER_JIT("use_shader_jit", Settings.SECTION_RENDERER, true), VSYNC("use_vsync_new", Settings.SECTION_RENDERER, true), USE_FRAME_LIMIT("use_frame_limit", Settings.SECTION_RENDERER, true), DEBUG_RENDERER("renderer_debug", Settings.SECTION_DEBUG, false), diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt index 70b896e92..d82e30acd 100644 --- a/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/citra/citra_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -1596,6 +1596,15 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) BooleanSetting.HW_SHADER.defaultValue ) ) + add( + SwitchSetting( + BooleanSetting.SHADER_JIT, + R.string.shader_jit, + R.string.shader_jit_description, + BooleanSetting.SHADER_JIT.key, + BooleanSetting.SHADER_JIT.defaultValue + ) + ) add( SwitchSetting( BooleanSetting.VSYNC, diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index a1deb0e2f..e1d1d2a95 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -233,6 +233,8 @@ Graphics API Enable SPIR-V shader generation Emits the fragment shader used to emulate PICA using SPIR-V instead of GLSL + Disable SPIR-V Optimizer + Disables the SPIR-V optimization pass, reducing stuttering considerably while barely affecting performance. Enable asynchronous shader compilation Compiles shaders in the background to reduce stuttering during gameplay. When enabled expect temporary graphical glitches Linear Filtering @@ -324,8 +326,10 @@ Makes async operations deterministic for debugging. Enabling this may cause freezes. Enable RPC Server Enables the RPC server on port 45987. This allows remotely reading/writing guest memory. + Enable Shader JIT + Use the JIT engine instead of the interpreter for software shader emulation. - + Screen Orientation Automatic Landscape @@ -870,7 +874,5 @@ Quickload Quicksave - %1$tF %1$tR No Quicksave available. - Disable SPIR-V Optimizer - Disables the SPIR-V optimization pass, reducing stuttering considerably while barely affecting performance.