vello/piet-gpu/shader
Elias Naur 07e07c7544 ensure consistent path segment transformation
As described in #62, the non-deterministic scene monoid may result in
slightly different transformations for path segments in an otherwise
closed path.

This change ensures consistent transformation across paths in three steps.

First, absolute transformations computed by the scene monoid is stored
along with path segments and annotated elements.

Second, elements.comp no longer transforms path segments. Instead, each
segment is stored untransformed along with a reference to its absolute
transformation.

Finally, path_coarse performs the transformation of path segments.
Because all segments in a path share a single transformation reference,
the inconsistency in #62 is avoided.

Fixes #62

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2021-03-19 12:45:23 +01:00
..
annotated.h all: add optional memory checks 2021-02-15 16:07:45 +01:00
backdrop.comp all: add optional memory checks 2021-02-15 16:07:45 +01:00
backdrop.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
binning.comp all: add optional memory checks 2021-02-15 16:07:45 +01:00
binning.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
bins.h all: add optional memory checks 2021-02-15 16:07:45 +01:00
build.ninja piet-gpu-types: remove unused scene elements 2020-09-27 18:57:53 +02:00
coarse.comp all: add optional memory checks 2021-02-15 16:07:45 +01:00
coarse.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
elements.comp ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
elements.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
kernel4.comp kernel4.comp: remove unused commands 2021-02-24 15:32:24 +01:00
kernel4.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
mem.h all: add optional memory checks 2021-02-15 16:07:45 +01:00
path_coarse.comp ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
path_coarse.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
pathseg.h ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00
ptcl.h kernel4.comp: remove unused commands 2021-02-24 15:32:24 +01:00
scene.h all: add SPDX license headers 2020-12-11 18:24:35 +01:00
setup.h ensure consistent path segment transformation 2021-03-19 12:45:23 +01: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 all: add optional memory checks 2021-02-15 16:07:45 +01:00
tile_alloc.spv ensure consistent path segment transformation 2021-03-19 12:45:23 +01:00