From dceb0f941246a3961e2bb3212e468eee2bedde8b Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Mon, 21 Sep 2020 10:24:18 +0200 Subject: [PATCH] piet-gpu-types: remove unused annotated types Signed-off-by: Elias Naur --- piet-gpu-types/src/annotated.rs | 33 ----- piet-gpu/shader/annotated.h | 230 +------------------------------- piet-gpu/shader/backdrop.spv | Bin 7272 -> 7256 bytes piet-gpu/shader/binning.spv | Bin 10136 -> 10136 bytes piet-gpu/shader/coarse.spv | Bin 30904 -> 30904 bytes piet-gpu/shader/elements.spv | Bin 52988 -> 52988 bytes piet-gpu/shader/tile_alloc.spv | Bin 8800 -> 8800 bytes 7 files changed, 3 insertions(+), 260 deletions(-) diff --git a/piet-gpu-types/src/annotated.rs b/piet-gpu-types/src/annotated.rs index d53d870..0e36f62 100644 --- a/piet-gpu-types/src/annotated.rs +++ b/piet-gpu-types/src/annotated.rs @@ -3,35 +3,6 @@ use piet_gpu_derive::piet_gpu; piet_gpu! { #[gpu_write] mod annotated { - // Note: path segments have moved to pathseg, delete these. - struct AnnoFillLineSeg { - p0: [f32; 2], - p1: [f32; 2], - path_ix: u32, - // A note: the layout of this struct is shared with - // AnnoStrokeLineSeg. In that case, we actually write - // [0.0, 0.0] as the stroke field, to minimize divergence. - } - struct AnnoStrokeLineSeg { - p0: [f32; 2], - p1: [f32; 2], - path_ix: u32, - // halfwidth in both x and y for binning - stroke: [f32; 2], - } - struct AnnoQuadSeg { - p0: [f32; 2], - p1: [f32; 2], - p2: [f32; 2], - stroke: [f32; 2], - } - struct AnnoCubicSeg { - p0: [f32; 2], - p1: [f32; 2], - p2: [f32; 2], - p3: [f32; 2], - stroke: [f32; 2], - } struct AnnoFill { rgba_color: u32, bbox: [f32; 4], @@ -45,10 +16,6 @@ piet_gpu! { } enum Annotated { Nop, - FillLine(AnnoFillLineSeg), - StrokeLine(AnnoStrokeLineSeg), - Quad(AnnoQuadSeg), - Cubic(AnnoCubicSeg), Stroke(AnnoStroke), Fill(AnnoFill), } diff --git a/piet-gpu/shader/annotated.h b/piet-gpu/shader/annotated.h index f243fab..5dcb4ad 100644 --- a/piet-gpu/shader/annotated.h +++ b/piet-gpu/shader/annotated.h @@ -1,21 +1,5 @@ // Code auto-generated by piet-gpu-derive -struct AnnoFillLineSegRef { - uint offset; -}; - -struct AnnoStrokeLineSegRef { - uint offset; -}; - -struct AnnoQuadSegRef { - uint offset; -}; - -struct AnnoCubicSegRef { - uint offset; -}; - struct AnnoFillRef { uint offset; }; @@ -28,58 +12,6 @@ struct AnnotatedRef { uint offset; }; -struct AnnoFillLineSeg { - vec2 p0; - vec2 p1; - uint path_ix; -}; - -#define AnnoFillLineSeg_size 20 - -AnnoFillLineSegRef AnnoFillLineSeg_index(AnnoFillLineSegRef ref, uint index) { - return AnnoFillLineSegRef(ref.offset + index * AnnoFillLineSeg_size); -} - -struct AnnoStrokeLineSeg { - vec2 p0; - vec2 p1; - uint path_ix; - vec2 stroke; -}; - -#define AnnoStrokeLineSeg_size 28 - -AnnoStrokeLineSegRef AnnoStrokeLineSeg_index(AnnoStrokeLineSegRef ref, uint index) { - return AnnoStrokeLineSegRef(ref.offset + index * AnnoStrokeLineSeg_size); -} - -struct AnnoQuadSeg { - vec2 p0; - vec2 p1; - vec2 p2; - vec2 stroke; -}; - -#define AnnoQuadSeg_size 32 - -AnnoQuadSegRef AnnoQuadSeg_index(AnnoQuadSegRef ref, uint index) { - return AnnoQuadSegRef(ref.offset + index * AnnoQuadSeg_size); -} - -struct AnnoCubicSeg { - vec2 p0; - vec2 p1; - vec2 p2; - vec2 p3; - vec2 stroke; -}; - -#define AnnoCubicSeg_size 40 - -AnnoCubicSegRef AnnoCubicSeg_index(AnnoCubicSegRef ref, uint index) { - return AnnoCubicSegRef(ref.offset + index * AnnoCubicSeg_size); -} - struct AnnoFill { uint rgba_color; vec4 bbox; @@ -104,134 +36,14 @@ AnnoStrokeRef AnnoStroke_index(AnnoStrokeRef ref, uint index) { } #define Annotated_Nop 0 -#define Annotated_FillLine 1 -#define Annotated_StrokeLine 2 -#define Annotated_Quad 3 -#define Annotated_Cubic 4 -#define Annotated_Stroke 5 -#define Annotated_Fill 6 -#define Annotated_size 44 +#define Annotated_Stroke 1 +#define Annotated_Fill 2 +#define Annotated_size 28 AnnotatedRef Annotated_index(AnnotatedRef ref, uint index) { return AnnotatedRef(ref.offset + index * Annotated_size); } -AnnoFillLineSeg AnnoFillLineSeg_read(AnnoFillLineSegRef ref) { - uint ix = ref.offset >> 2; - uint raw0 = annotated[ix + 0]; - uint raw1 = annotated[ix + 1]; - uint raw2 = annotated[ix + 2]; - uint raw3 = annotated[ix + 3]; - uint raw4 = annotated[ix + 4]; - AnnoFillLineSeg s; - s.p0 = vec2(uintBitsToFloat(raw0), uintBitsToFloat(raw1)); - s.p1 = vec2(uintBitsToFloat(raw2), uintBitsToFloat(raw3)); - s.path_ix = raw4; - return s; -} - -void AnnoFillLineSeg_write(AnnoFillLineSegRef ref, AnnoFillLineSeg s) { - uint ix = ref.offset >> 2; - annotated[ix + 0] = floatBitsToUint(s.p0.x); - annotated[ix + 1] = floatBitsToUint(s.p0.y); - annotated[ix + 2] = floatBitsToUint(s.p1.x); - annotated[ix + 3] = floatBitsToUint(s.p1.y); - annotated[ix + 4] = s.path_ix; -} - -AnnoStrokeLineSeg AnnoStrokeLineSeg_read(AnnoStrokeLineSegRef ref) { - uint ix = ref.offset >> 2; - uint raw0 = annotated[ix + 0]; - uint raw1 = annotated[ix + 1]; - uint raw2 = annotated[ix + 2]; - uint raw3 = annotated[ix + 3]; - uint raw4 = annotated[ix + 4]; - uint raw5 = annotated[ix + 5]; - uint raw6 = annotated[ix + 6]; - AnnoStrokeLineSeg s; - s.p0 = vec2(uintBitsToFloat(raw0), uintBitsToFloat(raw1)); - s.p1 = vec2(uintBitsToFloat(raw2), uintBitsToFloat(raw3)); - s.path_ix = raw4; - s.stroke = vec2(uintBitsToFloat(raw5), uintBitsToFloat(raw6)); - return s; -} - -void AnnoStrokeLineSeg_write(AnnoStrokeLineSegRef ref, AnnoStrokeLineSeg s) { - uint ix = ref.offset >> 2; - annotated[ix + 0] = floatBitsToUint(s.p0.x); - annotated[ix + 1] = floatBitsToUint(s.p0.y); - annotated[ix + 2] = floatBitsToUint(s.p1.x); - annotated[ix + 3] = floatBitsToUint(s.p1.y); - annotated[ix + 4] = s.path_ix; - annotated[ix + 5] = floatBitsToUint(s.stroke.x); - annotated[ix + 6] = floatBitsToUint(s.stroke.y); -} - -AnnoQuadSeg AnnoQuadSeg_read(AnnoQuadSegRef ref) { - uint ix = ref.offset >> 2; - uint raw0 = annotated[ix + 0]; - uint raw1 = annotated[ix + 1]; - uint raw2 = annotated[ix + 2]; - uint raw3 = annotated[ix + 3]; - uint raw4 = annotated[ix + 4]; - uint raw5 = annotated[ix + 5]; - uint raw6 = annotated[ix + 6]; - uint raw7 = annotated[ix + 7]; - AnnoQuadSeg s; - s.p0 = vec2(uintBitsToFloat(raw0), uintBitsToFloat(raw1)); - s.p1 = vec2(uintBitsToFloat(raw2), uintBitsToFloat(raw3)); - s.p2 = vec2(uintBitsToFloat(raw4), uintBitsToFloat(raw5)); - s.stroke = vec2(uintBitsToFloat(raw6), uintBitsToFloat(raw7)); - return s; -} - -void AnnoQuadSeg_write(AnnoQuadSegRef ref, AnnoQuadSeg s) { - uint ix = ref.offset >> 2; - annotated[ix + 0] = floatBitsToUint(s.p0.x); - annotated[ix + 1] = floatBitsToUint(s.p0.y); - annotated[ix + 2] = floatBitsToUint(s.p1.x); - annotated[ix + 3] = floatBitsToUint(s.p1.y); - annotated[ix + 4] = floatBitsToUint(s.p2.x); - annotated[ix + 5] = floatBitsToUint(s.p2.y); - annotated[ix + 6] = floatBitsToUint(s.stroke.x); - annotated[ix + 7] = floatBitsToUint(s.stroke.y); -} - -AnnoCubicSeg AnnoCubicSeg_read(AnnoCubicSegRef ref) { - uint ix = ref.offset >> 2; - uint raw0 = annotated[ix + 0]; - uint raw1 = annotated[ix + 1]; - uint raw2 = annotated[ix + 2]; - uint raw3 = annotated[ix + 3]; - uint raw4 = annotated[ix + 4]; - uint raw5 = annotated[ix + 5]; - uint raw6 = annotated[ix + 6]; - uint raw7 = annotated[ix + 7]; - uint raw8 = annotated[ix + 8]; - uint raw9 = annotated[ix + 9]; - AnnoCubicSeg s; - s.p0 = vec2(uintBitsToFloat(raw0), uintBitsToFloat(raw1)); - s.p1 = vec2(uintBitsToFloat(raw2), uintBitsToFloat(raw3)); - s.p2 = vec2(uintBitsToFloat(raw4), uintBitsToFloat(raw5)); - s.p3 = vec2(uintBitsToFloat(raw6), uintBitsToFloat(raw7)); - s.stroke = vec2(uintBitsToFloat(raw8), uintBitsToFloat(raw9)); - return s; -} - -void AnnoCubicSeg_write(AnnoCubicSegRef ref, AnnoCubicSeg s) { - uint ix = ref.offset >> 2; - annotated[ix + 0] = floatBitsToUint(s.p0.x); - annotated[ix + 1] = floatBitsToUint(s.p0.y); - annotated[ix + 2] = floatBitsToUint(s.p1.x); - annotated[ix + 3] = floatBitsToUint(s.p1.y); - annotated[ix + 4] = floatBitsToUint(s.p2.x); - annotated[ix + 5] = floatBitsToUint(s.p2.y); - annotated[ix + 6] = floatBitsToUint(s.p3.x); - annotated[ix + 7] = floatBitsToUint(s.p3.y); - annotated[ix + 8] = floatBitsToUint(s.stroke.x); - annotated[ix + 9] = floatBitsToUint(s.stroke.y); -} - AnnoFill AnnoFill_read(AnnoFillRef ref) { uint ix = ref.offset >> 2; uint raw0 = annotated[ix + 0]; @@ -283,22 +95,6 @@ uint Annotated_tag(AnnotatedRef ref) { return annotated[ref.offset >> 2]; } -AnnoFillLineSeg Annotated_FillLine_read(AnnotatedRef ref) { - return AnnoFillLineSeg_read(AnnoFillLineSegRef(ref.offset + 4)); -} - -AnnoStrokeLineSeg Annotated_StrokeLine_read(AnnotatedRef ref) { - return AnnoStrokeLineSeg_read(AnnoStrokeLineSegRef(ref.offset + 4)); -} - -AnnoQuadSeg Annotated_Quad_read(AnnotatedRef ref) { - return AnnoQuadSeg_read(AnnoQuadSegRef(ref.offset + 4)); -} - -AnnoCubicSeg Annotated_Cubic_read(AnnotatedRef ref) { - return AnnoCubicSeg_read(AnnoCubicSegRef(ref.offset + 4)); -} - AnnoStroke Annotated_Stroke_read(AnnotatedRef ref) { return AnnoStroke_read(AnnoStrokeRef(ref.offset + 4)); } @@ -311,26 +107,6 @@ void Annotated_Nop_write(AnnotatedRef ref) { annotated[ref.offset >> 2] = Annotated_Nop; } -void Annotated_FillLine_write(AnnotatedRef ref, AnnoFillLineSeg s) { - annotated[ref.offset >> 2] = Annotated_FillLine; - AnnoFillLineSeg_write(AnnoFillLineSegRef(ref.offset + 4), s); -} - -void Annotated_StrokeLine_write(AnnotatedRef ref, AnnoStrokeLineSeg s) { - annotated[ref.offset >> 2] = Annotated_StrokeLine; - AnnoStrokeLineSeg_write(AnnoStrokeLineSegRef(ref.offset + 4), s); -} - -void Annotated_Quad_write(AnnotatedRef ref, AnnoQuadSeg s) { - annotated[ref.offset >> 2] = Annotated_Quad; - AnnoQuadSeg_write(AnnoQuadSegRef(ref.offset + 4), s); -} - -void Annotated_Cubic_write(AnnotatedRef ref, AnnoCubicSeg s) { - annotated[ref.offset >> 2] = Annotated_Cubic; - AnnoCubicSeg_write(AnnoCubicSegRef(ref.offset + 4), s); -} - void Annotated_Stroke_write(AnnotatedRef ref, AnnoStroke s) { annotated[ref.offset >> 2] = Annotated_Stroke; AnnoStroke_write(AnnoStrokeRef(ref.offset + 4), s); diff --git a/piet-gpu/shader/backdrop.spv b/piet-gpu/shader/backdrop.spv index 67d05dfb6314282d14da2f770eeaf1950d5a02f2..fdbb4f1b1a11f1c4901d4b7fa46b750ae3efe68c 100644 GIT binary patch literal 7256 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 j|7M)*|hd literal 7272 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 delta 29 jcmbQ?Kf`|m3pb)UYtek8N3=Btsn050*f$d@dcN_fGj53>9HBXoF-e6#0aAaU*-~`fXlN;v=Z~ib(fsywfl5o-FgY$(q J8!R}Z2LMiW5<~z1 delta 62 zcmew}m-)|J<_#>Gj5?cHHBXoFN;5JrI5My@a56A3q)l#|C%pN?JOxJHC?w&c$p_~P KZ#GzPMh^fbWf2ts diff --git a/piet-gpu/shader/tile_alloc.spv b/piet-gpu/shader/tile_alloc.spv index 4eae6b8762b627c104810ad770c1298e6e6a49bb..e012b7c5d0f5f04473cc628eba3bbdedfee36b25 100644 GIT binary patch delta 29 jcmaFh^1x+-3m2ozW>>EFESyXX3=F%0m~pc$zp^j@iz^3J delta 29 jcmaFh^1x+-3m2o#W>>EFESzi%3=F%0n02!)zp^j@jLQdY