mirror of
https://github.com/italicsjenga/vello.git
synced 2024-10-17 23:11:30 +11:00
178761dcb3
This patch contains the core of the path stream processing, though some integration bits are missing. The core logic is tested, though combinations of path types, transforms, and line widths are not (yet). Progress towards #119
69 lines
2.2 KiB
GLSL
69 lines
2.2 KiB
GLSL
# 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 elements.spv: glsl elements.comp | scene.h state.h annotated.h
|
|
|
|
build binning.spv: glsl binning.comp | annotated.h state.h bins.h setup.h
|
|
|
|
build tile_alloc.spv: glsl tile_alloc.comp | annotated.h tile.h setup.h
|
|
|
|
build path_coarse.spv: glsl path_coarse.comp | annotated.h pathseg.h tile.h setup.h
|
|
|
|
build backdrop.spv: glsl backdrop.comp | annotated.h tile.h setup.h
|
|
|
|
build backdrop_lg.spv: glsl backdrop.comp | annotated.h tile.h setup.h
|
|
flags = -DBACKDROP_DIST_FACTOR=4
|
|
|
|
build coarse.spv: glsl coarse.comp | annotated.h bins.h ptcl.h setup.h
|
|
|
|
build kernel4.spv: glsl kernel4.comp | ptcl.h setup.h
|
|
|
|
# New element pipeline follows
|
|
|
|
build gen/transform_reduce.spv: glsl transform_reduce.comp | scene.h setup.h mem.h
|
|
build gen/transform_reduce.hlsl: hlsl gen/transform_reduce.spv
|
|
build gen/transform_reduce.dxil: dxil gen/transform_reduce.hlsl
|
|
build gen/transform_reduce.msl: msl gen/transform_reduce.spv
|
|
|
|
build gen/transform_root.spv: glsl transform_scan.comp
|
|
flags = -DROOT
|
|
build gen/transform_root.hlsl: hlsl gen/transform_root.spv
|
|
build gen/transform_root.dxil: dxil gen/transform_root.hlsl
|
|
build gen/transform_root.msl: msl gen/transform_root.spv
|
|
|
|
build gen/transform_leaf.spv: glsl transform_leaf.comp | scene.h tile.h setup.h mem.h
|
|
build gen/transform_leaf.hlsl: hlsl gen/transform_leaf.spv
|
|
build gen/transform_leaf.dxil: dxil gen/transform_leaf.hlsl
|
|
build gen/transform_leaf.msl: msl gen/transform_leaf.spv
|
|
|
|
build gen/pathtag_reduce.spv: glsl pathtag_reduce.comp | pathtag.h setup.h mem.h
|
|
|
|
build gen/pathtag_root.spv: glsl pathtag_scan.comp | pathtag.h
|
|
flags = -DROOT
|
|
|
|
build gen/bbox_clear.spv: glsl bbox_clear.comp | setup.h mem.h
|
|
|
|
build gen/pathseg.spv: glsl pathseg.comp | tile.h pathseg.h pathtag.h setup.h mem.h
|