From 469c9aff91a3265da5730eac6cb86571b4cbce2c Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Sun, 16 Aug 2026 15:08:12 -0400 Subject: [PATCH] Another change --- CMakeLists.txt | 6 +++--- src/android/app/src/main/jni/native.cpp | 22 +++++++++++++++++++++- src/yuzu/configuration/shared_widget.cpp | 9 ++------- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cd35d688e7..4254b18d0b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -342,12 +342,12 @@ if (CXX_GCC OR CXX_CLANG) endif() elseif(ARCHITECTURE_arm64) # See https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html - set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, sd855, armv9, native") + set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, optimized, armv9, native") set(mtune generic) if (${YUZU_BUILD_PRESET} STREQUAL "generic") set(march armv8-a) - elseif (${YUZU_BUILD_PRESET} STREQUAL "sd855") - set(march armv8.4-a) + elseif (${YUZU_BUILD_PRESET} STREQUAL "optimized") + set(march armv8.2-a+lse+rcpc) elseif (${YUZU_BUILD_PRESET} STREQUAL "armv9") set(march armv9-a) endif() diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index db808f2e80..4d0c39f5c7 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -1000,7 +1000,7 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCpuSummary(JNIEnv* env, jobject FILE* f = std::fopen(CPUINFO_PATH, "r"); if (!f) return Common::Android::ToJString(env, result); - char buf[512]; + char buf[4096]; if (f) { std::set feature_set; @@ -1031,7 +1031,13 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCpuSummary(JNIEnv* env, jobject bool has_dotprod = feature_set.count("asimddp") || feature_set.count("dotprod"); bool has_i8mm = feature_set.count("i8mm"); bool has_bf16 = feature_set.count("bf16"); + bool has_fp16 = feature_set.count("fphp") || feature_set.count("asimdhp"); bool has_atomics = feature_set.count("atomics") || feature_set.count("lse"); + bool has_lse2 = feature_set.count("uscat"); + bool has_rcpc = feature_set.count("lrcpc"); + bool has_rcpc2 = feature_set.count("ilrcpc"); + bool has_flagm = feature_set.count("flagm"); + bool has_flagm2 = feature_set.count("flagm2"); std::string features; if (has_neon || has_fp) { @@ -1039,6 +1045,7 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCpuSummary(JNIEnv* env, jobject if (has_dotprod) features += "+DP"; if (has_i8mm) features += "+I8MM"; if (has_bf16) features += "+BF16"; + if (has_fp16) features += "+FP16"; } if (has_sve) { @@ -1055,6 +1062,19 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCpuSummary(JNIEnv* env, jobject if (has_atomics) { if (!features.empty()) features += " | "; features += "LSE"; + if (has_lse2) features += "2"; + } + + if (has_rcpc) { + if (!features.empty()) features += " | "; + features += "RCpc"; + if (has_rcpc2) features += "2"; + } + + if (has_flagm) { + if (!features.empty()) features += " | "; + features += "FlagM"; + if (has_flagm2) features += "2"; } if (!features.empty()) { diff --git a/src/yuzu/configuration/shared_widget.cpp b/src/yuzu/configuration/shared_widget.cpp index 5f28299065..0f59ee23a6 100644 --- a/src/yuzu/configuration/shared_widget.cpp +++ b/src/yuzu/configuration/shared_widget.cpp @@ -773,13 +773,8 @@ Builder::Builder(QWidget* parent_, bool runtime_lock_) Builder::~Builder() = default; static bool IsAndroidOnly(const Settings::BasicSetting& setting) { - const auto id = setting.Id(); - return id == Settings::values.frame_gen.Id() || - id == Settings::values.frame_gen_multiplier.Id() || - id == Settings::values.frame_gen_flow_scale.Id() || - id == Settings::values.frame_gen_fp16.Id() || - id == Settings::values.frame_gen_dump_flow.Id() || - id == Settings::values.emulate_bgr565.Id(); + const std::string& label = setting.GetLabel(); + return label.starts_with("frame_gen") || label == "emulate_bgr565"; } Widget* Builder::BuildWidget(Settings::BasicSetting* setting,