[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.
This commit is contained in:
Ylederman153
2026-03-03 23:49:27 -05:00
committed by GitHub
parent 4757ab0931
commit f1bfb9416d

View File

@@ -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,