diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts
index 3ae6d73994..69dd6a8e4f 100644
--- a/src/android/app/build.gradle.kts
+++ b/src/android/app/build.gradle.kts
@@ -259,7 +259,7 @@ android {
externalNativeBuild {
cmake {
- version = "3.31.6"
+ version = "3.31.5"
path = file("${edenDir}/CMakeLists.txt")
}
}
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index 191506c818..12df552e86 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -596,7 +596,7 @@
GPU Readback Before NCE Invalidation
Temporary. Fix Ender Magnolia (and other UE titles) crashes. May reduce performance. Improvement in progress.
Fix Bloom Effects
- Reduces bloom blur in LA/EOW (Adreno A6XX - A7XX/ Turnip), removes bloom in Burnout. Warning: may cause graphical artifacts in other games.
+ Removes bloom in Burnout.
Emulate BGR565
Fixes problems with inverted colors in games or strange artifacts or strange shadows.
Enable Legacy Rescale Pass
diff --git a/src/core/arm/nce/arm_nce_asm_definitions.h b/src/core/arm/nce/arm_nce_asm_definitions.h
index 8ea4383f73..ec6abd62d2 100644
--- a/src/core/arm/nce/arm_nce_asm_definitions.h
+++ b/src/core/arm/nce/arm_nce_asm_definitions.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project */
/* SPDX-License-Identifier: GPL-2.0-or-later */
@@ -5,9 +8,22 @@
#define __ASSEMBLY__
+// Newer Linux UAPI headers check __ASSEMBLER__ instead of __ASSEMBLY__ to hide C declarations.
+// Without it, asm-generic/signal.h redeclares sigset_t and clashes with glibc's. Only define it
+// around these includes, since glibc headers also look at __ASSEMBLER__.
+#ifndef __ASSEMBLER__
+#define __ASSEMBLER__
+#define EDEN_NCE_UNDEF_ASSEMBLER
+#endif
+
#include
#include
+#ifdef EDEN_NCE_UNDEF_ASSEMBLER
+#undef __ASSEMBLER__
+#undef EDEN_NCE_UNDEF_ASSEMBLER
+#endif
+
#define ReturnToRunCodeByExceptionLevelChangeSignal SIGUSR2
#define BreakFromRunCodeSignal SIGURG
#define GuestAccessFaultSignal SIGSEGV
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
index 5d4983b9f7..9dda9553fd 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
@@ -586,16 +586,9 @@ Id EmitImageSampleExplicitLod(EmitContext& ctx, IR::Inst* inst, const IR::Value&
const bool is_integer{IsTextureInteger(ctx, info)};
const Id result_type{is_integer ? ctx.U32[4] : ctx.F32[4]};
const ImageOperands operands(ctx, false, true, false, lod, offset);
-
- Id result = Emit(&EmitContext::OpImageSparseSampleExplicitLod,
- &EmitContext::OpImageSampleExplicitLod, ctx, inst, result_type,
- Texture(ctx, info, index), coords, operands.Mask(), operands.Span());
-#ifdef __ANDROID__
- if (!is_integer && Settings::values.fix_bloom_effects.GetValue()) {
- result = ctx.OpVectorTimesScalar(ctx.F32[4], result, ctx.Const(0.98f));
- }
-#endif
- return is_integer ? ctx.OpBitcast(ctx.F32[4], result) : result;
+ return Emit(&EmitContext::OpImageSparseSampleExplicitLod,
+ &EmitContext::OpImageSampleExplicitLod, ctx, inst, ctx.F32[4],
+ Texture(ctx, info, index), coords, operands.Mask(), operands.Span());
}
Id EmitImageSampleDrefImplicitLod(EmitContext& ctx, IR::Inst* inst, const IR::Value& index,