From 902e333148a1ceed85aba36262a849aaed8d3ac9 Mon Sep 17 00:00:00 2001 From: Bingus Date: Fri, 26 May 2023 10:07:52 -0700 Subject: Changed gradient::Packed to be `repr(C)` for direct gpu upload. --- graphics/src/gradient.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'graphics/src/gradient.rs') diff --git a/graphics/src/gradient.rs b/graphics/src/gradient.rs index 2b6aba44..9f1e7bbc 100644 --- a/graphics/src/gradient.rs +++ b/graphics/src/gradient.rs @@ -116,13 +116,17 @@ impl Linear { data[42] = self.end.x; data[43] = self.end.y; - Packed { data } + Packed(data) } } /// Packed [`Gradient`] data for use in shader code. -#[derive(Debug)] -pub struct Packed { - /// The packed [`Gradient`] data. - pub data: [f32; 44], +#[derive(Debug, Copy, Clone, PartialEq)] +#[repr(C)] +pub struct Packed([f32; 44]); + +impl From<[f32; 44]> for Packed { + fn from(value: [f32; 44]) -> Self { + Self(value) + } } -- cgit