[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"(