Manual Dawn Roll

Required https://dawn.googlesource.com/dawn/+/77bf233cef236a094ef845d8f1a31073c2ddd7b9 and
https://dawn.googlesource.com/dawn/+/7223a5e7c9e122179e17f4faab6115e116c7ced3
to land, and for us to update our GN rules appropriately.

Change-Id: I5dad6bbd6e103405de16d7744f0c1c33fae9e0fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/551857
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 236feb6..f86043a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1706,7 +1706,7 @@
     ]
 
     if (skia_use_dawn) {
-      deps += [ "//third_party/externals/dawn/src/dawn:dawn_headers" ]
+      deps += [ "//third_party/externals/dawn/include/dawn:headers" ]
     }
   }
 
@@ -1893,7 +1893,7 @@
       sources += [ "tools/gpu/d3d/D3DTestUtils.cpp" ]
     }
     if (skia_use_dawn) {
-      public_deps += [ "//third_party/externals/dawn/src/dawn:dawn_headers" ]
+      public_deps += [ "//third_party/externals/dawn/include/dawn:headers" ]
       sources += [ "tools/gpu/dawn/DawnTestContext.cpp" ]
       if (is_clang) {
         cflags_cc = [ "-Wno-microsoft-cast" ]
diff --git a/DEPS b/DEPS
index 8717496..22e052c 100644
--- a/DEPS
+++ b/DEPS
@@ -14,7 +14,7 @@
   "third_party/externals/d3d12allocator"         : "https://skia.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git@169895d529dfce00390a20e69c2f516066fe7a3b",
   # Dawn requires jinja2 and markupsafe for the code generator, tint for SPIRV compilation, and abseil for string formatting.
   # When the Dawn revision is updated these should be updated from the Dawn DEPS as well.
-  "third_party/externals/dawn"                   : "https://dawn.googlesource.com/dawn.git@4a63612cd2afd94ee57c9082145671531e66a37a",
+  "third_party/externals/dawn"                   : "https://dawn.googlesource.com/dawn.git@606abfbeae8366c9fe872c8bdf5f7cff9d1668f6",
   "third_party/externals/jinja2"                 : "https://chromium.googlesource.com/chromium/src/third_party/jinja2@ee69aa00ee8536f61db6a451f3858745cf587de6",
   "third_party/externals/markupsafe"             : "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@0944e71f4b2cb9a871bcbe353f95e889b64a611a",
   "third_party/externals/abseil-cpp"             : "https://skia.googlesource.com/external/github.com/abseil/abseil-cpp.git@c5a424a2a21005660b182516eb7a079cd8021699",
diff --git a/bazel/external/dawn/BUILD.bazel b/bazel/external/dawn/BUILD.bazel
index c4b6725..a58e285 100644
--- a/bazel/external/dawn/BUILD.bazel
+++ b/bazel/external/dawn/BUILD.bazel
@@ -740,6 +740,8 @@
     "src/tint/ast/interpolate_attribute.h",
     "src/tint/ast/invariant_attribute.cc",
     "src/tint/ast/invariant_attribute.h",
+    "src/tint/ast/let.cc",
+    "src/tint/ast/let.h",
     "src/tint/ast/literal_expression.cc",
     "src/tint/ast/literal_expression.h",
     "src/tint/ast/location_attribute.cc",
@@ -756,6 +758,10 @@
     "src/tint/ast/multisampled_texture.h",
     "src/tint/ast/node.cc",
     "src/tint/ast/node.h",
+    "src/tint/ast/override.cc",
+    "src/tint/ast/override.h",
+    "src/tint/ast/parameter.cc",
+    "src/tint/ast/parameter.h",
     "src/tint/ast/phony_expression.cc",
     "src/tint/ast/phony_expression.h",
     "src/tint/ast/pipeline_stage.cc",
@@ -806,12 +812,16 @@
     "src/tint/ast/unary_op_expression.h",
     "src/tint/ast/variable.cc",
     "src/tint/ast/variable.h",
+    "src/tint/ast/var.cc",
+    "src/tint/ast/var.h",
     "src/tint/ast/variable_decl_statement.cc",
     "src/tint/ast/variable_decl_statement.h",
     "src/tint/ast/vector.cc",
     "src/tint/ast/vector.h",
     "src/tint/ast/void.cc",
     "src/tint/ast/void.h",
+    "src/tint/ast/while_statement.cc",
+    "src/tint/ast/while_statement.h",
     "src/tint/ast/workgroup_attribute.cc",
     "src/tint/ast/workgroup_attribute.h",
     "src/tint/castable.cc",
@@ -950,6 +960,8 @@
     "src/tint/transform/vectorize_scalar_matrix_constructors.h",
     "src/tint/transform/vertex_pulling.cc",
     "src/tint/transform/vertex_pulling.h",
+    "src/tint/transform/while_to_loop.cc",
+    "src/tint/transform/while_to_loop.h",
     "src/tint/transform/wrap_arrays_in_structs.cc",
     "src/tint/transform/wrap_arrays_in_structs.h",
     "src/tint/transform/zero_init_workgroup_memory.cc",
@@ -1093,6 +1105,8 @@
     "src/tint/sem/vector.h",
     "src/tint/sem/void.cc",
     "src/tint/sem/void.h",
+    "src/tint/sem/while_statement.cc",
+    "src/tint/sem/while_statement.h",
     # Dawn sets the following tint GN variables
     #    tint_build_spv_reader = true
     #    tint_build_spv_writer = true
diff --git a/build_overrides/tint.gni b/build_overrides/tint.gni
index 2529bbbf..c2fdcbe 100644
--- a/build_overrides/tint.gni
+++ b/build_overrides/tint.gni
@@ -13,3 +13,5 @@
 tint_build_spv_writer = true
 tint_build_wgsl_reader = true
 tint_build_wgsl_writer = true
+
+tint_build_unittests = false