From 8c24e0a75f431c848b7b51533427d0e8c9fa94fa Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Wed, 16 Aug 2023 21:43:26 -0700 Subject: [PATCH] math: test GPU size/alignment compatibility Signed-off-by: Stephen Gutekanst --- src/math.zig | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/math.zig b/src/math.zig index 481d61c1..c8fe6d02 100644 --- a/src/math.zig +++ b/src/math.zig @@ -1154,3 +1154,18 @@ test "mat.mul" { try expect(mat.equals(TSR, expected_TSR, tolerance)); } } + +test "gpu_compatibility" { + // https://www.w3.org/TR/WGSL/#alignment-and-size + try expectEqual(8, @sizeOf(Vec2)); + try expectEqual(16, @sizeOf(Vec3)); // WGSL SizeOf 12 + try expectEqual(16, @sizeOf(Vec4)); + try expectEqual(64, @sizeOf(Mat3x3)); // TODO: bug: expected 48 + try expectEqual(64, @sizeOf(Mat4x4)); + + try expectEqual(8, @alignOf(Vec2)); + try expectEqual(16, @alignOf(Vec3)); + try expectEqual(16, @alignOf(Vec4)); + try expectEqual(64, @alignOf(Mat3x3)); // TODO: bug: expected 16 + try expectEqual(64, @alignOf(Mat4x4)); // TODO: bug: expected 16 +}