wgsl: Replace [[decoration]] with @decoration

Deprecate the old syntax. Migrate everything to the new syntax.

Bug: tint:1382
Change-Id: Ide12b2e927b17dc93b9714c7049090864cc568d3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77260
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
diff --git a/test/array/assign_to_function_var.wgsl b/test/array/assign_to_function_var.wgsl
index aeb1ab9..d5ccaa2 100644
--- a/test/array/assign_to_function_var.wgsl
+++ b/test/array/assign_to_function_var.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -6,8 +6,8 @@
 
 var<private> src_private : ArrayType;
 var<workgroup> src_workgroup : ArrayType;
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
 fn ret_arr() -> ArrayType {
   return ArrayType();
diff --git a/test/array/assign_to_function_var.wgsl.expected.wgsl b/test/array/assign_to_function_var.wgsl.expected.wgsl
index 3951d85..0033bea 100644
--- a/test/array/assign_to_function_var.wgsl.expected.wgsl
+++ b/test/array/assign_to_function_var.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -8,9 +8,9 @@
 
 var<workgroup> src_workgroup : ArrayType;
 
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
 
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
 fn ret_arr() -> ArrayType {
   return ArrayType();
diff --git a/test/array/assign_to_private_var.wgsl b/test/array/assign_to_private_var.wgsl
index b8b342c..510da19 100644
--- a/test/array/assign_to_private_var.wgsl
+++ b/test/array/assign_to_private_var.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -6,8 +6,8 @@
 
 var<private> src_private : ArrayType;
 var<workgroup> src_workgroup : ArrayType;
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
 var<private> dst : ArrayType;
 var<private> dst_nested : array<array<array<i32, 2>, 3>, 4>;
diff --git a/test/array/assign_to_private_var.wgsl.expected.wgsl b/test/array/assign_to_private_var.wgsl.expected.wgsl
index 56f7ba5..fd2057b 100644
--- a/test/array/assign_to_private_var.wgsl.expected.wgsl
+++ b/test/array/assign_to_private_var.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -8,9 +8,9 @@
 
 var<workgroup> src_workgroup : ArrayType;
 
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
 
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
 var<private> dst : ArrayType;
 
diff --git a/test/array/assign_to_storage_var.wgsl b/test/array/assign_to_storage_var.wgsl
index 9bc068a..6d001d8 100644
--- a/test/array/assign_to_storage_var.wgsl
+++ b/test/array/assign_to_storage_var.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -10,11 +10,11 @@
 
 var<private> src_private : ArrayType;
 var<workgroup> src_workgroup : ArrayType;
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
-[[group(0), binding(2)]] var<storage, read_write> dst : S;
-[[group(0), binding(3)]] var<storage, read_write> dst_nested : S_nested;
+@group(0) @binding(2) var<storage, read_write> dst : S;
+@group(0) @binding(3) var<storage, read_write> dst_nested : S_nested;
 
 fn ret_arr() -> ArrayType {
   return ArrayType();
diff --git a/test/array/assign_to_storage_var.wgsl.expected.wgsl b/test/array/assign_to_storage_var.wgsl.expected.wgsl
index dce03ab..88902fa 100644
--- a/test/array/assign_to_storage_var.wgsl.expected.wgsl
+++ b/test/array/assign_to_storage_var.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -12,13 +12,13 @@
 
 var<workgroup> src_workgroup : ArrayType;
 
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
 
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
-[[group(0), binding(2)]] var<storage, read_write> dst : S;
+@group(0) @binding(2) var<storage, read_write> dst : S;
 
-[[group(0), binding(3)]] var<storage, read_write> dst_nested : S_nested;
+@group(0) @binding(3) var<storage, read_write> dst_nested : S_nested;
 
 fn ret_arr() -> ArrayType {
   return ArrayType();
diff --git a/test/array/assign_to_workgroup_var.wgsl b/test/array/assign_to_workgroup_var.wgsl
index 225f2f2..9fb94eb 100644
--- a/test/array/assign_to_workgroup_var.wgsl
+++ b/test/array/assign_to_workgroup_var.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -6,8 +6,8 @@
 
 var<private> src_private : ArrayType;
 var<workgroup> src_workgroup : ArrayType;
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
 var<workgroup> dst : ArrayType;
 var<workgroup> dst_nested : array<array<array<i32, 2>, 3>, 4>;
diff --git a/test/array/assign_to_workgroup_var.wgsl.expected.wgsl b/test/array/assign_to_workgroup_var.wgsl.expected.wgsl
index a5a27e3..4fecbc8 100644
--- a/test/array/assign_to_workgroup_var.wgsl.expected.wgsl
+++ b/test/array/assign_to_workgroup_var.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-type ArrayType = [[stride(16)]] array<i32, 4>;
+type ArrayType = @stride(16) array<i32, 4>;
 
 struct S {
   arr : ArrayType;
@@ -8,9 +8,9 @@
 
 var<workgroup> src_workgroup : ArrayType;
 
-[[group(0), binding(0)]] var<uniform> src_uniform : S;
+@group(0) @binding(0) var<uniform> src_uniform : S;
 
-[[group(0), binding(1)]] var<storage, read_write> src_storage : S;
+@group(0) @binding(1) var<storage, read_write> src_storage : S;
 
 var<workgroup> dst : ArrayType;
 
diff --git a/test/array/function_parameter.wgsl b/test/array/function_parameter.wgsl
index e50418b..23de855 100644
--- a/test/array/function_parameter.wgsl
+++ b/test/array/function_parameter.wgsl
@@ -10,7 +10,7 @@
   return a[1][2][3];
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let a1 : array<f32, 4> = array<f32, 4>();
   let a2 : array<array<f32, 4>, 3> = array<array<f32, 4>, 3>();
diff --git a/test/array/function_parameter.wgsl.expected.wgsl b/test/array/function_parameter.wgsl.expected.wgsl
index e50418b..23de855 100644
--- a/test/array/function_parameter.wgsl.expected.wgsl
+++ b/test/array/function_parameter.wgsl.expected.wgsl
@@ -10,7 +10,7 @@
   return a[1][2][3];
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let a1 : array<f32, 4> = array<f32, 4>();
   let a2 : array<array<f32, 4>, 3> = array<array<f32, 4>, 3>();
diff --git a/test/array/function_return_type.wgsl b/test/array/function_return_type.wgsl
index 407302f..7491245 100644
--- a/test/array/function_return_type.wgsl
+++ b/test/array/function_return_type.wgsl
@@ -10,7 +10,7 @@
   return array<array<array<f32, 4>, 3>, 2>(f2(), f2());
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let a1 : array<f32, 4> = f1();
   let a2 : array<array<f32, 4>, 3> = f2();
diff --git a/test/array/function_return_type.wgsl.expected.wgsl b/test/array/function_return_type.wgsl.expected.wgsl
index 407302f..7491245 100644
--- a/test/array/function_return_type.wgsl.expected.wgsl
+++ b/test/array/function_return_type.wgsl.expected.wgsl
@@ -10,7 +10,7 @@
   return array<array<array<f32, 4>, 3>, 2>(f2(), f2());
 }
 
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let a1 : array<f32, 4> = f1();
   let a2 : array<array<f32, 4>, 3> = f2();
diff --git a/test/array/size.wgsl b/test/array/size.wgsl
index c5ebee4..60721db 100644
--- a/test/array/size.wgsl
+++ b/test/array/size.wgsl
@@ -1,7 +1,7 @@
 let slen = 4;
 let ulen = 4u;
 
-[[stage(fragment)]]
+@stage(fragment)
 fn main() {
   var signed_literal : array<f32, 4>;
   var unsigned_literal : array<f32, 4u>;
diff --git a/test/array/size.wgsl.expected.wgsl b/test/array/size.wgsl.expected.wgsl
index f0df1f0..0998407 100644
--- a/test/array/size.wgsl.expected.wgsl
+++ b/test/array/size.wgsl.expected.wgsl
@@ -2,7 +2,7 @@
 
 let ulen = 4u;
 
-[[stage(fragment)]]
+@stage(fragment)
 fn main() {
   var signed_literal : array<f32, 4>;
   var unsigned_literal : array<f32, 4u>;
diff --git a/test/array/type_constructor.wgsl b/test/array/type_constructor.wgsl
index 2870b12..8a07f39 100644
--- a/test/array/type_constructor.wgsl
+++ b/test/array/type_constructor.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let x : i32 = 42;
 
diff --git a/test/array/type_constructor.wgsl.expected.wgsl b/test/array/type_constructor.wgsl.expected.wgsl
index 39eaafd..4381ec8 100644
--- a/test/array/type_constructor.wgsl.expected.wgsl
+++ b/test/array/type_constructor.wgsl.expected.wgsl
@@ -1,4 +1,4 @@
-[[stage(compute), workgroup_size(1)]]
+@stage(compute) @workgroup_size(1)
 fn main() {
   let x : i32 = 42;
   let empty : array<i32, 4> = array<i32, 4>();