From f1bfb9416d6099448a31ffce10359ca89f709737 Mon Sep 17 00:00:00 2001 From: Ylederman153 Date: Tue, 3 Mar 2026 23:49:27 -0500 Subject: [PATCH] [Build] Remove /all_resources_bound from FXC shader compilation flags (#901) The /all_resources_bound flag alters the generated DXBC bytecode by changing dcl_globalFlags, register allocation and instruction scheduling. This causes rendering artifacts (blue lightning/flash glitches) at scaled draw resolutions. The other FXC flags (/O3, /Qstrip_*, /Gfp) are retained as they do not affect the executable shader bytecode. --- xenia-build.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xenia-build.py b/xenia-build.py index e3e23e4c6..a98c39e14 100755 --- a/xenia-build.py +++ b/xenia-build.py @@ -1208,7 +1208,11 @@ def build_shaders(targets=None): src_path, ]) else: - # FXC uses traditional syntax + # FXC uses traditional syntax. + # Do NOT use /all_resources_bound — it alters the generated + # DXBC bytecode (changes dcl_globalFlags, register allocation + # and instruction scheduling) which causes rendering artifacts + # such as blue lightning/flash glitches at scaled resolutions. compiler_args.extend([ "/D", "SHADING_LANGUAGE_HLSL_XE=1", "/I", src_dir, @@ -1219,7 +1223,6 @@ def build_shaders(targets=None): "/Qstrip_reflect", "/Qstrip_debug", "/Qstrip_priv", - "/all_resources_bound", "/Gfp", "/nologo", src_path,