[DEPS] Add libprotobuf-mutator as a new dependency

Change-Id: Ifb0cb604a9eedb9d4a42c1040930288ede940df5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189711
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/.gitignore b/.gitignore
index 8c3d854..0fb5648 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,7 @@
 /third_party/khronos/OpenGL-Registry
 /third_party/libc++/src
 /third_party/libc++abi/src
+/third_party/libprotobuf-mutator/src
 /third_party/llvm-build
 /third_party/markupsafe
 /third_party/ninja
diff --git a/.gitmodules b/.gitmodules
index 74dd01f..a52398c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -161,6 +161,10 @@
 	path = tools/protoc_wrapper
 	url = https://chromium.googlesource.com/chromium/src/tools/protoc_wrapper
 	gclient-condition = dawn_standalone
+[submodule "third_party/libprotobuf-mutator/src"]
+	path = third_party/libprotobuf-mutator/src
+	url = https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator
+	gclient-condition = dawn_standalone
 [submodule "third_party/jsoncpp"]
 	path = third_party/jsoncpp
 	url = https://github.com/open-source-parsers/jsoncpp
diff --git a/DEPS b/DEPS
index 17c9e5c..7b9cd5c 100644
--- a/DEPS
+++ b/DEPS
@@ -423,6 +423,11 @@
     'condition': 'dawn_standalone',
   },
 
+  'third_party/libprotobuf-mutator/src': {
+    'url': '{chromium_git}/external/github.com/google/libprotobuf-mutator.git@a304ec48dcf15d942607032151f7e9ee504b5dcf',
+    'condition': 'dawn_standalone',
+  },
+
   # Dependencies for tintd.
   'third_party/jsoncpp': {
     'url': '{github_git}/open-source-parsers/jsoncpp.git@69098a18b9af0c47549d9a271c054d13ca92b006',
diff --git a/build_overrides/tint.gni b/build_overrides/tint.gni
index 4ebab93..cf28be2 100644
--- a/build_overrides/tint.gni
+++ b/build_overrides/tint.gni
@@ -29,6 +29,7 @@
 tint_standalone = true
 tint_has_build = true
 
+tint_lpm_dir = "//third_party/libprotobuf-mutator"
 tint_spirv_tools_dir = "//third_party/spirv-tools/src"
 tint_spirv_headers_dir = "//third_party/spirv-headers/src"
 tint_glslang_dir = "//third_party/glslang/src"
diff --git a/scripts/tint_overrides_with_defaults.gni b/scripts/tint_overrides_with_defaults.gni
index 8cfa9ae..ef80770 100644
--- a/scripts/tint_overrides_with_defaults.gni
+++ b/scripts/tint_overrides_with_defaults.gni
@@ -70,6 +70,11 @@
     tint_spirv_headers_dir = "//third_party/spirv-headers/src"
   }
 
+  # Path to libprotobuf-mutator checkout
+  if (!defined(tint_lpm_dir)) {
+    tint_lpm_dir = "//third_party/libprotobuf-mutator"
+  }
+
   if (!defined(tint_build_cmds)) {
     tint_build_cmds = tint_standalone
   }
diff --git a/third_party/libprotobuf-mutator/src b/third_party/libprotobuf-mutator/src
new file mode 160000
index 0000000..a304ec4
--- /dev/null
+++ b/third_party/libprotobuf-mutator/src
@@ -0,0 +1 @@
+Subproject commit a304ec48dcf15d942607032151f7e9ee504b5dcf