1 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd)] 2 #[cfg_attr(target_arch = "spirv", repr(simd))] 3 #[cfg_attr(not(target_arch = "spirv"), repr(C))] 4 pub struct XY<T> { 5 pub x: T, 6 pub y: T, 7 } 8 9 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd)] 10 #[cfg_attr(target_arch = "spirv", repr(simd))] 11 #[cfg_attr(not(target_arch = "spirv"), repr(C))] 12 pub struct Vec3<T> { 13 pub x: T, 14 pub y: T, 15 pub z: T, 16 } 17 18 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd)] 19 #[cfg_attr(target_arch = "spirv", repr(simd))] 20 #[cfg_attr(not(target_arch = "spirv"), repr(C))] 21 pub struct Vec4<T> { 22 pub x: T, 23 pub y: T, 24 pub z: T, 25 pub w: T, 26 } 27 28 #[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd)] 29 #[cfg_attr(not(target_arch = "spirv"), repr(C))] 30 pub struct Cols2<V> { 31 pub x_axis: V, 32 pub y_axis: V, 33 } 34 35 #[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd)] 36 #[cfg_attr(not(target_arch = "spirv"), repr(C))] 37 pub struct Cols3<V> { 38 pub x_axis: V, 39 pub y_axis: V, 40 pub z_axis: V, 41 } 42 43 #[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd)] 44 #[cfg_attr(not(target_arch = "spirv"), repr(C))] 45 pub struct Cols4<V> { 46 pub x_axis: V, 47 pub y_axis: V, 48 pub z_axis: V, 49 pub w_axis: V, 50 } 51