wgsl: Do not require a semicolon after a struct Don't generate them either, which generated a lot of test churn. Fixed: tint:1380 Change-Id: I0a7cfdd2ef0ffe8e7fda111fbc57997b36b949e0 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77165 Auto-Submit: James Price <jrprice@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/src/transform/add_spirv_block_decoration_test.cc b/src/transform/add_spirv_block_decoration_test.cc index 74e4b33..e504c50 100644 --- a/src/transform/add_spirv_block_decoration_test.cc +++ b/src/transform/add_spirv_block_decoration_test.cc
@@ -38,7 +38,7 @@ auto* src = R"( struct S { f : f32; -}; +} var<private> p : S; @@ -59,7 +59,7 @@ struct S { [[location(0)]] f : f32; -}; +} [[stage(fragment)]] fn main() -> S { @@ -87,7 +87,7 @@ [[internal(spirv_block)]] struct u_block { inner : f32; -}; +} [[group(0), binding(0)]] var<uniform> u : u_block; @@ -116,7 +116,7 @@ [[internal(spirv_block)]] struct u_block { inner : array<vec4<f32>, 4u>; -}; +} [[group(0), binding(0)]] var<uniform> u : u_block; @@ -149,7 +149,7 @@ [[internal(spirv_block)]] struct u_block { inner : array<vec4<f32>, 4u>; -}; +} [[group(0), binding(0)]] var<uniform> u : u_block; @@ -182,7 +182,7 @@ [[internal(spirv_block)]] struct S { f : f32; -}; +} [[group(0), binding(0)]] var<uniform> u : S; @@ -218,12 +218,12 @@ auto* expect = R"( struct Inner { f : f32; -}; +} [[internal(spirv_block)]] struct Outer { i : Inner; -}; +} [[group(0), binding(0)]] var<uniform> u : Outer; @@ -263,19 +263,19 @@ auto* expect = R"( struct Inner { f : f32; -}; +} [[internal(spirv_block)]] struct Outer { i : Inner; -}; +} [[group(0), binding(0)]] var<uniform> u0 : Outer; [[internal(spirv_block)]] struct u1_block { inner : Inner; -}; +} [[group(0), binding(1)]] var<uniform> u1 : u1_block; @@ -315,18 +315,18 @@ auto* expect = R"( struct Inner { f : f32; -}; +} struct Outer { i : Inner; -}; +} var<private> p : Outer; [[internal(spirv_block)]] struct u_block { inner : Inner; -}; +} [[group(0), binding(1)]] var<uniform> u : u_block; @@ -371,19 +371,19 @@ auto* expect = R"( struct Inner { f : f32; -}; +} [[internal(spirv_block)]] struct S { i : Inner; -}; +} [[group(0), binding(0)]] var<uniform> u0 : S; [[internal(spirv_block)]] struct u1_block { inner : Inner; -}; +} [[group(0), binding(1)]] var<uniform> u1 : u1_block; @@ -420,12 +420,12 @@ auto* expect = R"( struct S { f : f32; -}; +} [[internal(spirv_block)]] struct u_block { inner : S; -}; +} [[group(0), binding(0)]] var<uniform> u : u_block; @@ -463,12 +463,12 @@ auto* expect = R"( struct S { f : f32; -}; +} [[internal(spirv_block)]] struct u0_block { inner : S; -}; +} [[group(0), binding(0)]] var<uniform> u0 : u0_block; @@ -516,14 +516,14 @@ auto* expect = R"( struct Inner { f : f32; -}; +} type MyInner = Inner; [[internal(spirv_block)]] struct Outer { i : MyInner; -}; +} type MyOuter = Outer; @@ -532,7 +532,7 @@ [[internal(spirv_block)]] struct u1_block { inner : Inner; -}; +} [[group(0), binding(1)]] var<uniform> u1 : u1_block;
diff --git a/src/transform/array_length_from_uniform_test.cc b/src/transform/array_length_from_uniform_test.cc index 77fb0c3..b9139a9 100644 --- a/src/transform/array_length_from_uniform_test.cc +++ b/src/transform/array_length_from_uniform_test.cc
@@ -63,7 +63,7 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 1u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -106,14 +106,14 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 1u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; struct SB { x : i32; arr : array<i32>; -}; +} [[group(0), binding(0)]] var<storage, read> sb : SB; @@ -149,7 +149,7 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 1u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -193,7 +193,7 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 1u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -201,7 +201,7 @@ x : i32; y : f32; arr : [[stride(64)]] array<i32>; -}; +} [[group(0), binding(0)]] var<storage, read> sb : SB; @@ -259,24 +259,24 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 2u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; struct SB1 { x : i32; arr1 : array<i32>; -}; +} struct SB2 { x : i32; arr2 : array<vec4<f32>>; -}; +} struct SB4 { x : i32; arr4 : array<vec4<f32>>; -}; +} [[group(0), binding(2)]] var<storage, read> sb1 : SB1; @@ -348,24 +348,24 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 1u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; struct SB1 { x : i32; arr1 : array<i32>; -}; +} struct SB2 { x : i32; arr2 : array<vec4<f32>>; -}; +} struct SB4 { x : i32; arr4 : array<vec4<f32>>; -}; +} [[group(0), binding(2)]] var<storage, read> sb1 : SB1; @@ -407,7 +407,7 @@ struct SB { x : i32; arr : array<i32>; -}; +} [[group(0), binding(0)]] var<storage, read> sb : SB; @@ -457,19 +457,19 @@ auto* expect = R"( struct tint_symbol { buffer_size : array<vec4<u32>, 1u>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_1 : tint_symbol; struct SB1 { x : i32; arr1 : array<i32>; -}; +} struct SB2 { x : i32; arr2 : array<vec4<f32>>; -}; +} [[group(0), binding(2)]] var<storage, read> sb1 : SB1;
diff --git a/src/transform/binding_remapper_test.cc b/src/transform/binding_remapper_test.cc index 87e205a..de85cb0 100644 --- a/src/transform/binding_remapper_test.cc +++ b/src/transform/binding_remapper_test.cc
@@ -28,7 +28,7 @@ auto* src = R"( struct S { a : f32; -}; +} [[group(2), binding(1)]] var<storage, read> a : S; @@ -67,7 +67,7 @@ auto* expect = R"( struct S { a : f32; -}; +} [[group(1), binding(2)]] var<storage, read> a : S; @@ -111,7 +111,7 @@ auto* expect = R"( struct S { a : f32; -}; +} [[group(2), binding(1)]] var<storage, write> a : S; @@ -215,7 +215,7 @@ auto* expect = R"( struct S { a : f32; -}; +} [[group(4), binding(5)]] var<storage, write> a : S; @@ -264,7 +264,7 @@ auto* expect = R"( struct S { i : i32; -}; +} [[internal(disable_validation__binding_point_collision), group(1), binding(1)]] var<storage, read> a : S; @@ -321,7 +321,7 @@ auto* expect = R"( struct S { i : i32; -}; +} [[group(1), binding(1)]] var<storage, read> a : S;
diff --git a/src/transform/calculate_array_length_test.cc b/src/transform/calculate_array_length_test.cc index 4b42bf9..83e0ac7 100644 --- a/src/transform/calculate_array_length_test.cc +++ b/src/transform/calculate_array_length_test.cc
@@ -85,7 +85,7 @@ struct SB { x : i32; arr : array<i32>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB, result : ptr<function, u32>) @@ -161,7 +161,7 @@ struct SB { x : i32; arr : array<i32>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB, result : ptr<function, u32>) @@ -235,7 +235,7 @@ x : i32; y : f32; arr : [[stride(64)]] array<i32>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB, result : ptr<function, u32>) @@ -281,7 +281,7 @@ struct SB { x : i32; arr : array<i32>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB, result : ptr<function, u32>) @@ -345,7 +345,7 @@ struct SB1 { x : i32; arr1 : array<i32>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB1, result : ptr<function, u32>) @@ -353,7 +353,7 @@ struct SB2 { x : i32; arr2 : array<vec4<f32>>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol_3([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB2, result : ptr<function, u32>) @@ -412,7 +412,7 @@ struct SB { x : i32; arr : array<i32>; -}; +} [[internal(intrinsic_buffer_size)]] fn tint_symbol([[internal(disable_validation__ignore_constructible_function_parameter)]] buffer : SB, result : ptr<function, u32>)
diff --git a/src/transform/canonicalize_entry_point_io_test.cc b/src/transform/canonicalize_entry_point_io_test.cc index e2daa97..3c16ee5 100644 --- a/src/transform/canonicalize_entry_point_io_test.cc +++ b/src/transform/canonicalize_entry_point_io_test.cc
@@ -121,7 +121,7 @@ loc1 : f32; [[location(2)]] loc2 : vec4<u32>; -}; +} fn frag_main_inner(loc1 : f32, loc2 : vec4<u32>, coord : vec4<f32>) { var col : f32 = (coord.x * loc1); @@ -159,7 +159,7 @@ loc2 : vec4<u32>; [[builtin(position)]] coord : vec4<f32>; -}; +} fn frag_main_inner(loc1 : f32, loc2 : vec4<u32>, coord : vec4<f32>) { var col : f32 = (coord.x * loc1); @@ -195,7 +195,7 @@ struct tint_symbol_1 { [[location(1)]] loc1 : f32; -}; +} fn frag_main_inner(loc1 : myf32) { var x : myf32 = loc1; @@ -244,12 +244,12 @@ struct FragBuiltins { coord : vec4<f32>; -}; +} struct FragLocations { loc1 : f32; loc2 : vec4<u32>; -}; +} fn frag_main_inner(loc0 : f32, locations : FragLocations, builtins : FragBuiltins) { var col : f32 = ((builtins.coord.x * locations.loc1) + loc0); @@ -290,12 +290,12 @@ auto* expect = R"( struct FragBuiltins { coord : vec4<f32>; -}; +} struct FragLocations { loc1 : f32; loc2 : vec4<u32>; -}; +} struct tint_symbol_1 { [[location(0)]] @@ -304,7 +304,7 @@ loc1 : f32; [[location(2)]] loc2 : vec4<u32>; -}; +} fn frag_main_inner(loc0 : f32, locations : FragLocations, builtins : FragBuiltins) { var col : f32 = ((builtins.coord.x * locations.loc1) + loc0); @@ -345,12 +345,12 @@ auto* expect = R"( struct FragBuiltins { coord : vec4<f32>; -}; +} struct FragLocations { loc1 : f32; loc2 : vec4<u32>; -}; +} struct tint_symbol_1 { [[location(0)]] @@ -361,7 +361,7 @@ loc2 : vec4<u32>; [[builtin(position)]] coord : vec4<f32>; -}; +} fn frag_main_inner(loc0 : f32, locations : FragLocations, builtins : FragBuiltins) { var col : f32 = ((builtins.coord.x * locations.loc1) + loc0); @@ -423,7 +423,7 @@ struct tint_symbol { [[builtin(frag_depth)]] value : f32; -}; +} fn frag_main_inner() -> f32 { return 1.0; @@ -458,7 +458,7 @@ struct tint_symbol { [[builtin(frag_depth)]] value : f32; -}; +} fn frag_main_inner() -> f32 { return 1.0; @@ -510,7 +510,7 @@ color : vec4<f32>; depth : f32; mask : u32; -}; +} fn frag_main_inner() -> FragOutput { var output : FragOutput; @@ -560,7 +560,7 @@ color : vec4<f32>; depth : f32; mask : u32; -}; +} struct tint_symbol { [[location(0)]] @@ -569,7 +569,7 @@ depth : f32; [[builtin(sample_mask)]] mask : u32; -}; +} fn frag_main_inner() -> FragOutput { var output : FragOutput; @@ -621,7 +621,7 @@ color : vec4<f32>; depth : f32; mask : u32; -}; +} struct tint_symbol { [[location(0)]] @@ -630,7 +630,7 @@ depth : f32; [[builtin(sample_mask)]] mask : u32; -}; +} fn frag_main_inner() -> FragOutput { var output : FragOutput; @@ -694,7 +694,7 @@ struct FragmentInput { value : f32; mul : f32; -}; +} fn foo(x : FragmentInput) -> f32 { return (x.value * x.mul); @@ -754,7 +754,7 @@ struct FragmentInput { value : f32; mul : f32; -}; +} fn foo(x : FragmentInput) -> f32 { return (x.value * x.mul); @@ -765,7 +765,7 @@ value : f32; [[location(1)]] mul : f32; -}; +} fn frag_main1_inner(inputs : FragmentInput) { var x : f32 = foo(inputs); @@ -781,7 +781,7 @@ value : f32; [[location(1)]] mul : f32; -}; +} fn frag_main2_inner(inputs : FragmentInput) { var x : f32 = foo(inputs); @@ -828,7 +828,7 @@ struct FragmentInput { value : f32; mul : f32; -}; +} fn foo(x : FragmentInput) -> f32 { return (x.value * x.mul); @@ -839,7 +839,7 @@ value : f32; [[location(1)]] mul : f32; -}; +} fn frag_main1_inner(inputs : FragmentInput) { var x : f32 = foo(inputs); @@ -855,7 +855,7 @@ value : f32; [[location(1)]] mul : f32; -}; +} fn frag_main2_inner(inputs : FragmentInput) { var x : f32 = foo(inputs); @@ -904,7 +904,7 @@ struct FragmentInput { col1 : f32; col2 : f32; -}; +} var<private> global_inputs : FragmentInput; @@ -921,7 +921,7 @@ col1 : f32; [[location(1)]] col2 : f32; -}; +} fn frag_main1_inner(inputs : FragmentInput) { global_inputs = inputs; @@ -978,12 +978,12 @@ struct FragmentInput { col1 : myf32; col2 : myf32; -}; +} struct FragmentOutput { col1 : myf32; col2 : myf32; -}; +} type MyFragmentInput = FragmentInput; @@ -998,14 +998,14 @@ col1 : f32; [[location(1)]] col2 : f32; -}; +} struct tint_symbol_2 { [[location(0)]] col1 : f32; [[location(1)]] col2 : f32; -}; +} fn frag_main_inner(inputs : MyFragmentInput) -> MyFragmentOutput { var x : myf32 = foo(inputs); @@ -1062,12 +1062,12 @@ loc1 : f32; loc2 : f32; loc3 : f32; -}; +} struct FragmentIn { loc1 : f32; loc2 : f32; -}; +} struct tint_symbol { [[location(1), interpolate(flat)]] @@ -1078,7 +1078,7 @@ loc3 : f32; [[builtin(position)]] pos : vec4<f32>; -}; +} fn vert_main_inner() -> VertexOut { return VertexOut(); @@ -1102,7 +1102,7 @@ loc2 : f32; [[location(3), interpolate(perspective, centroid)]] loc3 : f32; -}; +} fn frag_main_inner(inputs : FragmentIn, loc3 : f32) { let x = ((inputs.loc1 + inputs.loc2) + loc3); @@ -1200,7 +1200,7 @@ u : u32; vi : vec4<i32>; vu : vec4<u32>; -}; +} struct VertexOut { i : i32; @@ -1208,14 +1208,14 @@ vi : vec4<i32>; vu : vec4<u32>; pos : vec4<f32>; -}; +} struct FragmentInterface { i : i32; u : u32; vi : vec4<i32>; vu : vec4<u32>; -}; +} fn vert_main_inner(in : VertexIn) -> VertexOut { return VertexOut(in.i, in.u, in.vi, in.vu, vec4<f32>()); @@ -1273,12 +1273,12 @@ auto* expect = R"( struct VertexOut { pos : vec4<f32>; -}; +} struct tint_symbol { [[builtin(position), invariant]] pos : vec4<f32>; -}; +} fn main1_inner() -> VertexOut { return VertexOut(); @@ -1295,7 +1295,7 @@ struct tint_symbol_1 { [[builtin(position), invariant]] value : vec4<f32>; -}; +} fn main2_inner() -> vec4<f32> { return vec4<f32>(); @@ -1344,12 +1344,12 @@ coord : vec4<f32>; [[align(128)]] loc0 : f32; -}; +} struct FragmentOutput { [[size(16)]] value : f32; -}; +} struct tint_symbol_1 { [[location(0), interpolate(linear, sample)]] @@ -1358,12 +1358,12 @@ value : f32; [[builtin(position)]] coord : vec4<f32>; -}; +} struct tint_symbol_2 { [[location(1), interpolate(flat)]] value : f32; -}; +} fn frag_main_inner(inputs : FragmentInput) -> FragmentOutput { return FragmentOutput(((inputs.coord.x * inputs.value) + inputs.loc0)); @@ -1422,13 +1422,13 @@ d : u32; a : f32; c : i32; -}; +} struct FragmentInputExtra { d : u32; pos : vec4<f32>; a : f32; -}; +} struct tint_symbol { [[location(0)]] @@ -1441,7 +1441,7 @@ d : u32; [[builtin(position)]] pos : vec4<f32>; -}; +} fn vert_main_inner() -> VertexOutput { return VertexOutput(); @@ -1472,7 +1472,7 @@ pos : vec4<f32>; [[builtin(front_facing)]] ff : bool; -}; +} fn frag_main_inner(ff : bool, c : i32, inputs : FragmentInputExtra, b : u32) { } @@ -1502,7 +1502,7 @@ struct tint_symbol_2 { [[location(0)]] col : f32; -}; +} fn tint_symbol_1_inner(col : f32) { } @@ -1532,7 +1532,7 @@ struct tint_symbol { [[builtin(sample_mask)]] fixed_sample_mask : u32; -}; +} fn frag_main_inner() { } @@ -1566,7 +1566,7 @@ struct tint_symbol { [[builtin(sample_mask)]] fixed_sample_mask : u32; -}; +} fn frag_main_inner() { return; @@ -1601,7 +1601,7 @@ struct tint_symbol { [[builtin(sample_mask)]] value : u32; -}; +} fn frag_main_inner() -> u32 { return 7u; @@ -1638,7 +1638,7 @@ value : f32; [[builtin(sample_mask)]] fixed_sample_mask : u32; -}; +} fn frag_main_inner() -> f32 { return 1.0; @@ -1681,7 +1681,7 @@ depth : f32; mask : u32; value : f32; -}; +} struct tint_symbol { [[location(0)]] @@ -1690,7 +1690,7 @@ depth : f32; [[builtin(sample_mask)]] mask : u32; -}; +} fn frag_main_inner() -> Output { return Output(0.5, 7u, 1.0); @@ -1733,7 +1733,7 @@ struct Output { depth : f32; value : f32; -}; +} struct tint_symbol { [[location(0)]] @@ -1742,7 +1742,7 @@ depth : f32; [[builtin(sample_mask)]] fixed_sample_mask : u32; -}; +} fn frag_main_inner() -> Output { return Output(0.5, 1.0); @@ -1793,7 +1793,7 @@ struct tint_symbol { [[builtin(sample_mask)]] value : u32; -}; +} fn frag_main1_inner() -> u32 { return 7u; @@ -1812,7 +1812,7 @@ value : f32; [[builtin(sample_mask)]] fixed_sample_mask : u32; -}; +} fn frag_main2_inner() -> f32 { return 1.0; @@ -1830,7 +1830,7 @@ struct tint_symbol_2 { [[builtin(position)]] value : vec4<f32>; -}; +} fn vert_main1_inner() -> vec4<f32> { return vec4<f32>(); @@ -1874,7 +1874,7 @@ struct FragOut { fixed_sample_mask : vec4<f32>; fixed_sample_mask_1 : vec4<f32>; -}; +} struct tint_symbol { [[location(0)]] @@ -1883,7 +1883,7 @@ fixed_sample_mask_1 : vec4<f32>; [[builtin(sample_mask)]] fixed_sample_mask_2 : u32; -}; +} fn frag_main_inner() -> FragOut { return FragOut(); @@ -1956,7 +1956,7 @@ value : vec4<f32>; [[builtin(pointsize)]] vertex_point_size : f32; -}; +} fn vert_main_inner() -> vec4<f32> { return vec4<f32>(); @@ -1999,7 +1999,7 @@ struct VertOut { pos : vec4<f32>; -}; +} fn vert_main_inner() -> VertOut { return VertOut(); @@ -2036,14 +2036,14 @@ auto* expect = R"( struct VertOut { pos : vec4<f32>; -}; +} struct tint_symbol { [[builtin(position)]] pos : vec4<f32>; [[builtin(pointsize)]] vertex_point_size : f32; -}; +} fn vert_main_inner() -> VertOut { return VertOut(); @@ -2112,16 +2112,16 @@ struct VertIn1 { collide : f32; -}; +} struct VertIn2 { collide : f32; -}; +} struct VertOut { vertex_point_size : f32; vertex_point_size_1 : vec4<f32>; -}; +} fn vert_main_inner(collide : VertIn1, collide_1 : VertIn2) -> VertOut { let x = (collide.collide + collide_1.collide); @@ -2170,23 +2170,23 @@ auto* expect = R"( struct VertIn1 { collide : f32; -}; +} struct VertIn2 { collide : f32; -}; +} struct VertOut { vertex_point_size : vec4<f32>; vertex_point_size_1 : vec4<f32>; -}; +} struct tint_symbol_1 { [[location(0)]] collide : f32; [[location(1)]] collide_2 : f32; -}; +} struct tint_symbol_2 { [[location(0)]] @@ -2195,7 +2195,7 @@ vertex_point_size_1 : vec4<f32>; [[builtin(pointsize)]] vertex_point_size_2 : f32; -}; +} fn vert_main_inner(collide : VertIn1, collide_1 : VertIn2) -> VertOut { let x = (collide.collide + collide_1.collide); @@ -2246,23 +2246,23 @@ auto* expect = R"( struct VertIn1 { collide : f32; -}; +} struct VertIn2 { collide : f32; -}; +} struct VertOut { vertex_point_size : vec4<f32>; vertex_point_size_1 : vec4<f32>; -}; +} struct tint_symbol_1 { [[location(0)]] collide : f32; [[location(1)]] collide_2 : f32; -}; +} struct tint_symbol_2 { [[location(0)]] @@ -2271,7 +2271,7 @@ vertex_point_size_1 : vec4<f32>; [[builtin(pointsize)]] vertex_point_size_2 : f32; -}; +} fn vert_main_inner(collide : VertIn1, collide_1 : VertIn2) -> VertOut { let x = (collide.collide + collide_1.collide);
diff --git a/src/transform/decompose_memory_access_test.cc b/src/transform/decompose_memory_access_test.cc index 046d88c..c28f48e 100644 --- a/src/transform/decompose_memory_access_test.cc +++ b/src/transform/decompose_memory_access_test.cc
@@ -102,7 +102,7 @@ t : mat4x3<f32>; u : mat4x4<f32>; v : array<vec3<f32>, 2>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -298,7 +298,7 @@ t : mat4x3<f32>; u : mat4x4<f32>; v : array<vec3<f32>, 2>; -}; +} [[group(0), binding(0)]] var<uniform> ub : UB; @@ -494,7 +494,7 @@ t : mat4x3<f32>; u : mat4x4<f32>; v : array<vec3<f32>, 2>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -686,7 +686,7 @@ t : mat4x3<f32>; u : mat4x4<f32>; v : array<vec3<f32>, 2>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -844,7 +844,7 @@ t : mat4x3<f32>; u : mat4x4<f32>; v : array<vec3<f32>, 2>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -1021,19 +1021,19 @@ a : i32; b : vec3<f32>; c : i32; -}; +} struct S2 { a : i32; b : [[stride(32)]] array<S1, 3>; c : i32; -}; +} struct SB { [[size(128)]] a : i32; b : [[stride(256)]] array<S2>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -1087,19 +1087,19 @@ a : i32; b : vec3<f32>; c : i32; -}; +} struct S2 { a : i32; b : [[stride(32)]] array<S1, 3>; c : i32; -}; +} struct SB { [[size(128)]] a : i32; b : [[stride(256)]] array<S2>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -1164,7 +1164,7 @@ a : i32; b : vec3<f32>; c : i32; -}; +} type A1 = S1; @@ -1174,7 +1174,7 @@ a : i32; b : A1_Array; c : i32; -}; +} type A2 = S2; @@ -1184,7 +1184,7 @@ [[size(128)]] a : i32; b : A2_Array; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -1248,7 +1248,7 @@ padding : vec4<f32>; a : atomic<i32>; b : atomic<u32>; -}; +} [[group(0), binding(0)]] var<storage, read_write> sb : SB; @@ -1356,7 +1356,7 @@ padding : vec4<f32>; a : atomic<i32>; b : atomic<u32>; -}; +} var<workgroup> w : S;
diff --git a/src/transform/decompose_strided_matrix_test.cc b/src/transform/decompose_strided_matrix_test.cc index 41555dc..db31c62 100644 --- a/src/transform/decompose_strided_matrix_test.cc +++ b/src/transform/decompose_strided_matrix_test.cc
@@ -91,7 +91,7 @@ [[size(16)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<uniform> s : S; @@ -152,7 +152,7 @@ [[size(16)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<uniform> s : S; @@ -210,7 +210,7 @@ padding : u32; [[stride(8), internal(disable_validation__ignore_stride)]] m : mat2x2<f32>; -}; +} [[group(0), binding(0)]] var<uniform> s : S; @@ -267,7 +267,7 @@ [[size(8)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<storage, read_write> s : S; @@ -328,7 +328,7 @@ [[size(16)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<storage, read_write> s : S; @@ -386,7 +386,7 @@ [[size(8)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<storage, read_write> s : S; @@ -447,7 +447,7 @@ [[size(8)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<storage, read_write> s : S; @@ -519,7 +519,7 @@ [[size(8)]] padding : u32; m : [[stride(32)]] array<vec2<f32>, 2u>; -}; +} [[group(0), binding(0)]] var<storage, read_write> s : S; @@ -588,7 +588,7 @@ padding : u32; [[stride(32), internal(disable_validation__ignore_stride)]] m : mat2x2<f32>; -}; +} var<private> s : S; @@ -646,7 +646,7 @@ padding : u32; [[stride(32), internal(disable_validation__ignore_stride)]] m : mat2x2<f32>; -}; +} var<private> s : S;
diff --git a/src/transform/first_index_offset_test.cc b/src/transform/first_index_offset_test.cc index 8d537e0..6368d29 100644 --- a/src/transform/first_index_offset_test.cc +++ b/src/transform/first_index_offset_test.cc
@@ -61,7 +61,7 @@ auto* expect = R"( struct tint_symbol { first_vertex_index : u32; -}; +} [[binding(1), group(2)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -107,7 +107,7 @@ auto* expect = R"( struct tint_symbol { first_instance_index : u32; -}; +} [[binding(1), group(7)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -159,7 +159,7 @@ struct tint_symbol { first_vertex_index : u32; first_instance_index : u32; -}; +} [[binding(1), group(2)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -172,7 +172,7 @@ instance_idx : u32; [[builtin(vertex_index)]] vert_idx : u32; -}; +} [[stage(vertex)]] fn entry(inputs : Inputs) -> [[builtin(position)]] vec4<f32> { @@ -216,7 +216,7 @@ auto* expect = R"( struct tint_symbol { first_vertex_index : u32; -}; +} [[binding(1), group(2)]] var<uniform> tint_symbol_1 : tint_symbol; @@ -279,7 +279,7 @@ struct tint_symbol { first_vertex_index : u32; first_instance_index : u32; -}; +} [[binding(1), group(2)]] var<uniform> tint_symbol_1 : tint_symbol;
diff --git a/src/transform/localize_struct_array_assignment_test.cc b/src/transform/localize_struct_array_assignment_test.cc index 197aa02..2b3b0c9 100644 --- a/src/transform/localize_struct_array_assignment_test.cc +++ b/src/transform/localize_struct_array_assignment_test.cc
@@ -70,15 +70,15 @@ [[block]] struct Uniforms { i : u32; -}; +} struct InnerS { v : i32; -}; +} struct OuterS { a1 : array<InnerS, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -132,19 +132,19 @@ [[block]] struct Uniforms { i : u32; -}; +} struct InnerS { v : i32; -}; +} struct S1 { a : array<InnerS, 8>; -}; +} struct OuterS { s2 : S1; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -196,15 +196,15 @@ struct Uniforms { i : u32; j : u32; -}; +} struct InnerS { v : i32; -}; +} struct OuterS { a1 : array<array<InnerS, 8>, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -258,19 +258,19 @@ [[block]] struct Uniforms { i : u32; -}; +} struct InnerS { v : i32; -}; +} struct S1 { s2 : InnerS; -}; +} struct OuterS { a1 : array<S1, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -326,19 +326,19 @@ struct Uniforms { i : u32; j : u32; -}; +} struct InnerS { v : i32; -}; +} struct S1 { a2 : array<InnerS, 8>; -}; +} struct OuterS { a1 : array<S1, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -403,19 +403,19 @@ struct Uniforms { i : u32; j : u32; -}; +} struct InnerS { v : i32; -}; +} struct S1 { a2 : array<InnerS, 8>; -}; +} struct OuterS { a1 : array<S1, 8>; -}; +} var<private> nextIndex : u32; @@ -476,15 +476,15 @@ [[block]] struct Uniforms { i : u32; -}; +} struct InnerS { v : i32; -}; +} struct OuterS { a1 : array<InnerS, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -544,15 +544,15 @@ [[block]] struct Uniforms { i : u32; -}; +} struct InnerS { v : i32; -}; +} struct OuterS { a1 : array<InnerS, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms; @@ -584,12 +584,12 @@ [[block]] struct Uniforms { i : u32; -}; +} [[block]] struct OuterS { a1 : array<u32, 8>; -}; +} [[group(1), binding(4)]] var<uniform> uniforms : Uniforms;
diff --git a/src/transform/module_scope_var_to_entry_point_param_test.cc b/src/transform/module_scope_var_to_entry_point_param_test.cc index 0f7d518..87507ce 100644 --- a/src/transform/module_scope_var_to_entry_point_param_test.cc +++ b/src/transform/module_scope_var_to_entry_point_param_test.cc
@@ -218,7 +218,7 @@ auto* expect = R"( struct S { a : f32; -}; +} [[stage(compute), workgroup_size(1)]] fn main([[group(0), binding(0), internal(disable_validation__entry_point_parameter), internal(disable_validation__ignore_storage_class)]] tint_symbol : ptr<uniform, S>, [[group(0), binding(1), internal(disable_validation__entry_point_parameter), internal(disable_validation__ignore_storage_class)]] tint_symbol_1 : ptr<storage, S>) { @@ -246,7 +246,7 @@ auto* expect = R"( struct tint_symbol_1 { arr : array<f32>; -}; +} [[stage(compute), workgroup_size(1)]] fn main([[group(0), binding(0), internal(disable_validation__entry_point_parameter), internal(disable_validation__ignore_storage_class)]] tint_symbol : ptr<storage, tint_symbol_1>) { @@ -275,7 +275,7 @@ auto* expect = R"( struct tint_symbol_1 { arr : array<f32>; -}; +} type myarray = array<f32>; @@ -308,11 +308,11 @@ auto* expect = R"( struct S { f : f32; -}; +} struct tint_symbol_1 { arr : array<S>; -}; +} [[stage(compute), workgroup_size(1)]] fn main([[group(0), binding(0), internal(disable_validation__entry_point_parameter), internal(disable_validation__ignore_storage_class)]] tint_symbol : ptr<storage, tint_symbol_1>) { @@ -360,7 +360,7 @@ auto* expect = R"( struct S { a : f32; -}; +} fn no_uses() { } @@ -479,7 +479,7 @@ auto* expect = R"( struct tint_symbol_2 { m : mat2x2<f32>; -}; +} [[stage(compute), workgroup_size(1)]] fn main([[internal(disable_validation__entry_point_parameter)]] tint_symbol_1 : ptr<workgroup, tint_symbol_2>) { @@ -512,15 +512,15 @@ auto* expect = R"( struct S1 { m : mat2x2<f32>; -}; +} struct S2 { s : S1; -}; +} struct tint_symbol_2 { m : array<S2, 4u>; -}; +} [[stage(compute), workgroup_size(1)]] fn main([[internal(disable_validation__entry_point_parameter)]] tint_symbol_1 : ptr<workgroup, tint_symbol_2>) { @@ -556,12 +556,12 @@ auto* expect = R"( struct S { m : mat2x2<f32>; -}; +} struct tint_symbol_3 { a : S; b : S; -}; +} [[stage(compute), workgroup_size(1)]] fn main([[internal(disable_validation__entry_point_parameter)]] tint_symbol_1 : ptr<workgroup, tint_symbol_3>) { @@ -602,7 +602,7 @@ auto* expect = R"( struct S { a : f32; -}; +} [[stage(compute), workgroup_size(1)]] fn main() {
diff --git a/src/transform/multiplanar_external_texture_test.cc b/src/transform/multiplanar_external_texture_test.cc index 631d76b..e4c1d55 100644 --- a/src/transform/multiplanar_external_texture_test.cc +++ b/src/transform/multiplanar_external_texture_test.cc
@@ -84,7 +84,7 @@ ug : f32; vg : f32; ub : f32; -}; +} [[group(0), binding(1)]] var ext_tex_plane_1 : texture_2d<f32>; @@ -128,7 +128,7 @@ ug : f32; vg : f32; ub : f32; -}; +} [[group(0), binding(2)]] var ext_tex_plane_1 : texture_2d<f32>; @@ -181,7 +181,7 @@ ug : f32; vg : f32; ub : f32; -}; +} [[group(0), binding(1)]] var ext_tex_plane_1 : texture_2d<f32>; @@ -238,7 +238,7 @@ ug : f32; vg : f32; ub : f32; -}; +} [[group(0), binding(2)]] var ext_tex_plane_1 : texture_2d<f32>; @@ -311,7 +311,7 @@ ug : f32; vg : f32; ub : f32; -}; +} [[group(0), binding(4)]] var ext_tex_plane_1 : texture_2d<f32>; @@ -393,7 +393,7 @@ ug : f32; vg : f32; ub : f32; -}; +} fn textureSampleExternal(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, smp : sampler, coord : vec2<f32>, params : ExternalTextureParams) -> vec4<f32> { if ((params.numPlanes == 1u)) { @@ -459,7 +459,7 @@ ug : f32; vg : f32; ub : f32; -}; +} fn textureSampleExternal(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, smp : sampler, coord : vec2<f32>, params : ExternalTextureParams) -> vec4<f32> { if ((params.numPlanes == 1u)) { @@ -527,7 +527,7 @@ ug : f32; vg : f32; ub : f32; -}; +} fn textureSampleExternal(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, smp : sampler, coord : vec2<f32>, params : ExternalTextureParams) -> vec4<f32> { if ((params.numPlanes == 1u)) { @@ -605,7 +605,7 @@ ug : f32; vg : f32; ub : f32; -}; +} fn textureSampleExternal(plane0 : texture_2d<f32>, plane1 : texture_2d<f32>, smp : sampler, coord : vec2<f32>, params : ExternalTextureParams) -> vec4<f32> { if ((params.numPlanes == 1u)) {
diff --git a/src/transform/num_workgroups_from_uniform_test.cc b/src/transform/num_workgroups_from_uniform_test.cc index 9d1b81d..ecb221a 100644 --- a/src/transform/num_workgroups_from_uniform_test.cc +++ b/src/transform/num_workgroups_from_uniform_test.cc
@@ -68,7 +68,7 @@ auto* expect = R"( struct tint_symbol_2 { num_workgroups : vec3<u32>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_3 : tint_symbol_2; @@ -110,13 +110,13 @@ auto* expect = R"( struct tint_symbol_2 { num_workgroups : vec3<u32>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_3 : tint_symbol_2; struct Builtins { num_wgs : vec3<u32>; -}; +} fn main_inner(in : Builtins) { let groups_x = in.num_wgs.x; @@ -158,7 +158,7 @@ auto* expect = R"( struct tint_symbol_2 { num_workgroups : vec3<u32>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_3 : tint_symbol_2; @@ -166,14 +166,14 @@ gid : vec3<u32>; num_wgs : vec3<u32>; wgid : vec3<u32>; -}; +} struct tint_symbol_1 { [[builtin(global_invocation_id)]] gid : vec3<u32>; [[builtin(workgroup_id)]] wgid : vec3<u32>; -}; +} fn main_inner(in : Builtins) { let groups_x = in.num_wgs.x; @@ -233,19 +233,19 @@ auto* expect = R"( struct tint_symbol_6 { num_workgroups : vec3<u32>; -}; +} [[group(0), binding(30)]] var<uniform> tint_symbol_7 : tint_symbol_6; struct Builtins1 { num_wgs : vec3<u32>; -}; +} struct Builtins2 { gid : vec3<u32>; num_wgs : vec3<u32>; wgid : vec3<u32>; -}; +} fn main1_inner(in : Builtins1) { let groups_x = in.num_wgs.x; @@ -263,7 +263,7 @@ gid : vec3<u32>; [[builtin(workgroup_id)]] wgid : vec3<u32>; -}; +} fn main2_inner(in : Builtins2) { let groups_x = in.num_wgs.x; @@ -313,14 +313,14 @@ struct Builtins { gid : vec3<u32>; wgid : vec3<u32>; -}; +} struct tint_symbol_1 { [[builtin(global_invocation_id)]] gid : vec3<u32>; [[builtin(workgroup_id)]] wgid : vec3<u32>; -}; +} fn main_inner(in : Builtins) { }
diff --git a/src/transform/pad_array_elements_test.cc b/src/transform/pad_array_elements_test.cc index 7483f3f..05ca2da 100644 --- a/src/transform/pad_array_elements_test.cc +++ b/src/transform/pad_array_elements_test.cc
@@ -52,7 +52,7 @@ struct tint_padded_array_element { [[size(8)]] el : i32; -}; +} var<private> arr : array<tint_padded_array_element, 4u>; )"; @@ -72,11 +72,11 @@ struct tint_padded_array_element { [[size(8)]] el : i32; -}; +} struct S { rta : array<tint_padded_array_element>; -}; +} )"; auto got = Run<PadArrayElements>(src); @@ -97,7 +97,7 @@ struct tint_padded_array_element { [[size(16)]] el : i32; -}; +} fn f() { var arr : array<tint_padded_array_element, 4u>; @@ -122,7 +122,7 @@ struct tint_padded_array_element { [[size(12)]] el : i32; -}; +} fn f(a : array<tint_padded_array_element, 4u>) -> i32 { return a[2].el; @@ -175,7 +175,7 @@ struct tint_padded_array_element { [[size(16)]] el : i32; -}; +} type Array = array<tint_padded_array_element, 4u>; @@ -207,24 +207,24 @@ struct tint_padded_array_element { [[size(8)]] el : i32; -}; +} struct tint_padded_array_element_1 { [[size(8)]] el : i32; -}; +} struct tint_padded_array_element_2 { [[size(12)]] el : i32; -}; +} struct S { a : array<tint_padded_array_element, 4u>; b : array<tint_padded_array_element_1, 8u>; c : array<tint_padded_array_element, 4u>; d : array<tint_padded_array_element_2, 8u>; -}; +} )"; auto got = Run<PadArrayElements>(src); @@ -244,38 +244,38 @@ struct tint_padded_array_element { [[size(512)]] el : i32; -}; +} struct tint_padded_array_element_2 { [[size(32)]] el : i32; -}; +} struct tint_padded_array_element_1 { [[size(512)]] el : array<tint_padded_array_element_2, 4u>; -}; +} struct tint_padded_array_element_5 { [[size(8)]] el : i32; -}; +} struct tint_padded_array_element_4 { [[size(64)]] el : array<tint_padded_array_element_5, 4u>; -}; +} struct tint_padded_array_element_3 { [[size(512)]] el : array<tint_padded_array_element_4, 4u>; -}; +} struct S { a : array<tint_padded_array_element, 4u>; b : array<tint_padded_array_element_1, 4u>; c : array<tint_padded_array_element_3, 4u>; -}; +} )"; auto got = Run<PadArrayElements>(src); @@ -299,38 +299,38 @@ struct tint_padded_array_element { [[size(512)]] el : i32; -}; +} struct tint_padded_array_element_2 { [[size(32)]] el : i32; -}; +} struct tint_padded_array_element_1 { [[size(512)]] el : array<tint_padded_array_element_2, 4u>; -}; +} struct tint_padded_array_element_5 { [[size(8)]] el : i32; -}; +} struct tint_padded_array_element_4 { [[size(64)]] el : array<tint_padded_array_element_5, 4u>; -}; +} struct tint_padded_array_element_3 { [[size(512)]] el : array<tint_padded_array_element_4, 4u>; -}; +} struct S { a : array<tint_padded_array_element, 4u>; b : array<tint_padded_array_element_1, 4u>; c : array<tint_padded_array_element_3, 4u>; -}; +} fn f(s : S) -> i32 { return ((s.a[2].el + s.b[1].el[2].el) + s.c[3].el[1].el[2].el); @@ -365,7 +365,7 @@ struct tint_padded_array_element { [[size(8)]] el : i32; -}; +} type T1 = array<tint_padded_array_element, 1u>; @@ -374,7 +374,7 @@ struct tint_padded_array_element_1 { [[size(8)]] el : i32; -}; +} fn f1(a : array<tint_padded_array_element_1, 2u>) { } @@ -384,7 +384,7 @@ struct tint_padded_array_element_2 { [[size(8)]] el : i32; -}; +} fn f2() { var v : array<tint_padded_array_element_2, 3u>;
diff --git a/src/transform/promote_initializers_to_const_var_test.cc b/src/transform/promote_initializers_to_const_var_test.cc index b32d153..8e2dc25 100644 --- a/src/transform/promote_initializers_to_const_var_test.cc +++ b/src/transform/promote_initializers_to_const_var_test.cc
@@ -67,7 +67,7 @@ a : i32; b : f32; c : vec3<f32>; -}; +} fn f() { let tint_symbol = S(1, 2.0, vec3<f32>()); @@ -126,7 +126,7 @@ a : i32; b : f32; c : vec3<f32>; -}; +} fn f() { var insert_after = 1; @@ -288,17 +288,17 @@ auto* expect = R"( struct S1 { a : i32; -}; +} struct S2 { a : i32; b : S1; c : i32; -}; +} struct S3 { a : S2; -}; +} fn f() { let tint_symbol = S1(2); @@ -331,11 +331,11 @@ auto* expect = R"( struct S1 { a : i32; -}; +} struct S2 { a : array<S1, 3u>; -}; +} fn f() { let tint_symbol = S1(1); @@ -358,7 +358,7 @@ a : i32; b : f32; c : i32; -}; +} fn f() { var local_arr = array<f32, 4u>(0.0, 1.0, 2.0, 3.0);
diff --git a/src/transform/remove_phonies_test.cc b/src/transform/remove_phonies_test.cc index 837e34c..6d6c86d 100644 --- a/src/transform/remove_phonies_test.cc +++ b/src/transform/remove_phonies_test.cc
@@ -204,7 +204,7 @@ auto* expect = R"( struct S { arr : array<i32>; -}; +} [[group(0), binding(0)]] var<storage, read_write> s : S;
diff --git a/src/transform/robustness_test.cc b/src/transform/robustness_test.cc index 4c0025e..a471381 100644 --- a/src/transform/robustness_test.cc +++ b/src/transform/robustness_test.cc
@@ -630,7 +630,7 @@ struct S { a : f32; b : array<f32>; -}; +} [[group(0), binding(0)]] var<storage, read> s : S; @@ -794,7 +794,7 @@ struct S { a : f32; b : array<f32>; -}; +} [[group(0), binding(0)]] var<storage, read> s : S; @@ -874,7 +874,7 @@ struct S { a : array<f32, 4>; b : array<f32>; -}; +} [[group(0), binding(0)]] var<storage, read> s : S; @@ -882,7 +882,7 @@ struct U { a : UArr; -}; +} [[group(1), binding(0)]] var<uniform> u : U; @@ -937,7 +937,7 @@ struct S { a : array<f32, 4>; b : array<f32>; -}; +} [[group(0), binding(0)]] var<storage, read> s : S; @@ -945,7 +945,7 @@ struct U { a : UArr; -}; +} [[group(1), binding(0)]] var<uniform> u : U; @@ -1002,7 +1002,7 @@ struct S { a : array<f32, 4>; b : array<f32>; -}; +} [[group(0), binding(0)]] var<storage, read> s : S; @@ -1010,7 +1010,7 @@ struct U { a : UArr; -}; +} [[group(1), binding(0)]] var<uniform> u : U; @@ -1067,7 +1067,7 @@ struct S { a : array<f32, 4>; b : array<f32>; -}; +} [[group(0), binding(0)]] var<storage, read> s : S; @@ -1075,7 +1075,7 @@ struct U { a : UArr; -}; +} [[group(1), binding(0)]] var<uniform> u : U;
diff --git a/src/transform/simplify_pointers_test.cc b/src/transform/simplify_pointers_test.cc index 0fdf806..6b55d32 100644 --- a/src/transform/simplify_pointers_test.cc +++ b/src/transform/simplify_pointers_test.cc
@@ -168,7 +168,7 @@ auto* expect = R"( struct S { i : i32; -}; +} fn arr() { var a : array<S, 2>; @@ -325,11 +325,11 @@ struct Inner { a : array<i32, 2>; -}; +} struct Outer { a : array<Inner, 2>; -}; +} fn f() { var arr : array<Outer, 2>;
diff --git a/src/transform/unshadow_test.cc b/src/transform/unshadow_test.cc index 2a4cbed..ddba826 100644 --- a/src/transform/unshadow_test.cc +++ b/src/transform/unshadow_test.cc
@@ -102,7 +102,7 @@ auto* expect = R"( struct a { m : i32; -}; +} fn X() { var a_1 = true;
diff --git a/src/transform/vertex_pulling_test.cc b/src/transform/vertex_pulling_test.cc index b43d4a4..10b8ee8 100644 --- a/src/transform/vertex_pulling_test.cc +++ b/src/transform/vertex_pulling_test.cc
@@ -109,7 +109,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[stage(vertex)]] fn main() -> [[builtin(position)]] vec4<f32> { @@ -138,7 +138,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -176,7 +176,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -214,7 +214,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(5)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -257,14 +257,14 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; struct Inputs { [[location(0)]] var_a : f32; -}; +} [[stage(vertex)]] fn main([[builtin(vertex_index)]] tint_pulling_vertex_index : u32) -> [[builtin(position)]] vec4<f32> { @@ -305,7 +305,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -365,7 +365,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -376,7 +376,7 @@ custom_vertex_index : u32; [[builtin(instance_index)]] custom_instance_index : u32; -}; +} struct Inputs { [[location(0)]] @@ -387,7 +387,7 @@ custom_vertex_index : u32; [[builtin(instance_index)]] custom_instance_index : u32; -}; +} [[stage(vertex)]] fn main(tint_symbol_1 : tint_symbol) -> [[builtin(position)]] vec4<f32> { @@ -447,7 +447,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -458,14 +458,14 @@ var_a : f32; [[location(1)]] var_b : f32; -}; +} struct Indices { [[builtin(vertex_index)]] custom_vertex_index : u32; [[builtin(instance_index)]] custom_instance_index : u32; -}; +} [[stage(vertex)]] fn main(indices : Indices) -> [[builtin(position)]] vec4<f32> { @@ -514,7 +514,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -559,7 +559,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -615,7 +615,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data_1 : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0_1 : TintVertexData; @@ -692,7 +692,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -852,7 +852,7 @@ R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData; @@ -1011,7 +1011,7 @@ auto* expect = R"( struct TintVertexData { tint_vertex_data : [[stride(4)]] array<u32>; -}; +} [[binding(0), group(4)]] var<storage, read> tint_pulling_vertex_buffer_0 : TintVertexData;
diff --git a/src/transform/wrap_arrays_in_structs_test.cc b/src/transform/wrap_arrays_in_structs_test.cc index a93f995..21aa7c84c 100644 --- a/src/transform/wrap_arrays_in_structs_test.cc +++ b/src/transform/wrap_arrays_in_structs_test.cc
@@ -41,7 +41,7 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} var<private> arr : tint_array_wrapper; )"; @@ -61,7 +61,7 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} fn f() { var arr : tint_array_wrapper; @@ -83,7 +83,7 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} fn f(a : tint_array_wrapper) -> i32 { return a.arr[2]; @@ -104,7 +104,7 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} fn f() -> tint_array_wrapper { return tint_array_wrapper(array<i32, 4u>(1, 2, 3, 4)); @@ -133,13 +133,13 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 2u>; -}; +} type Inner = tint_array_wrapper; struct tint_array_wrapper_1 { arr : array<tint_array_wrapper, 2u>; -}; +} type Array = tint_array_wrapper_1; @@ -169,17 +169,17 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} struct tint_array_wrapper_1 { arr : array<i32, 8u>; -}; +} struct S { a : tint_array_wrapper; b : tint_array_wrapper_1; c : tint_array_wrapper; -}; +} )"; auto got = Run<WrapArraysInStructs>(src); @@ -198,21 +198,21 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} struct tint_array_wrapper_1 { arr : array<tint_array_wrapper, 4u>; -}; +} struct tint_array_wrapper_2 { arr : array<tint_array_wrapper_1, 4u>; -}; +} struct S { a : tint_array_wrapper; b : tint_array_wrapper_1; c : tint_array_wrapper_2; -}; +} )"; auto got = Run<WrapArraysInStructs>(src); @@ -235,21 +235,21 @@ auto* expect = R"( struct tint_array_wrapper { arr : array<i32, 4u>; -}; +} struct tint_array_wrapper_1 { arr : array<tint_array_wrapper, 4u>; -}; +} struct tint_array_wrapper_2 { arr : array<tint_array_wrapper_1, 4u>; -}; +} struct S { a : tint_array_wrapper; b : tint_array_wrapper_1; c : tint_array_wrapper_2; -}; +} fn f(s : S) -> i32 { return ((s.a.arr[2] + s.b.arr[1].arr[2]) + s.c.arr[3].arr[1].arr[2]); @@ -283,7 +283,7 @@ struct tint_array_wrapper { arr : array<i32, 1u>; -}; +} type T1 = tint_array_wrapper; @@ -291,7 +291,7 @@ struct tint_array_wrapper_1 { arr : array<i32, 2u>; -}; +} fn f1(a : tint_array_wrapper_1) { } @@ -300,7 +300,7 @@ struct tint_array_wrapper_2 { arr : array<i32, 3u>; -}; +} fn f2() { var v : tint_array_wrapper_2;
diff --git a/src/transform/zero_init_workgroup_memory_test.cc b/src/transform/zero_init_workgroup_memory_test.cc index f76e3a7..166036e 100644 --- a/src/transform/zero_init_workgroup_memory_test.cc +++ b/src/transform/zero_init_workgroup_memory_test.cc
@@ -118,7 +118,7 @@ struct Params { [[builtin(local_invocation_index)]] local_idx : u32; -}; +} [[stage(compute), workgroup_size(1)]] fn f(params : Params) { @@ -187,7 +187,7 @@ struct S { x : i32; y : array<i32, 8>; -}; +} var<workgroup> a : i32; @@ -251,7 +251,7 @@ struct S { x : i32; y : array<i32, 8>; -}; +} var<workgroup> a : i32; @@ -318,7 +318,7 @@ struct S { x : i32; y : array<i32, 8>; -}; +} var<workgroup> a : i32; @@ -389,7 +389,7 @@ x : array<array<i32, 8>, 10>; y : array<i32, 8>; z : array<array<array<i32, 8>, 10>, 20>; -}; +} var<workgroup> a : i32; @@ -473,7 +473,7 @@ struct S { x : i32; y : array<i32, 8>; -}; +} var<workgroup> a : i32; @@ -546,7 +546,7 @@ struct S { x : i32; y : array<i32, 8>; -}; +} var<workgroup> a : i32; @@ -711,7 +711,7 @@ b : f32; u : atomic<u32>; c : u32; -}; +} var<workgroup> w : S; @@ -786,7 +786,7 @@ b : f32; u : atomic<u32>; c : u32; -}; +} var<workgroup> w : array<S, 4>;