Migrate Dawn fuzzers to using new SPVC split API

Roll third_party/shaderc/ c9d5be6b0..0865050e5 (3 commits)

https://chromium.googlesource.com/external/github.com/google/shaderc/+log/c9d5be6b0170..0865050e54e9

$ git log c9d5be6b0..0865050e5 --date=short --no-merges --format='%ad %ae %s'
2019-11-12 rharrison Split spvc shader generation into initialize and compile phases (#882)
2019-11-12 9856269+sarahM0 opName - opStruct (#880)
2019-11-12 rharrison Rolling 5 dependencies and updating expectations (#879)

Created with:
  roll-dep third_party/shaderc

Change-Id: Iea431b36973ac1fbfe68f1353e538ca4ca5ca910
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/13423
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/DEPS b/DEPS
index 4fa53bd..15130e7 100644
--- a/DEPS
+++ b/DEPS
@@ -68,7 +68,7 @@
     'condition': 'dawn_standalone',
   },
   'third_party/shaderc': {
-    'url': '{chromium_git}/external/github.com/google/shaderc@c9d5be6b01708bf7d8a8401a7edb98bf3ab82f17',
+    'url': '{chromium_git}/external/github.com/google/shaderc@0865050e54e93bb1b0f122780246892a1164bb26',
     'condition': 'dawn_standalone',
   },
 
diff --git a/src/fuzzers/DawnSPIRVCrossGLSLFastFuzzer.cpp b/src/fuzzers/DawnSPIRVCrossGLSLFastFuzzer.cpp
index 7a0afff..7418c7d 100644
--- a/src/fuzzers/DawnSPIRVCrossGLSLFastFuzzer.cpp
+++ b/src/fuzzers/DawnSPIRVCrossGLSLFastFuzzer.cpp
@@ -34,7 +34,10 @@
             // Using the options that are used by Dawn, they appear in ShaderModuleGL.cpp
             options.SetGLSLLanguageVersion(440);
             options.SetFixupClipspace(true);
-            context.CompileSpvToGlsl(input.data(), input.size(), options, &result);
+            if (context.InitializeForGlsl(input.data(), input.size(), options) ==
+                shaderc_compilation_status_success) {
+                context.CompileShader(&result);
+            }
         });
 
         return 0;
diff --git a/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp b/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp
index 8acef53..537b7f1 100644
--- a/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp
+++ b/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp
@@ -40,7 +40,10 @@
             // See https://github.com/gpuweb/gpuweb/issues/332
             options.SetHLSLPointCoordCompat(true);
             options.SetHLSLPointSizeCompat(true);
-            context.CompileSpvToHlsl(input.data(), input.size(), options, &result);
+            if (context.InitializeForHlsl(input.data(), input.size(), options) ==
+                shaderc_compilation_status_success) {
+                context.CompileShader(&result);
+            }
         });
 
         return 0;
diff --git a/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp b/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp
index 0909d97..7aa87f7 100644
--- a/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp
+++ b/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp
@@ -33,7 +33,10 @@
             options.SetTargetEnvironment(shaderc_target_env_vulkan, shaderc_env_version_vulkan_1_1);
 
             // Using the options that are used by Dawn, they appear in ShaderModuleMTL.mm
-            context.CompileSpvToMsl(input.data(), input.size(), options, &result);
+            if (context.InitializeForMsl(input.data(), input.size(), options) ==
+                shaderc_compilation_status_success) {
+                context.CompileShader(&result);
+            }
         });
 
         return 0;