Add runtime toggle to select IR generation path in SPVC

BUG=dawn:281

Change-Id: I3102fece31289d1b511a13536aaf29254501d7c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/14140
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/dawn_native/Toggles.cpp b/src/dawn_native/Toggles.cpp
index 0995499..8f5247f 100644
--- a/src/dawn_native/Toggles.cpp
+++ b/src/dawn_native/Toggles.cpp
@@ -86,7 +86,12 @@
              {Toggle::UseSpvc,
               {"use_spvc",
                "Enable use of spvc for shader compilation, instead of accessing spirv_cross "
-               "directly."}}}};
+               "directly."}},
+             {Toggle::UseSpvcIRGen,
+              {"use_spvc_ir_gen",
+               "Enable usage of spvc's internal parsing and IR generation code, instead of "
+               "spirv_cross's."}}}};
+
     }  // anonymous namespace
 
     void TogglesSet::SetToggle(Toggle toggle, bool enabled) {
diff --git a/src/dawn_native/Toggles.h b/src/dawn_native/Toggles.h
index 0b8ed31..aa5c4f9 100644
--- a/src/dawn_native/Toggles.h
+++ b/src/dawn_native/Toggles.h
@@ -34,6 +34,7 @@
         UseD3D12RenderPass,
         SkipValidation,
         UseSpvc,
+        UseSpvcIRGen,
 
         EnumCount,
         InvalidEnum = EnumCount,