From 4a60085a7660f042f5ed4b5fd783b26d4ef77e07 Mon Sep 17 00:00:00 2001 From: xbzk Date: Sat, 14 Mar 2026 03:30:37 +0100 Subject: [PATCH] [android,settings] fix for *_combined (fastmem, gpu unswizzle) kotlin side only settings being unnecesarily requested to native (#3724) Fixes jni reporting error when these settings change. Combined settings are the grouping reference for settings like gpu unswizzle. As far as i recall, fastmen only uses it coz it has a sub setting in the past. [ 445.450666] Frontend main/jni/native_config.cpp:33:getSetting: [Android Native] Could not find setting - gpu_unswizzle_combined [ 450.054470] Frontend main/jni/native_config.cpp:33:getSetting: [Android Native] Could not find setting - fastmem_combined Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3724 Reviewed-by: DraVee Reviewed-by: MaranBr Co-authored-by: xbzk Co-committed-by: xbzk --- .../settings/model/view/GpuUnswizzleSetting.kt | 16 +++++++++++++++- .../features/settings/model/view/SettingsItem.kt | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt index 5d6535e81e..a9a40f6903 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/GpuUnswizzleSetting.kt @@ -27,6 +27,20 @@ class GpuUnswizzleSetting( override val isSaveable = true override val isRuntimeModifiable = true override val isSwitchable = true + override val pairedSettingKey: String = "" + override var global: Boolean + get() { + return BooleanSetting.GPU_UNSWIZZLE_ENABLED.global && + IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.global && + IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.global && + IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.global + } + set(value) { + BooleanSetting.GPU_UNSWIZZLE_ENABLED.global = value + IntSetting.GPU_UNSWIZZLE_TEXTURE_SIZE.global = value + IntSetting.GPU_UNSWIZZLE_STREAM_SIZE.global = value + IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.global = value + } override fun getValueAsString(needsGlobal: Boolean): String = "combined" override fun reset() { BooleanSetting.GPU_UNSWIZZLE_ENABLED.reset() @@ -72,4 +86,4 @@ class GpuUnswizzleSetting( IntSetting.GPU_UNSWIZZLE_CHUNK_SIZE.setInt(value) fun reset() = setting.reset() -} \ No newline at end of file +} 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 a8bd44983b..a20858f0a9 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 @@ -989,6 +989,7 @@ abstract class SettingsItem( override val isRuntimeModifiable: Boolean = false override val defaultValue: Boolean = true override val isSwitchable: Boolean = true + override val pairedSettingKey: String = "" override var global: Boolean get() { return BooleanSetting.FASTMEM.global &&