mirror of
https://github.com/italicsjenga/vello.git
synced 2025-01-10 20:51:29 +11:00
7134be2329
We always do BeginClip/EndClip if it's a solid tile and the blend mode is not default. Also fix missing entry in pipeline layout (affects Vulkan but not Metal).
135 lines
6.4 KiB
GLSL
135 lines
6.4 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 --shader-model 60 $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/binning.spv: glsl binning.comp | bins.h drawtag.h setup.h mem.h
|
|
build gen/binning.hlsl: hlsl gen/binning.spv
|
|
build gen/binning.dxil: dxil gen/binning.hlsl
|
|
build gen/binning.msl: msl gen/binning.spv
|
|
|
|
build gen/tile_alloc.spv: glsl tile_alloc.comp | drawtag.h tile.h setup.h mem.h
|
|
build gen/tile_alloc.hlsl: hlsl gen/tile_alloc.spv
|
|
build gen/tile_alloc.dxil: dxil gen/tile_alloc.hlsl
|
|
build gen/tile_alloc.msl: msl gen/tile_alloc.spv
|
|
|
|
build gen/path_coarse.spv: glsl path_coarse.comp | pathseg.h tile.h setup.h mem.h
|
|
build gen/path_coarse.hlsl: hlsl gen/path_coarse.spv
|
|
build gen/path_coarse.dxil: dxil gen/path_coarse.hlsl
|
|
build gen/path_coarse.msl: msl gen/path_coarse.spv
|
|
|
|
build gen/backdrop.spv: glsl backdrop.comp | tile.h setup.h mem.h
|
|
build gen/backdrop.hlsl: hlsl gen/backdrop.spv
|
|
build gen/backdrop.dxil: dxil gen/backdrop.hlsl
|
|
build gen/backdrop.msl: msl gen/backdrop.spv
|
|
|
|
build gen/backdrop_lg.spv: glsl backdrop.comp | tile.h setup.h mem.h
|
|
flags = -DBACKDROP_DIST_FACTOR=4
|
|
build gen/backdrop_lg.hlsl: hlsl gen/backdrop_lg.spv
|
|
build gen/backdrop_lg.dxil: dxil gen/backdrop_lg.hlsl
|
|
build gen/backdrop_lg.msl: msl gen/backdrop_lg.spv
|
|
|
|
build gen/coarse.spv: glsl coarse.comp | drawtag.h bins.h ptcl.h blend.h setup.h mem.h
|
|
build gen/coarse.hlsl: hlsl gen/coarse.spv
|
|
build gen/coarse.dxil: dxil gen/coarse.hlsl
|
|
build gen/coarse.msl: msl gen/coarse.spv
|
|
|
|
build gen/kernel4.spv: glsl kernel4.comp | blend.h ptcl.h setup.h mem.h
|
|
build gen/kernel4.hlsl: hlsl gen/kernel4.spv
|
|
build gen/kernel4.dxil: dxil gen/kernel4.hlsl
|
|
build gen/kernel4.msl: msl gen/kernel4.spv
|
|
|
|
build gen/kernel4_gray.spv: glsl kernel4.comp | ptcl.h setup.h mem.h
|
|
flags = -DGRAY
|
|
build gen/kernel4_gray.hlsl: hlsl gen/kernel4_gray.spv
|
|
build gen/kernel4_gray.dxil: dxil gen/kernel4_gray.hlsl
|
|
build gen/kernel4_gray.msl: msl gen/kernel4_gray.spv
|
|
|
|
# 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 | setup.h
|
|
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_reduce.hlsl: hlsl gen/pathtag_reduce.spv
|
|
build gen/pathtag_reduce.dxil: dxil gen/pathtag_reduce.hlsl
|
|
build gen/pathtag_reduce.msl: msl gen/pathtag_reduce.spv
|
|
|
|
build gen/pathtag_root.spv: glsl pathtag_scan.comp | pathtag.h setup.h
|
|
flags = -DROOT
|
|
build gen/pathtag_root.hlsl: hlsl gen/pathtag_root.spv
|
|
build gen/pathtag_root.dxil: dxil gen/pathtag_root.hlsl
|
|
build gen/pathtag_root.msl: msl gen/pathtag_root.spv
|
|
|
|
build gen/bbox_clear.spv: glsl bbox_clear.comp | setup.h mem.h
|
|
build gen/bbox_clear.hlsl: hlsl gen/bbox_clear.spv
|
|
build gen/bbox_clear.dxil: dxil gen/bbox_clear.hlsl
|
|
build gen/bbox_clear.msl: msl gen/bbox_clear.spv
|
|
|
|
build gen/pathseg.spv: glsl pathseg.comp | tile.h pathseg.h pathtag.h setup.h mem.h
|
|
build gen/pathseg.hlsl: hlsl gen/pathseg.spv
|
|
build gen/pathseg.dxil: dxil gen/pathseg.hlsl
|
|
build gen/pathseg.msl: msl gen/pathseg.spv
|
|
|
|
build gen/draw_reduce.spv: glsl draw_reduce.comp | scene.h drawtag.h setup.h mem.h
|
|
build gen/draw_reduce.hlsl: hlsl gen/draw_reduce.spv
|
|
build gen/draw_reduce.dxil: dxil gen/draw_reduce.hlsl
|
|
build gen/draw_reduce.msl: msl gen/draw_reduce.spv
|
|
|
|
build gen/draw_root.spv: glsl draw_scan.comp | drawtag.h setup.h
|
|
flags = -DROOT
|
|
build gen/draw_root.hlsl: hlsl gen/draw_root.spv
|
|
build gen/draw_root.dxil: dxil gen/draw_root.hlsl
|
|
build gen/draw_root.msl: msl gen/draw_root.spv
|
|
|
|
build gen/draw_leaf.spv: glsl draw_leaf.comp | blend.h scene.h drawtag.h setup.h mem.h
|
|
build gen/draw_leaf.hlsl: hlsl gen/draw_leaf.spv
|
|
build gen/draw_leaf.dxil: dxil gen/draw_leaf.hlsl
|
|
build gen/draw_leaf.msl: msl gen/draw_leaf.spv
|
|
|
|
build gen/clip_reduce.spv: glsl clip_reduce.comp | mem.h setup.h
|
|
build gen/clip_reduce.hlsl: hlsl gen/clip_reduce.spv
|
|
build gen/clip_reduce.dxil: dxil gen/clip_reduce.hlsl
|
|
build gen/clip_reduce.msl: msl gen/clip_reduce.spv
|
|
|
|
build gen/clip_leaf.spv: glsl clip_leaf.comp | mem.h setup.h
|
|
build gen/clip_leaf.hlsl: hlsl gen/clip_leaf.spv
|
|
build gen/clip_leaf.dxil: dxil gen/clip_leaf.hlsl
|
|
build gen/clip_leaf.msl: msl gen/clip_leaf.spv
|
|
|
|
build spv: phony gen/backdrop_lg.spv gen/backdrop.spv gen/bbox_clear.spv gen/binning.spv gen/clip_leaf.spv gen/clip_reduce.spv gen/coarse.spv gen/draw_leaf.spv gen/draw_reduce.spv gen/draw_root.spv gen/kernel4.spv gen/kernel4_gray.spv gen/path_coarse.spv gen/pathseg.spv gen/pathtag_reduce.spv gen/pathtag_root.spv gen/tile_alloc.spv gen/transform_leaf.spv gen/transform_reduce.spv gen/transform_root.spv
|
|
build dxil: phony gen/backdrop.hlsl gen/backdrop_lg.hlsl gen/bbox_clear.hlsl gen/binning.hlsl gen/clip_leaf.hlsl gen/clip_reduce.hlsl gen/coarse.hlsl gen/draw_leaf.hlsl gen/draw_reduce.hlsl gen/draw_root.hlsl gen/kernel4.hlsl gen/kernel4_gray.hlsl gen/path_coarse.hlsl gen/pathseg.hlsl gen/pathtag_reduce.hlsl gen/pathtag_root.hlsl gen/tile_alloc.hlsl gen/transform_leaf.hlsl gen/transform_reduce.hlsl gen/transform_root.hlsl
|
|
build msl: phony gen/backdrop_lg.msl gen/backdrop.msl gen/bbox_clear.msl gen/binning.msl gen/clip_leaf.msl gen/clip_reduce.msl gen/coarse.msl gen/draw_leaf.msl gen/draw_reduce.msl gen/draw_root.msl gen/kernel4.msl gen/kernel4_gray.msl gen/path_coarse.msl gen/pathseg.msl gen/pathtag_reduce.msl gen/pathtag_root.msl gen/tile_alloc.msl gen/transform_leaf.msl gen/transform_reduce.msl gen/transform_root.msl
|