2023-09-22 21:38:02 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
Import("env")
|
|
|
|
|
|
|
|
if "RD_GLSL" in env["BUILDERS"]:
|
|
|
|
# find all include files
|
|
|
|
gl_include_files = [str(f) for f in Glob("*_inc.glsl")] + [str(f) for f in Glob("../*_inc.glsl")]
|
|
|
|
|
2023-11-24 11:23:22 +00:00
|
|
|
# Add all FSR2 shader and header files.
|
|
|
|
fsr2_dir = "#thirdparty/amd-fsr2/shaders"
|
|
|
|
gl_include_files += [str(f) for f in Glob(fsr2_dir + "/*.h")]
|
|
|
|
gl_include_files += [str(f) for f in Glob(fsr2_dir + "/*.glsl")]
|
|
|
|
|
2023-09-22 21:38:02 +00:00
|
|
|
# find all shader code(all glsl files excluding our include files)
|
|
|
|
glsl_files = [str(f) for f in Glob("*.glsl") if str(f) not in gl_include_files]
|
|
|
|
|
|
|
|
# make sure we recompile shaders if include files change
|
|
|
|
env.Depends([f + ".gen.h" for f in glsl_files], gl_include_files + ["#glsl_builders.py"])
|
|
|
|
|
|
|
|
# compile shaders
|
|
|
|
for glsl_file in glsl_files:
|
|
|
|
env.RD_GLSL(glsl_file)
|