vello/piet-gpu/shader
Elias Naur 4de67d9081 unify GPU memory management
Merge all static and dynamic buffers to just one, "memory". Add a malloc
function for dynamic allocations.

Unify static allocation offsets into a "config" buffer containing scene setup
(number of paths, number of path segments), as well as the memory offsets of
the static allocations.

Finally, set an overflow flag when an allocation fail, and make sure to exit
shader execution as soon as that triggers. Add checks before beginning
execution in case the client wants to run two or more shaders before checking
the flag.

The "state" buffer is left alone because it needs zero'ing and because it is
accessed with the "volatile" keyword.

Fixes #40

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2020-12-27 20:24:29 +01:00
..
annotated.h unify GPU memory management 2020-12-27 20:24:29 +01:00
backdrop.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
backdrop.spv unify GPU memory management 2020-12-27 20:24:29 +01:00
binning.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
binning.spv unify GPU memory management 2020-12-27 20:24:29 +01:00
bins.h unify GPU memory management 2020-12-27 20:24:29 +01:00
build.ninja piet-gpu-types: remove unused scene elements 2020-09-27 18:57:53 +02:00
coarse.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
coarse.spv unify GPU memory management 2020-12-27 20:24:29 +01:00
elements.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
elements.spv unify GPU memory management 2020-12-27 20:24:29 +01:00
kernel4.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
kernel4.spv unify GPU memory management 2020-12-27 20:24:29 +01:00
mem.h unify GPU memory management 2020-12-27 20:24:29 +01:00
path_coarse.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
path_coarse.spv unify GPU memory management 2020-12-27 20:24:29 +01:00
pathseg.h unify GPU memory management 2020-12-27 20:24:29 +01:00
ptcl.h unify GPU memory management 2020-12-27 20:24:29 +01:00
scene.h all: add SPDX license headers 2020-12-11 18:24:35 +01:00
setup.h unify GPU memory management 2020-12-27 20:24:29 +01:00
state.h all: add SPDX license headers 2020-12-11 18:24:35 +01:00
tile.h unify GPU memory management 2020-12-27 20:24:29 +01:00
tile_alloc.comp unify GPU memory management 2020-12-27 20:24:29 +01:00
tile_alloc.spv unify GPU memory management 2020-12-27 20:24:29 +01:00