[tint] Use templated types for Composite() where possible
Change-Id: I49e759e468a0dbd6eded8188f92074727d2ecb90
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189124
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/msl/writer/printer/constant_test.cc b/src/tint/lang/msl/writer/printer/constant_test.cc
index 1ce484b..70c75b2 100644
--- a/src/tint/lang/msl/writer/printer/constant_test.cc
+++ b/src/tint/lang/msl/writer/printer/constant_test.cc
@@ -150,7 +150,7 @@
}
TEST_F(MslPrinterTest, Constant_Vector_Composite) {
- auto* c = b.Composite(ty.vec3<f32>(), 1.5_f, 1.0_f, 1.5_f);
+ auto* c = b.Composite<vec3<f32>>(1.5_f, 1.0_f, 1.5_f);
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -166,7 +166,7 @@
}
TEST_F(MslPrinterTest, Constant_Vector_Composite_AnyZero) {
- auto* c = b.Composite(ty.vec3<f32>(), 1.0_f, 0.0_f, 1.5_f);
+ auto* c = b.Composite<vec3<f32>>(1.0_f, 0.0_f, 1.5_f);
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -182,7 +182,7 @@
}
TEST_F(MslPrinterTest, Constant_Vector_Composite_AllZero) {
- auto* c = b.Composite(ty.vec3<f32>(), 0.0_f, 0.0_f, 0.0_f);
+ auto* c = b.Composite<vec3<f32>>(0.0_f, 0.0_f, 0.0_f);
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -214,10 +214,10 @@
}
TEST_F(MslPrinterTest, Constant_Matrix_Composite) {
- auto* c = b.Composite(ty.mat3x2<f32>(), //
- b.Composite(ty.vec2<f32>(), 1.5_f, 1.0_f), //
- b.Composite(ty.vec2<f32>(), 1.5_f, 2.0_f), //
- b.Composite(ty.vec2<f32>(), 2.5_f, 3.5_f));
+ auto* c = b.Composite<mat3x2<f32>>( //
+ b.Composite<vec2<f32>>(1.5_f, 1.0_f), //
+ b.Composite<vec2<f32>>(1.5_f, 2.0_f), //
+ b.Composite<vec2<f32>>(2.5_f, 3.5_f));
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -233,9 +233,9 @@
}
TEST_F(MslPrinterTest, Constant_Matrix_Composite_AnyZero) {
- auto* c = b.Composite(ty.mat2x2<f32>(), //
- b.Composite(ty.vec2<f32>(), 1.0_f, 0.0_f), //
- b.Composite(ty.vec2<f32>(), 1.5_f, 2.5_f));
+ auto* c = b.Composite<mat2x2<f32>>( //
+ b.Composite<vec2<f32>>(1.0_f, 0.0_f), //
+ b.Composite<vec2<f32>>(1.5_f, 2.5_f));
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -251,10 +251,10 @@
}
TEST_F(MslPrinterTest, Constant_Matrix_Composite_AllZero) {
- auto* c = b.Composite(ty.mat3x2<f32>(), //
- b.Composite(ty.vec2<f32>(), 0.0_f, 0.0_f), //
- b.Composite(ty.vec2<f32>(), 0.0_f, 0.0_f), //
- b.Composite(ty.vec2<f32>(), 0.0_f, 0.0_f));
+ auto* c = b.Composite<mat3x2<f32>>( //
+ b.Composite<vec2<f32>>(0.0_f, 0.0_f), //
+ b.Composite<vec2<f32>>(0.0_f, 0.0_f), //
+ b.Composite<vec2<f32>>(0.0_f, 0.0_f));
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -286,7 +286,7 @@
}
TEST_F(MslPrinterTest, Constant_Array_Composite) {
- auto* c = b.Composite(ty.array<f32, 3>(), 1.5_f, 1.0_f, 2.0_f);
+ auto* c = b.Composite<array<f32, 3>>(1.5_f, 1.0_f, 2.0_f);
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -302,7 +302,7 @@
}
TEST_F(MslPrinterTest, Constant_Array_Composite_AnyZero) {
- auto* c = b.Composite(ty.array<f32, 2>(), 1.0_f, 0.0_f);
+ auto* c = b.Composite<array<f32, 2>>(1.0_f, 0.0_f);
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
@@ -318,7 +318,7 @@
}
TEST_F(MslPrinterTest, Constant_Array_Composite_AllZero) {
- auto* c = b.Composite(ty.array<f32, 3>(), 0.0_f, 0.0_f, 0.0_f);
+ auto* c = b.Composite<array<f32, 3>>(0.0_f, 0.0_f, 0.0_f);
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
b.Let("a", c);
diff --git a/src/tint/lang/msl/writer/printer/let_test.cc b/src/tint/lang/msl/writer/printer/let_test.cc
index 0221bf7..85248bb 100644
--- a/src/tint/lang/msl/writer/printer/let_test.cc
+++ b/src/tint/lang/msl/writer/printer/let_test.cc
@@ -114,7 +114,7 @@
TEST_F(MslPrinterTest, LetVec3F32) {
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
- b.Let("l", b.Composite(ty.vec3<f32>(), 1_f, 2_f, 3_f));
+ b.Let("l", b.Composite<vec3<f32>>(1_f, 2_f, 3_f));
b.Return(func);
});
@@ -130,7 +130,7 @@
// Enable f16?
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
- b.Let("l", b.Composite(ty.vec3<f16>(), 1_h, 2_h, 3_h));
+ b.Let("l", b.Composite<vec3<f16>>(1_h, 2_h, 3_h));
b.Return(func);
});
@@ -145,9 +145,8 @@
TEST_F(MslPrinterTest, LetMat2x3F32) {
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
- b.Let("l", b.Composite(ty.mat2x3<f32>(), //
- b.Composite(ty.vec3<f32>(), 1_f, 2_f, 3_f),
- b.Composite(ty.vec3<f32>(), 4_f, 5_f, 6_f)));
+ b.Let("l", b.Composite<mat2x3<f32>>(b.Composite<vec3<f32>>(1_f, 2_f, 3_f),
+ b.Composite<vec3<f32>>(4_f, 5_f, 6_f)));
b.Return(func);
});
@@ -163,9 +162,8 @@
// Enable f16?
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
- b.Let("l", b.Composite(ty.mat2x3<f16>(), //
- b.Composite(ty.vec3<f16>(), 1_h, 2_h, 3_h),
- b.Composite(ty.vec3<f16>(), 4_h, 5_h, 6_h)));
+ b.Let("l", b.Composite<mat2x3<f16>>(b.Composite<vec3<f16>>(1_h, 2_h, 3_h),
+ b.Composite<vec3<f16>>(4_h, 5_h, 6_h)));
b.Return(func);
});
@@ -180,7 +178,7 @@
TEST_F(MslPrinterTest, LetArrF32) {
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
- b.Let("l", b.Composite(ty.array<f32, 3>(), 1_f, 2_f, 3_f));
+ b.Let("l", b.Composite<array<f32, 3>>(1_f, 2_f, 3_f));
b.Return(func);
});
@@ -195,10 +193,9 @@
TEST_F(MslPrinterTest, LetArrVec2Bool) {
auto* func = b.Function("foo", ty.void_());
b.Append(func->Block(), [&] {
- b.Let("l", b.Composite(ty.array<vec2<bool>, 3>(), //
- b.Composite(ty.vec2<bool>(), true, false),
- b.Composite(ty.vec2<bool>(), false, true),
- b.Composite(ty.vec2<bool>(), true, false)));
+ b.Let("l", b.Composite<array<vec2<bool>, 3>>(b.Composite<vec2<bool>>(true, false),
+ b.Composite<vec2<bool>>(false, true),
+ b.Composite<vec2<bool>>(true, false)));
b.Return(func);
});
diff --git a/src/tint/lang/msl/writer/printer/var_test.cc b/src/tint/lang/msl/writer/printer/var_test.cc
index 1bfdbdc..b91c2bd 100644
--- a/src/tint/lang/msl/writer/printer/var_test.cc
+++ b/src/tint/lang/msl/writer/printer/var_test.cc
@@ -217,7 +217,7 @@
b.Append(func->Block(), [&] {
auto* v = b.Var("a", ty.ptr<core::AddressSpace::kFunction, mat2x3<f32>>());
v->SetInitializer(
- b.Composite(ty.mat2x3<f32>(), b.Splat<vec3<f32>>(0_f), b.Splat<vec3<f32>>(0_f)));
+ b.Composite<mat2x3<f32>>(b.Splat<vec3<f32>>(0_f), b.Splat<vec3<f32>>(0_f)));
b.Return(func);
});
@@ -235,7 +235,7 @@
b.Append(func->Block(), [&] {
auto* v = b.Var("a", ty.ptr<core::AddressSpace::kFunction, mat2x3<f16>>());
v->SetInitializer(
- b.Composite(ty.mat2x3<f16>(), b.Splat<vec3<f16>>(0_h), b.Splat<vec3<f16>>(0_h)));
+ b.Composite<mat2x3<f16>>(b.Splat<vec3<f16>>(0_h), b.Splat<vec3<f16>>(0_h)));
b.Return(func);
});
diff --git a/src/tint/lang/spirv/writer/constant_test.cc b/src/tint/lang/spirv/writer/constant_test.cc
index 9f24475..a194261 100644
--- a/src/tint/lang/spirv/writer/constant_test.cc
+++ b/src/tint/lang/spirv/writer/constant_test.cc
@@ -86,7 +86,7 @@
TEST_F(SpirvWriterTest, Constant_Vec4Bool) {
b.Append(b.ir.root_block, [&] {
- b.Var<private_, read_write>("v", b.Composite(ty.vec4<bool>(), true, false, false, true));
+ b.Var<private_, read_write>("v", b.Composite<vec4<bool>>(true, false, false, true));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(" = OpConstantComposite %v4bool %true %false %false %true");
@@ -94,14 +94,14 @@
TEST_F(SpirvWriterTest, Constant_Vec2i) {
b.Append(b.ir.root_block,
- [&] { b.Var<private_, read_write>("v", b.Composite(ty.vec2<i32>(), 42_i, -1_i)); });
+ [&] { b.Var<private_, read_write>("v", b.Composite<vec2<i32>>(42_i, -1_i)); });
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(" = OpConstantComposite %v2int %int_42 %int_n1");
}
TEST_F(SpirvWriterTest, Constant_Vec3u) {
b.Append(b.ir.root_block, [&] {
- b.Var<private_, read_write>("v", b.Composite(ty.vec3<u32>(), 42_u, 0_u, 4000000000_u));
+ b.Var<private_, read_write>("v", b.Composite<vec3<u32>>(42_u, 0_u, 4000000000_u));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(" = OpConstantComposite %v3uint %uint_42 %uint_0 %uint_4000000000");
@@ -109,7 +109,7 @@
TEST_F(SpirvWriterTest, Constant_Vec4f) {
b.Append(b.ir.root_block, [&] {
- b.Var<private_, read_write>("v", b.Composite(ty.vec4<f32>(), 42_f, 0_f, 0.25_f, -1_f));
+ b.Var<private_, read_write>("v", b.Composite<vec4<f32>>(42_f, 0_f, 0.25_f, -1_f));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(" = OpConstantComposite %v4float %float_42 %float_0 %float_0_25 %float_n1");
@@ -117,7 +117,7 @@
TEST_F(SpirvWriterTest, Constant_Vec2h) {
b.Append(b.ir.root_block,
- [&] { b.Var<private_, read_write>("v", b.Composite(ty.vec2<f16>(), 42_h, 0.25_h)); });
+ [&] { b.Var<private_, read_write>("v", b.Composite<vec2<f16>>(42_h, 0.25_h)); });
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(" = OpConstantComposite %v2half %half_0x1_5p_5 %half_0x1pn2");
}
@@ -125,9 +125,9 @@
TEST_F(SpirvWriterTest, Constant_Mat2x3f) {
b.Append(b.ir.root_block, [&] {
b.Var<private_, read_write>("v",
- b.Composite(ty.mat2x3<f32>(), //
- b.Composite(ty.vec3<f32>(), 42_f, -1_f, 0.25_f),
- b.Composite(ty.vec3<f32>(), -42_f, 0_f, -0.25_f)));
+ b.Composite<mat2x3<f32>>( //
+ b.Composite<vec3<f32>>(42_f, -1_f, 0.25_f),
+ b.Composite<vec3<f32>>(-42_f, 0_f, -0.25_f)));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(R"(
@@ -145,11 +145,11 @@
TEST_F(SpirvWriterTest, Constant_Mat4x2h) {
b.Append(b.ir.root_block, [&] {
- b.Var<private_, read_write>("v", b.Composite(ty.mat4x2<f16>(), //
- b.Composite(ty.vec2<f16>(), 42_h, -1_h), //
- b.Composite(ty.vec2<f16>(), 0_h, 0.25_h), //
- b.Composite(ty.vec2<f16>(), -42_h, 1_h), //
- b.Composite(ty.vec2<f16>(), 0.5_h, f16(-0))));
+ b.Var<private_, read_write>("v", b.Composite<mat4x2<f16>>( //
+ b.Composite<vec2<f16>>(42_h, -1_h), //
+ b.Composite<vec2<f16>>(0_h, 0.25_h), //
+ b.Composite<vec2<f16>>(-42_h, 1_h), //
+ b.Composite<vec2<f16>>(0.5_h, f16(-0))));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(R"(
@@ -170,7 +170,7 @@
TEST_F(SpirvWriterTest, Constant_Array_I32) {
b.Append(b.ir.root_block, [&] {
- b.Var<private_, read_write>("v", b.Composite(ty.array<i32, 4>(), 1_i, 2_i, 3_i, 4_i));
+ b.Var<private_, read_write>("v", b.Composite<array<i32, 4>>(1_i, 2_i, 3_i, 4_i));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(" = OpConstantComposite %_arr_int_uint_4 %int_1 %int_2 %int_3 %int_4");
@@ -178,9 +178,9 @@
TEST_F(SpirvWriterTest, Constant_Array_Array_I32) {
b.Append(b.ir.root_block, [&] {
- auto* inner = b.Composite(ty.array<i32, 4>(), 1_i, 2_i, 3_i, 4_i);
+ auto* inner = b.Composite<array<i32, 4>>(1_i, 2_i, 3_i, 4_i);
b.Var<private_, read_write>(
- "v", b.Composite(ty.array(ty.array<i32, 4>(), 4), inner, inner, inner, inner));
+ "v", b.Composite<array<array<i32, 4>, 4>>(inner, inner, inner, inner));
});
ASSERT_TRUE(Generate()) << Error() << output_;
EXPECT_INST(R"(