diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
index e482725196..eccf0549e7 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
@@ -18,6 +18,7 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
SKIP_CPU_INNER_INVALIDATION("skip_cpu_inner_invalidation"),
FIX_BLOOM_EFFECTS("fix_bloom_effects"),
EMULATE_BGR565("emulate_bgr565"),
+ RESCALE_HACK("rescale_hack"),
CPUOPT_UNSAFE_HOST_MMU("cpuopt_unsafe_host_mmu"),
USE_DOCKED_MODE("use_docked_mode"),
USE_AUTO_STUB("use_auto_stub"),
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
index db2edba1b9..3a5f466f07 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
@@ -747,6 +747,13 @@ abstract class SettingsItem(
descriptionId = R.string.fix_bloom_effects_description
)
)
+ put(
+ SwitchSetting(
+ BooleanSetting.RESCALE_HACK,
+ titleId = R.string.rescale_hack,
+ descriptionId = R.string.rescale_hack_description
+ )
+ )
put(
SwitchSetting(
BooleanSetting.EMULATE_BGR565,
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 ccbe808cf6..9f0e409cf4 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
@@ -293,6 +293,7 @@ class SettingsFragmentPresenter(
add(BooleanSetting.SKIP_CPU_INNER_INVALIDATION.key)
add(BooleanSetting.FIX_BLOOM_EFFECTS.key)
add(BooleanSetting.EMULATE_BGR565.key)
+ add(BooleanSetting.RESCALE_HACK.key)
add(BooleanSetting.RENDERER_ASYNCHRONOUS_SHADERS.key)
add(BooleanSetting.RENDERER_ASYNCHRONOUS_GPU_EMULATION.key)
add(BooleanSetting.RENDERER_ASYNC_PRESENTATION.key)
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index d143a12f4e..7cdce5339f 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -511,6 +511,8 @@
Reduces bloom blur in LA/EOW (Adreno A6XX - A7XX/ Turnip), removes bloom in Burnout. Warning: may cause graphical artifacts in other games.
Emulate BGR565
Fixes problems with inverted colors in games or strange artifacts or strange shadows.
+ Enable Legacy Rescale Pass
+ Enables a legacy handling for the rescale configuration pass for games by using a quick rescale path
Use asynchronous shaders
Compiles shaders asynchronously. This may reduce stutters but may also introduce glitches.
GPU Unswizzle Settings
diff --git a/src/common/settings.h b/src/common/settings.h
index 9749a8df40..d9e1f09dcc 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -554,8 +554,13 @@ struct Values {
SwitchableSetting emulate_bgr565{linkage, false, "emulate_bgr565",
Category::RendererHacks};
- SwitchableSetting rescale_hack{linkage, false, "rescale_hack",
- Category::RendererHacks};
+ SwitchableSetting rescale_hack{linkage,
+#ifdef __ANDROID__
+ true,
+#else
+ false,
+#endif
+ "rescale_hack", Category::RendererHacks};
SwitchableSetting use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders",
Category::RendererHacks};