From 866881d0e36721f52ce3d788c2a33c28ad1fcaeb Mon Sep 17 00:00:00 2001 From: MrPurple666 Date: Mon, 9 Feb 2026 04:26:43 +0100 Subject: [PATCH] [android] add FD_DEV_FEATURES in env loader (#3493) This environment variable fixes some glitches in OneUI 7 and HyperOS 3. Thanks StevenMX for letting me know. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3493 Reviewed-by: CamilleLaVey Co-authored-by: MrPurple666 Co-committed-by: MrPurple666 --- .../yuzu_emu/fragments/FreedrenoSettingsFragment.kt | 4 ++-- .../org/yuzu/yuzu_emu/utils/NativeFreedrenoConfig.kt | 12 +++++++++++- src/android/app/src/main/jni/native_freedreno.cpp | 7 ++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/FreedrenoSettingsFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/FreedrenoSettingsFragment.kt index c86ef0b800..40111272d5 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/FreedrenoSettingsFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/FreedrenoSettingsFragment.kt @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later package org.yuzu.yuzu_emu.fragments @@ -110,7 +110,7 @@ class FreedrenoSettingsFragment : Fragment() { val commonVars = listOf( "TU_DEBUG", "FD_MESA_DEBUG", "IR3_SHADER_DEBUG", "FD_RD_DUMP", "FD_RD_DUMP_FRAMES", "FD_RD_DUMP_TESTNAME", - "TU_BREADCRUMBS" + "TU_BREADCRUMBS", "FD_DEV_FEATURES" ) for (varName in commonVars) { diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/NativeFreedrenoConfig.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/NativeFreedrenoConfig.kt index 44d5ac5b7f..f9c3f71c36 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/NativeFreedrenoConfig.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/NativeFreedrenoConfig.kt @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later package org.yuzu.yuzu_emu.utils @@ -144,6 +144,15 @@ object FreedrenoPresets { ) ) + val DEV_FEATURES_UBWC_HINT = FreedrenoPreset( + name = "Dev - UBWC Flag Hint", + description = "Enable TP UBWC flag hint for development", + icon = "ic_dev_features", + variables = mapOf( + "FD_DEV_FEATURES" to "enable_tp_ubwc_flag_hint=1" + ) + ) + val PERFORMANCE_DEFAULT = FreedrenoPreset( name = "Performance - Default", description = "Clear all debug options for performance", @@ -159,6 +168,7 @@ object FreedrenoPresets { CAPTURE_FRAMES, SHADER_DEBUG, GPU_HANG_TRACE, + DEV_FEATURES_UBWC_HINT, PERFORMANCE_DEFAULT ) } diff --git a/src/android/app/src/main/jni/native_freedreno.cpp b/src/android/app/src/main/jni/native_freedreno.cpp index 0879a85ea8..15c798e5ef 100644 --- a/src/android/app/src/main/jni/native_freedreno.cpp +++ b/src/android/app/src/main/jni/native_freedreno.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later /** @@ -258,6 +258,11 @@ Java_org_yuzu_yuzu_1emu_utils_NativeFreedrenoConfig_setFreedrenoEnv( } LOG_INFO(Frontend, "[Freedreno] Set {}={}", var_name, value); + + if (var_name == "FD_DEV_FEATURES") { + LOG_INFO(Frontend, "[Freedreno] FD_DEV_FEATURES enabled: {}", value); + } + return JNI_TRUE; }