| # Build file for shaders. |
| |
| # You must have Vulkan tools in your path, or patch here. |
| |
| glslang_validator = glslangValidator |
| spirv_cross = spirv-cross |
| dxc = dxc |
| |
| # See https://github.com/KhronosGroup/SPIRV-Cross/issues/1248 for |
| # why we set this. |
| msl_flags = --msl-decoration-binding |
| |
| rule glsl |
| command = $glslang_validator $flags -V -o $out $in |
| |
| rule hlsl |
| command = $spirv_cross --hlsl $in --output $out |
| |
| rule dxil |
| command = $dxc -T cs_6_0 $in -Fo $out |
| |
| rule msl |
| command = $spirv_cross --msl $in --output $out $msl_flags |
| |
| build gen/clear.spv: glsl clear.comp |
| build gen/clear.hlsl: hlsl gen/clear.spv |
| build gen/clear.dxil: dxil gen/clear.hlsl |
| build gen/clear.msl: msl gen/clear.spv |
| |
| build gen/prefix.spv: glsl prefix.comp |
| build gen/prefix.hlsl: hlsl gen/prefix.spv |
| build gen/prefix.dxil: dxil gen/prefix.hlsl |
| build gen/prefix.msl: msl gen/prefix.spv |
| |
| build gen/prefix_atomic.spv: glsl prefix.comp |
| flags = -DATOMIC |
| build gen/prefix_atomic.hlsl: hlsl gen/prefix_atomic.spv |
| build gen/prefix_atomic.dxil: dxil gen/prefix_atomic.hlsl |
| build gen/prefix_atomic.msl: msl gen/prefix_atomic.spv |
| |
| build gen/prefix_vkmm.spv: glsl prefix.comp |
| flags = -DATOMIC -DVKMM |
| # Vulkan memory model doesn't translate |
| |
| build gen/prefix_reduce.spv: glsl prefix_reduce.comp |
| build gen/prefix_reduce.hlsl: hlsl gen/prefix_reduce.spv |
| build gen/prefix_reduce.dxil: dxil gen/prefix_reduce.hlsl |
| build gen/prefix_reduce.msl: msl gen/prefix_reduce.spv |
| |
| build gen/prefix_root.spv: glsl prefix_scan.comp |
| flags = -DROOT |
| build gen/prefix_root.hlsl: hlsl gen/prefix_root.spv |
| build gen/prefix_root.dxil: dxil gen/prefix_root.hlsl |
| build gen/prefix_root.msl: msl gen/prefix_root.spv |
| |
| build gen/prefix_scan.spv: glsl prefix_scan.comp |
| build gen/prefix_scan.hlsl: hlsl gen/prefix_scan.spv |
| build gen/prefix_scan.dxil: dxil gen/prefix_scan.hlsl |
| build gen/prefix_scan.msl: msl gen/prefix_scan.spv |
| |
| build gen/message_passing.spv: glsl message_passing.comp |
| build gen/message_passing.hlsl: hlsl gen/message_passing.spv |
| build gen/message_passing.dxil: dxil gen/message_passing.hlsl |
| build gen/message_passing.msl: msl gen/message_passing.spv |
| |
| build gen/message_passing_vkmm.spv: glsl message_passing.comp |
| flags = -DVKMM |
| |
| build gen/linkedlist.spv: glsl linkedlist.comp |
| build gen/linkedlist.hlsl: hlsl gen/linkedlist.spv |
| build gen/linkedlist.dxil: dxil gen/linkedlist.hlsl |
| build gen/linkedlist.msl: msl gen/linkedlist.spv |