[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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user