| """Build rules for utilizing glslang.""" |
| def _glslang(name, mode = None, target = None, **kwargs): |
| fail("Illegal mode {}".format(mode), "mode") |
| if target not in TARGETS: |
| fail("Illegal target {}".format(target), "target") |
| tools = ["@glslang//:glslangValidator"], |
| cmd = ("$(location @glslang//:glslangValidator) " + |
| MODES[mode] + " " + TARGETS[target] + ' "$(SRCS)" -o "$@"'), |
| def glsl_vulkan(name, **kwargs): |
| _glslang(name, "glsl", "vulkan", **kwargs) |
| def hlsl_vulkan(name, **kwargs): |
| _glslang(name, "hlsl", "vulkan", **kwargs) |