vello/piet-gpu/shader
Raph Levien 3b67a4e7c1 New clip implementation
This PR reworks the clip implementation. The highlight is that clip bounding box accounting is now done on GPU rather than CPU. The clip mask is also rasterized on EndClip rather than BeginClip, which decreases memory traffic needed for the clip stack.

This is a pretty good working state, but not all cleanup has been applied. An important next step is to remove the CPU clip accounting (it is computed and encoded, but that result is not used). Another step is to remove the Annotated structure entirely.

Fixes #88. Also relevant to #119
2022-02-17 17:13:28 -08:00
..
gen New clip implementation 2022-02-17 17:13:28 -08:00
.clang-format shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
annotated.h Start work on gradients 2021-07-12 06:56:52 -07:00
backdrop.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
bbox_clear.comp Beginnings of new element pipeline 2021-12-03 15:33:01 -08:00
binning.comp New clip implementation 2022-02-17 17:13:28 -08:00
bins.h all: add optional memory checks 2021-02-15 16:07:45 +01:00
build.ninja New clip implementation 2022-02-17 17:13:28 -08:00
clip_leaf.comp New clip implementation 2022-02-17 17:13:28 -08:00
clip_reduce.comp New clip implementation 2022-02-17 17:13:28 -08:00
coarse.comp New clip implementation 2022-02-17 17:13:28 -08:00
draw_leaf.comp New clip implementation 2022-02-17 17:13:28 -08:00
draw_reduce.comp Adjust workgroup sizes 2021-12-08 11:48:38 -08:00
draw_scan.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
drawtag.h Restore gradients and clips 2021-12-07 18:39:33 -08:00
kernel4.comp New clip implementation 2022-02-17 17:13:28 -08:00
mem.h avoid non-uniform barrier control flow when exhausting memory 2021-04-20 10:15:29 +02:00
path_coarse.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
pathseg.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
pathseg.h collapse FillCubic and StrokeCubic into Cubic with flags for fill mode 2021-03-19 12:50:12 +01:00
pathtag.h Path stream processing 2021-12-01 07:33:24 -08:00
pathtag_reduce.comp Adjust workgroup sizes 2021-12-08 11:48:38 -08:00
pathtag_scan.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
ptcl.h Start work on gradients 2021-07-12 06:56:52 -07:00
scene.h Start work on gradients 2021-07-12 06:56:52 -07:00
setup.h New clip implementation 2022-02-17 17:13:28 -08:00
state.h ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
tile.h ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
tile_alloc.comp Adjust workgroup sizes 2021-12-08 11:48:38 -08:00
transform_leaf.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00
transform_reduce.comp Adjust workgroup sizes 2021-12-08 11:48:38 -08:00
transform_scan.comp shaders: Add .clang-format and reformat 2022-01-30 16:33:14 +09:00