Abort dm/nanobench on bad configs.

Adjust the configs specified by recipes to avoid the new error.

Change-Id: I23e31355e2faaab919d92abdb37a6f70cd2da1ff
Reviewed-on: https://skia-review.googlesource.com/32862
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index 798dd0d..ab7c689 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -97,6 +97,8 @@
     return str;
 }
 
+DECLARE_bool(undefok);
+
 DEFINE_int32(loops, kDefaultLoops, loops_help_txt().c_str());
 
 DEFINE_int32(samples, 10, "Number of samples to measure for each bench.");
@@ -412,8 +414,10 @@
 
 #if SK_SUPPORT_GPU
     if (const auto* gpuConfig = config->asConfigGpu()) {
-        if (!FLAGS_gpu)
+        if (!FLAGS_gpu) {
+            SkDebugf("Skipping config '%s' as requested.\n", config->getTag().c_str());
             return;
+        }
 
         const auto ctxType = gpuConfig->getContextType();
         const auto ctxOverrides = gpuConfig->getContextOverrides();
@@ -426,12 +430,13 @@
                                                                   *ctx->caps());
             int supportedSampleCount = ctx->caps()->getSampleCount(sampleCount, grPixConfig);
             if (sampleCount != supportedSampleCount) {
-                SkDebugf("Configuration sample count %d is not a supported sample count.\n",
-                    sampleCount);
+                SkDebugf("Configuration '%s' sample count %d is not a supported sample count.\n",
+                         config->getTag().c_str(), sampleCount);
                 return;
             }
         } else {
-            SkDebugf("No context was available matching config type and options.\n");
+            SkDebugf("No context was available matching config '%s'.\n",
+                     config->getTag().c_str());
             return;
         }
 
@@ -454,6 +459,11 @@
 
     #define CPU_CONFIG(name, backend, color, alpha, colorSpace)                \
         if (config->getTag().equals(#name)) {                                  \
+            if (!FLAGS_cpu) {                                                  \
+                SkDebugf("Skipping config '%s' as requested.\n",               \
+                         config->getTag().c_str());                            \
+                return;                                                        \
+            }                                                                  \
             Config config = {                                                  \
                 SkString(#name), Benchmark::backend, color, alpha, colorSpace, \
                 0, kBogusContextType, kBogusContextOverrides, false            \
@@ -462,23 +472,23 @@
             return;                                                            \
         }
 
-    if (FLAGS_cpu) {
-        CPU_CONFIG(nonrendering, kNonRendering_Backend,
-                   kUnknown_SkColorType, kUnpremul_SkAlphaType, nullptr)
+    CPU_CONFIG(nonrendering, kNonRendering_Backend,
+               kUnknown_SkColorType, kUnpremul_SkAlphaType, nullptr)
 
-        CPU_CONFIG(8888, kRaster_Backend,
-                   kN32_SkColorType, kPremul_SkAlphaType, nullptr)
-        CPU_CONFIG(565,  kRaster_Backend,
-                   kRGB_565_SkColorType, kOpaque_SkAlphaType, nullptr)
-        auto srgbColorSpace = SkColorSpace::MakeSRGB();
-        CPU_CONFIG(srgb, kRaster_Backend,
-                   kN32_SkColorType,  kPremul_SkAlphaType, srgbColorSpace)
-        auto srgbLinearColorSpace = SkColorSpace::MakeSRGBLinear();
-        CPU_CONFIG(f16,  kRaster_Backend,
-                   kRGBA_F16_SkColorType, kPremul_SkAlphaType, srgbLinearColorSpace)
-    }
+    CPU_CONFIG(8888, kRaster_Backend,
+               kN32_SkColorType, kPremul_SkAlphaType, nullptr)
+    CPU_CONFIG(565,  kRaster_Backend,
+               kRGB_565_SkColorType, kOpaque_SkAlphaType, nullptr)
+    auto srgbColorSpace = SkColorSpace::MakeSRGB();
+    CPU_CONFIG(srgb, kRaster_Backend,
+               kN32_SkColorType,  kPremul_SkAlphaType, srgbColorSpace)
+    auto srgbLinearColorSpace = SkColorSpace::MakeSRGBLinear();
+    CPU_CONFIG(f16,  kRaster_Backend,
+               kRGBA_F16_SkColorType, kPremul_SkAlphaType, srgbLinearColorSpace)
 
     #undef CPU_CONFIG
+
+    SkDebugf("Unknown config '%s'.\n", config->getTag().c_str());
 }
 
 // Append all configs that are enabled and supported.
@@ -488,6 +498,17 @@
     for (int i = 0; i < array.count(); ++i) {
         create_config(array[i].get(), configs);
     }
+
+    // If no just default configs were requested, then we're okay.
+    if (array.count() == 0 || FLAGS_config.count() == 0 ||
+        // If we've been told to ignore undefined flags, we're okay.
+        FLAGS_undefok ||
+        // Otherwise, make sure that all specified configs have been created.
+        array.count() == configs->count()) {
+        return;
+    }
+    SkDebugf("Invalid --config. Use --undefok to bypass this warning.\n");
+    exit(1);
 }
 
 // disable warning : switch statement contains default but no 'case' labels
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 11527bf..6d35391 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -60,6 +60,7 @@
 
 extern bool gSkForceRasterPipelineBlitter;
 
+DECLARE_bool(undefok);
 DEFINE_string(src, "tests gm skp image", "Source types to test.");
 DEFINE_bool(nameByHash, false,
             "If true, write to FLAGS_writePath[0]/<hash>.png instead of "
@@ -979,9 +980,15 @@
     }
 
     // If no configs were requested (just running tests, perhaps?), then we're okay.
-    // Otherwise, make sure that at least one sink was constructed correctly. This catches
-    // the case of bots without a GPU being assigned GPU configs.
-    return (configs.count() == 0) || (gSinks.count() > 0);
+    if (configs.count() == 0 || FLAGS_config.count() == 0 ||
+        // If we've been told to ignore undefined flags, we're okay.
+        FLAGS_undefok ||
+        // Otherwise, make sure that all specified configs have become sinks.
+        configs.count() == gSinks.count()) {
+        return true;
+    }
+    info("Invalid --config. Use --undefok to bypass this warning.\n");
+    return false;
 }
 
 static bool dump_png(SkBitmap bitmap, const char* path, const char* md5) {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_Vulkan.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_Vulkan.json
index 891c8b5..3edebc9 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_Vulkan.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_Vulkan.json
@@ -561,7 +561,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config vk --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --nocpu --config vk --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android.json
index f450381..a5b0504 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android.json
@@ -597,7 +597,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nogpu --pre_log --scales 1.0 1.1 --config 8888 nonrendering hwui gles glesmsaa4 glesnvpr4 glesnvprdit4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler Clang cpu_or_gpu CPU cpu_or_gpu_value Exynos5250 extra_config Android model Nexus10 os Android; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --scales 1.0 1.1 --nogpu --config 8888 nonrendering --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler Clang cpu_or_gpu CPU cpu_or_gpu_value Exynos5250 extra_config Android model Nexus10 os Android; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-Android.json
index fc1f90a..073774f 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-Android.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-Android.json
@@ -561,7 +561,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config 8888 nonrendering hwui gles glesmsaa4 glesnvpr4 glesnvprdit4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~keymobi_shop_mobileweb_ebay_com.skp ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --nocpu --config gles glesmsaa4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~keymobi_shop_mobileweb_ebay_com.skp ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-GPU-Tegra3-arm-Release-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-GPU-Tegra3-arm-Release-Android.json
index 1951780..9bd82a5 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-GPU-Tegra3-arm-Release-Android.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-GPU-Tegra3-arm-Release-Android.json
@@ -597,7 +597,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config 8888 nonrendering hwui gles glesmsaa4 glesnvpr4 glesnvprdit4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler Clang cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --nocpu --config gles --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm compiler Clang cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android.json
index 527faa0..8d34ebd 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android.json
@@ -597,7 +597,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config 8888 nonrendering hwui f16 srgb gles --match ~blurroundrect ~patch_grid ~desk_carsvg ~desk_unicodetable ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch x86 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value PowerVR extra_config Android model NexusPlayer os Android; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --nocpu --config gles --match ~blurroundrect ~patch_grid ~desk_carsvg ~desk_unicodetable ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch x86 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value PowerVR extra_config Android model NexusPlayer os Android; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json
index eaf301e..3aa02e0 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json
@@ -597,7 +597,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config vk --match ~blurroundrect ~patch_grid ~desk_carsvg ~desk_unicodetable ~blendmode_ ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch x86 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value PowerVR extra_config Android_Vulkan model NexusPlayer os Android; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --nocpu --config vk --match ~blurroundrect ~patch_grid ~desk_carsvg ~desk_unicodetable ~blendmode_ ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch x86 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value PowerVR extra_config Android_Vulkan model NexusPlayer os Android; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android.json
index 8d611ad..724a19b 100644
--- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android.json
+++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android.json
@@ -597,7 +597,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config 8888 nonrendering hwui f16 srgb gles glesmsaa4 glesnvpr4 glesnvprdit4 glesinst glesinst4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm64 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value TegraX1 extra_config Android model PixelC os Android; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --nocpu --config gles glesmsaa4 glesnvpr4 glesnvprdit4 glesinst glesinst4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456 --key arch arm64 compiler Clang cpu_or_gpu GPU cpu_or_gpu_value TegraX1 extra_config Android model PixelC os Android; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/nanobench.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/perf.expected/Perf-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release.json b/infra/bots/recipes/perf.expected/Perf-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release.json
index 63147e8..4ae5e94 100644
--- a/infra/bots/recipes/perf.expected/Perf-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release.json
@@ -720,7 +720,6 @@
       "/home/chronos/user/images/nanobench",
       "--svgs",
       "/home/chronos/user/svgs",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -728,6 +727,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "gles",
       "--match",
diff --git a/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug.json b/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug.json
index 7c6ae65..7556c66 100644
--- a/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug.json
+++ b/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug.json
@@ -303,10 +303,9 @@
       "-t",
       "root@192.168.1.2",
       "/cache/skia/nanobench",
+      "--nogpu",
       "--config",
       "8888",
-      "gles",
-      "--nogpu",
       "-i",
       "/cache/skia/resources",
       "--images",
diff --git a/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release.json b/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release.json
index 9723087..fe43eb3 100644
--- a/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release.json
@@ -339,10 +339,9 @@
       "-t",
       "root@192.168.1.2",
       "/cache/skia/nanobench",
-      "--config",
-      "8888",
-      "gles",
       "--nocpu",
+      "--config",
+      "gles",
       "-i",
       "/cache/skia/resources",
       "--images",
diff --git a/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release.json b/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release.json
index 01e800a..6334fcb 100644
--- a/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release.json
@@ -150,23 +150,16 @@
       "[START_DIR]/skimage/nanobench",
       "--svgs",
       "[START_DIR]/svg",
-      "--nogpu",
       "--pre_log",
       "--scales",
       "1.0",
       "1.1",
+      "--nogpu",
       "--config",
       "8888",
       "nonrendering",
-      "hwui",
       "f16",
       "srgb",
-      "gl",
-      "glmsaa8",
-      "glnvpr8",
-      "glnvprdit8",
-      "glinst",
-      "glinst8",
       "--match",
       "~inc0.gif",
       "~inc1.gif",
diff --git a/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json b/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json
index a030e2c..36ffd88 100644
--- a/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json
+++ b/infra/bots/recipes/perf.expected/Perf-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json
@@ -122,7 +122,6 @@
       "[START_DIR]/skimage/nanobench",
       "--svgs",
       "[START_DIR]/svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -130,6 +129,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "commandbuffer",
       "--match",
diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release.json
index 9839bf6..9d36bab 100644
--- a/infra/bots/recipes/perf.expected/Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release.json
@@ -155,22 +155,17 @@
       "[START_DIR]/skimage/nanobench",
       "--svgs",
       "[START_DIR]/svg",
-      "--nogpu",
       "--pre_log",
       "--scales",
       "1.0",
       "1.1",
+      "--nogpu",
       "--config",
       "8888",
       "nonrendering",
-      "hwui",
       "f16",
       "srgb",
       "565",
-      "gl",
-      "glmsaa8",
-      "glnvpr8",
-      "glnvprdit8",
       "--match",
       "~inc0.gif",
       "~inc1.gif",
diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json
index 05e7e17..7ca9705 100644
--- a/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json
+++ b/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json
@@ -127,7 +127,6 @@
       "[START_DIR]/skp",
       "--images",
       "[START_DIR]/skimage/nanobench",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -135,12 +134,8 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
-      "8888",
-      "nonrendering",
-      "hwui",
-      "f16",
-      "srgb",
       "gl",
       "glmsaa8",
       "glnvpr8",
diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json
index e53c3f6..95ca6b0 100644
--- a/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json
+++ b/infra/bots/recipes/perf.expected/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json
@@ -127,7 +127,6 @@
       "[START_DIR]/skp",
       "--images",
       "[START_DIR]/skimage/nanobench",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -135,12 +134,8 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
-      "8888",
-      "nonrendering",
-      "hwui",
-      "f16",
-      "srgb",
       "gl",
       "glmsaa8",
       "glnvpr8",
@@ -171,8 +166,7 @@
       "~inc14.png",
       "~inc0.webp",
       "~inc1.webp",
-      "--abandonGpuContext",
-      "--nocpu"
+      "--abandonGpuContext"
     ],
     "env": {
       "BUILDTYPE": "Release",
diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
index b5df84d..5d526d5 100644
--- a/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
@@ -127,7 +127,6 @@
       "[START_DIR]/skimage/nanobench",
       "--svgs",
       "[START_DIR]/svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -135,6 +134,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "vk",
       "--match",
diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
index 8f8642b..2d48bc3 100644
--- a/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
@@ -155,7 +155,6 @@
       "[START_DIR]/skimage/nanobench",
       "--svgs",
       "[START_DIR]/svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -163,12 +162,8 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
-      "8888",
-      "nonrendering",
-      "hwui",
-      "f16",
-      "srgb",
       "gl",
       "gles",
       "--match",
diff --git a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Release-ANGLE.json b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Release-ANGLE.json
index 193cc12..04cc654 100644
--- a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Release-ANGLE.json
+++ b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Release-ANGLE.json
@@ -150,7 +150,6 @@
       "[START_DIR]\\skimage\\nanobench",
       "--svgs",
       "[START_DIR]\\svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -158,6 +157,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "angle_d3d11_es2",
       "angle_d3d11_es2_msaa8",
diff --git a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-ANGLE.json b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-ANGLE.json
index 8b9edff..486202e 100644
--- a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-ANGLE.json
+++ b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-ANGLE.json
@@ -150,7 +150,6 @@
       "[START_DIR]\\skimage\\nanobench",
       "--svgs",
       "[START_DIR]\\svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -158,6 +157,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "angle_d3d11_es2",
       "--match",
diff --git a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan.json b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan.json
index 2a937e8..79a21a7 100644
--- a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan.json
+++ b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan.json
@@ -150,7 +150,6 @@
       "[START_DIR]\\skimage\\nanobench",
       "--svgs",
       "[START_DIR]\\svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -158,6 +157,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "vk",
       "--match",
diff --git a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Release-ANGLE.json b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Release-ANGLE.json
index 3722f02..d52b224 100644
--- a/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Release-ANGLE.json
+++ b/infra/bots/recipes/perf.expected/Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Release-ANGLE.json
@@ -150,7 +150,6 @@
       "[START_DIR]\\skimage\\nanobench",
       "--svgs",
       "[START_DIR]\\svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -158,6 +157,7 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
       "angle_d3d11_es2",
       "angle_d3d11_es2_msaa8",
diff --git a/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug.json b/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug.json
index 0b5874e..699cbe2 100644
--- a/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug.json
+++ b/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug.json
@@ -122,22 +122,17 @@
       "[START_DIR]\\skimage\\nanobench",
       "--svgs",
       "[START_DIR]\\svg",
-      "--nogpu",
       "--pre_log",
       "--scales",
       "1.0",
       "1.1",
+      "--nogpu",
       "--config",
       "8888",
       "nonrendering",
-      "hwui",
       "f16",
       "srgb",
       "565",
-      "gl",
-      "glmsaa8",
-      "glnvpr8",
-      "glnvprdit8",
       "--match",
       "~inc0.gif",
       "~inc1.gif",
diff --git a/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release.json b/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release.json
index cc713ad..ce67120 100644
--- a/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release.json
@@ -150,22 +150,17 @@
       "[START_DIR]\\skimage\\nanobench",
       "--svgs",
       "[START_DIR]\\svg",
-      "--nogpu",
       "--pre_log",
       "--scales",
       "1.0",
       "1.1",
+      "--nogpu",
       "--config",
       "8888",
       "nonrendering",
-      "hwui",
       "f16",
       "srgb",
       "565",
-      "gl",
-      "glmsaa8",
-      "glnvpr8",
-      "glnvprdit8",
       "--match",
       "~inc0.gif",
       "~inc1.gif",
diff --git a/infra/bots/recipes/perf.expected/Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json b/infra/bots/recipes/perf.expected/Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json
index 378ee9f..40a6ced 100644
--- a/infra/bots/recipes/perf.expected/Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json
@@ -552,7 +552,6 @@
       "images/nanobench",
       "--svgs",
       "svgs",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -562,10 +561,8 @@
       "1.1",
       "--skps",
       "ignore_skps",
+      "--nocpu",
       "--config",
-      "8888",
-      "nonrendering",
-      "hwui",
       "gles",
       "--match",
       "~blurroundrect",
diff --git a/infra/bots/recipes/perf.expected/trybot.json b/infra/bots/recipes/perf.expected/trybot.json
index 035331f..f8b70a7 100644
--- a/infra/bots/recipes/perf.expected/trybot.json
+++ b/infra/bots/recipes/perf.expected/trybot.json
@@ -150,7 +150,6 @@
       "[START_DIR]/skimage/nanobench",
       "--svgs",
       "[START_DIR]/svg",
-      "--nocpu",
       "--pre_log",
       "--images",
       "--gpuStatsDump",
@@ -158,12 +157,8 @@
       "--scales",
       "1.0",
       "1.1",
+      "--nocpu",
       "--config",
-      "8888",
-      "nonrendering",
-      "hwui",
-      "f16",
-      "srgb",
       "gl",
       "--match",
       "~inc0.gif",
diff --git a/infra/bots/recipes/perf.py b/infra/bots/recipes/perf.py
index 8e880ff..42cde25 100644
--- a/infra/bots/recipes/perf.py
+++ b/infra/bots/recipes/perf.py
@@ -41,61 +41,75 @@
   if 'iOS' in bot:
     args.extend(['--skps', 'ignore_skps'])
 
-  configs = ['8888', 'nonrendering', 'hwui' ]
+  configs = []
+  if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU':
+    args.append('--nogpu')
+    configs.extend(['8888', 'nonrendering'])
 
-  if '-arm-' not in bot:
-    # For Android CPU tests, these take too long and cause the task to time out.
-    configs += [ 'f16', 'srgb' ]
-  if '-GCE-' in bot:
-    configs += [ '565' ]
+    if '-arm-' not in bot:
+      # For Android CPU tests, these take too long and cause the task to time
+      # out.
+      configs += [ 'f16', 'srgb' ]
+    if '-GCE-' in bot:
+      configs += [ '565' ]
 
-  gl_prefix = 'gl'
-  sample_count = '8'
-  if 'Android' in bot or 'iOS' in bot:
-    sample_count = '4'
-    # The NVIDIA_Shield has a regular OpenGL implementation. We bench that
-    # instead of ES.
-    if 'NVIDIA_Shield' not in bot:
-      gl_prefix = 'gles'
-    # The NP produces a long error stream when we run with MSAA.
-    # iOS crashes (skia:6399)
-    if 'NexusPlayer' in bot or 'iOS' in bot:
+  elif api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU':
+    args.append('--nocpu')
+
+    gl_prefix = 'gl'
+    sample_count = '8'
+    if 'Android' in bot or 'iOS' in bot:
+      sample_count = '4'
+      # The NVIDIA_Shield has a regular OpenGL implementation. We bench that
+      # instead of ES.
+      if 'NVIDIA_Shield' not in bot:
+        gl_prefix = 'gles'
+      # The NP produces a long error stream when we run with MSAA.
+      # iOS crashes (skia:6399)
+      # Nexus7 (Tegra3) does not support MSAA.
+      if ('NexusPlayer' in bot or
+          'iOS'         in bot or
+          'Nexus7'      in bot):
+        sample_count = ''
+    elif 'Intel' in bot:
       sample_count = ''
-  elif 'Intel' in bot:
-    sample_count = ''
-  elif 'ChromeOS' in bot:
-    gl_prefix = 'gles'
+    elif 'ChromeOS' in bot:
+      gl_prefix = 'gles'
 
-  configs.append(gl_prefix)
-  if sample_count is not '':
-    configs.extend([gl_prefix + 'msaa' + sample_count,
-      gl_prefix + 'nvpr' + sample_count,
-      gl_prefix + 'nvprdit' + sample_count])
-
-  # We want to test both the OpenGL config and the GLES config on Linux Intel:
-  # GL is used by Chrome, GLES is used by ChromeOS.
-  if 'Intel' in bot and api.vars.is_linux:
-    configs.append('gles')
-
-  # Bench instanced rendering on a limited number of platforms
-  inst_config = gl_prefix + 'inst'
-  if 'PixelC' in bot or 'NVIDIA_Shield' in bot or 'MacMini6.2' in bot:
-    configs.extend([inst_config, inst_config + sample_count])
-
-  if 'CommandBuffer' in bot:
-    configs = ['commandbuffer']
-  if 'Vulkan' in bot:
-    configs = ['vk']
-
-  if 'ANGLE' in bot:
-    # Test only ANGLE configs.
-    configs = ['angle_d3d11_es2']
+    configs.append(gl_prefix)
     if sample_count is not '':
-      configs.append('angle_d3d11_es2_msaa' + sample_count)
+      configs.append(gl_prefix + 'msaa' + sample_count)
+      if ('TegraX1' in bot or
+          'Quadro' in bot or
+          'GTX' in bot or
+          ('GT610' in bot and 'Ubuntu17' not in bot)):
+        configs.extend([gl_prefix + 'nvpr' + sample_count,
+                        gl_prefix + 'nvprdit' + sample_count])
 
-  if 'ChromeOS' in bot:
-    # Just run GLES for now - maybe add gles_msaa4 in the future
-    configs = ['gles']
+    # We want to test both the OpenGL config and the GLES config on Linux Intel:
+    # GL is used by Chrome, GLES is used by ChromeOS.
+    if 'Intel' in bot and api.vars.is_linux:
+      configs.append('gles')
+
+    # Bench instanced rendering on a limited number of platforms
+    inst_config = gl_prefix + 'inst'
+    if 'PixelC' in bot or 'NVIDIA_Shield' in bot or 'MacMini6.2' in bot:
+      configs.extend([inst_config, inst_config + sample_count])
+
+    if 'CommandBuffer' in bot:
+      configs = ['commandbuffer']
+    if 'Vulkan' in bot:
+      configs = ['vk']
+
+    if 'ANGLE' in bot:
+      # Test only ANGLE configs.
+      configs = ['angle_d3d11_es2']
+      if sample_count is not '':
+        configs.append('angle_d3d11_es2_msaa' + sample_count)
+
+    if 'ChromeOS' in bot:
+      # Just run GLES for now - maybe add gles_msaa4 in the future
+      configs = ['gles']
 
   args.append('--config')
   args.extend(configs)
@@ -236,27 +250,15 @@
         'NexusPlayer' not in api.vars.builder_name):
       args.extend(['--svgs',  api.flavor.device_dirs.svg_dir])
 
-  skip_flag = None
-  if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU':
-    skip_flag = '--nogpu'
-  elif api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU':
-    skip_flag = '--nocpu'
-  if skip_flag:
-    args.append(skip_flag)
   args.extend(nanobench_flags(api, api.vars.builder_name))
 
   if 'Chromecast' in api.vars.builder_cfg.get('os', ''):
     # Due to limited disk space, run a watered down perf run on Chromecast.
-    args = [
-      target,
-      '--config',
-      '8888',
-      'gles',
-    ]
+    args = [target]
     if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU':
-      args.extend(['--nogpu'])
+      args.extend(['--nogpu', '--config', '8888'])
     elif api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU':
-      args.extend(['--nocpu'])
+      args.extend(['--nocpu', '--config', 'gles'])
     args.extend([
       '-i', api.flavor.device_dirs.resource_dir,
       '--images', api.flavor.device_path_join(
@@ -313,7 +315,7 @@
   # See skia:2789.
   extra_config_parts = api.vars.builder_cfg.get('extra_config', '').split('_')
   if 'AbandonGpuContext' in extra_config_parts:
-    args.extend(['--abandonGpuContext', '--nocpu'])
+    args.extend(['--abandonGpuContext'])
 
   with api.env(env):
     api.run(api.flavor.step, target, cmd=args,
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-Android.json
index 82e3ac4..4424780 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value Mali400MP2 extra_config Android model AndroidOne os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW _ gm _ bigblurs _ gm _ bleed _ gm _ bleed_alpha_bmp _ gm _ bleed_alpha_bmp_shader _ gm _ bleed_alpha_image _ gm _ bleed_alpha_image_shader _ gm _ bleed_image _ gm _ dropshadowimagefilter _ gm _ filterfastbounds gles gm _ imageblurtiled _ gm _ imagefiltersclipped _ gm _ imagefiltersscaled _ gm _ imageresizetiled _ gm _ matrixconvolution _ gm _ strokedlines glesmsaa4 gm _ imageblurtiled glesmsaa4 gm _ imagefiltersbase --match ~WritePixels --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value Mali400MP2 extra_config Android model AndroidOne os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft glesmsaa4 --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW _ gm _ bigblurs _ gm _ bleed _ gm _ bleed_alpha_bmp _ gm _ bleed_alpha_bmp_shader _ gm _ bleed_alpha_image _ gm _ bleed_alpha_image_shader _ gm _ bleed_image _ gm _ dropshadowimagefilter _ gm _ filterfastbounds gles gm _ imageblurtiled _ gm _ imagefiltersclipped _ gm _ imagefiltersscaled _ gm _ imageresizetiled _ gm _ matrixconvolution _ gm _ strokedlines glesmsaa4 gm _ imageblurtiled glesmsaa4 gm _ imagefiltersbase --match ~WritePixels --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android.json
index db26e21..ad42c7d 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch mipsel compiler Clang configuration Release cpu_or_gpu CPU cpu_or_gpu_value IngenicJZ4780 extra_config Android model Ci20 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nogpu --dont_write pdf --config 8888 --src tests gm image colorImage svg --blacklist _ test _ GrShape _ gm _ fast_slow_blurimagefilter --match ~Codec_Dimensions ~FontMgrAndroidParser ~PathOpsSimplify --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch mipsel compiler Clang configuration Release cpu_or_gpu CPU cpu_or_gpu_value IngenicJZ4780 extra_config Android model Ci20 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nogpu --config 8888 --src tests gm image colorImage svg --blacklist _ test _ GrShape _ gm _ fast_slow_blurimagefilter --match ~Codec_Dimensions ~FontMgrAndroidParser ~PathOpsSimplify --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android.json
index 4c27505..7bd5d7d 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value MaliT760 extra_config Android model GalaxyS6 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~SpecialImage ~skbug6653 --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value MaliT760 extra_config Android model GalaxyS6 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft glessrgb glesmsaa4 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~SpecialImage ~skbug6653 --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930A-GPU-Adreno530-arm64-Debug-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930A-GPU-Adreno530-arm64-Debug-Android.json
index 891e9ff..ed3c3fb 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930A-GPU-Adreno530-arm64-Debug-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930A-GPU-Adreno530-arm64-Debug-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-GalaxyS7_G930A-GPU-Adreno530-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno530 extra_config Android model GalaxyS7_G930A os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~WritePixels --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-GalaxyS7_G930A-GPU-Adreno530-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno530 extra_config Android model GalaxyS7_G930A os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft glessrgb glesmsaa4 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~WritePixels --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android.json
index 18c1ee3..5e02f61 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value TegraX1 extra_config Android model NVIDIA_Shield os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gl gldft glsrgb glmsaa4 glinstdit4 serialize-8888 tiles_rt-8888 pic-8888 glinst --src tests gm image colorImage svg --blacklist glsrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value TegraX1 extra_config Android model NVIDIA_Shield os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gl gldft glsrgb glmsaa4 glinstdit4 glinst --src tests gm image colorImage svg --blacklist glsrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR.json b/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR.json
index 3b03d2e..600c146 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value TegraX1 extra_config Android_CCPR model NVIDIA_Shield os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --pr ccpr --config gl --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value TegraX1 extra_config Android_CCPR model NVIDIA_Shield os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --pr ccpr --config gl --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Release-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Release-Android.json
index 3012a94..4be2344 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Release-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Release-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value MaliT604 extra_config Android model Nexus10 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --ignoreSigInt --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~CopySurface ~SRGBReadWritePixels --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value MaliT604 extra_config Android model Nexus10 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --ignoreSigInt --nocpu --config gles glesdft glessrgb glesmsaa4 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~CopySurface ~SRGBReadWritePixels --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-Android.json
index a7ef5d6..88c4037 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value Adreno330 extra_config Android model Nexus5 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW _ gm _ encode-platform --noRAW_threading --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value Adreno330 extra_config Android model Nexus5 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft glessrgb glesmsaa4 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW _ gm _ encode-platform --noRAW_threading --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus6p-GPU-Adreno430-arm64-Debug-Android_Vulkan.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus6p-GPU-Adreno430-arm64-Debug-Android_Vulkan.json
index 8257d1e..b8df2f4 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus6p-GPU-Adreno430-arm64-Debug-Android_Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus6p-GPU-Adreno430-arm64-Debug-Android_Vulkan.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus6p-GPU-Adreno430-arm64-Debug-Android_Vulkan swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno430 extra_config Android_Vulkan model Nexus6p os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config vk --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus6p-GPU-Adreno430-arm64-Debug-Android_Vulkan swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno430 extra_config Android_Vulkan model Nexus6p os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config vk --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android.json
index 06513c7..2323de1 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gles glesdft glessrgb serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-CPU-SSE4-x86-Release-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-CPU-SSE4-x86-Release-Android.json
index 5f5c406..fdd20a1 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-CPU-SSE4-x86-Release-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-CPU-SSE4-x86-Release-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NexusPlayer-CPU-SSE4-x86-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch x86 compiler Clang configuration Release cpu_or_gpu CPU cpu_or_gpu_value SSE4 extra_config Android model NexusPlayer os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nogpu --dont_write pdf --ignoreSigInt --config 8888 srgb gles glessrgb --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape --match ~ResourceCache --noRAW_threading --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NexusPlayer-CPU-SSE4-x86-Release-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch x86 compiler Clang configuration Release cpu_or_gpu CPU cpu_or_gpu_value SSE4 extra_config Android model NexusPlayer os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --ignoreSigInt --nogpu --config 8888 srgb --src tests gm image colorImage svg --blacklist _ test _ GrShape --match ~ResourceCache --noRAW_threading --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json b/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json
index acba636..5b43fb0 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch x86 compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value PowerVR extra_config Android_Vulkan model NexusPlayer os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --ignoreSigInt --config vk --src tests gm colorImage --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~ResourceCache ~gradients_no_texture$ ~tilemodes ~shadertext$ ~bitmapfilters ~GrContextFactory_abandon --noRAW_threading --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-NexusPlayer-GPU-PowerVR-x86-Release-Android_Vulkan swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch x86 compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value PowerVR extra_config Android_Vulkan model NexusPlayer os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --ignoreSigInt --nocpu --config vk --src tests gm colorImage --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~ResourceCache ~gradients_no_texture$ ~tilemodes ~shadertext$ ~bitmapfilters ~GrContextFactory_abandon --noRAW_threading --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android.json
index 32194cb..c664753 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu CPU cpu_or_gpu_value TegraX1 extra_config Android model PixelC os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nogpu --dont_write pdf --ignoreSigInt --config 8888 srgb gles glesdft glessrgb glesmsaa4 glesinstdit4 serialize-8888 tiles_rt-8888 pic-8888 glesinst --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu CPU cpu_or_gpu_value TegraX1 extra_config Android model PixelC os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --ignoreSigInt --nogpu --config 8888 srgb serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_CCPR.json b/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_CCPR.json
index e6700b7..76102be 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_CCPR.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_CCPR.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_CCPR swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno530 extra_config Android_CCPR model PixelXL os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --pr ccpr --config gles --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_CCPR swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno530 extra_config Android_CCPR model PixelXL os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --pr ccpr --config gles --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_Vulkan.json b/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_Vulkan.json
index 877ab16..827314c 100644
--- a/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_Vulkan.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_Vulkan swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno530 extra_config Android_Vulkan model PixelXL os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config vk --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~CopySurface --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-PixelXL-GPU-Adreno530-arm64-Debug-Android_Vulkan swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno530 extra_config Android_Vulkan model PixelXL os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config vk --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~CopySurface --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug.json b/infra/bots/recipes/test.expected/Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug.json
index 2815210..41ac647 100644
--- a/infra/bots/recipes/test.expected/Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug.json
@@ -863,10 +863,10 @@
       "/home/chronos/user/uninteresting_hashes.txt",
       "--writePath",
       "/home/chronos/user/dm_out",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "gles",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug.json
index 5eb5e87..234d10e 100644
--- a/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug.json
@@ -245,22 +245,17 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "serialize-8888",
       "tiles_rt-8888",
       "pic-8888",
-      "glinst",
       "--src",
       "tests",
       "gm",
@@ -268,10 +263,6 @@
       "colorImage",
       "svg",
       "--blacklist",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "_",
       "image",
       "gen_platf",
diff --git a/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json b/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json
index c46214a..2a2ed48 100644
--- a/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json
+++ b/infra/bots/recipes/test.expected/Test-Mac-Clang-MacMini6.2-GPU-IntelHD4000-x86_64-Debug-CommandBuffer.json
@@ -247,10 +247,10 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "commandbuffer",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN.json b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN.json
index 6d3c3ae..7b3cfe7 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN.json
@@ -155,18 +155,14 @@
       "GCE",
       "os",
       "Ubuntu",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -187,10 +183,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN.json b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN.json
index 03c6f91..bd1b4e3 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN.json
@@ -155,17 +155,13 @@
       "GCE",
       "os",
       "Ubuntu",
-      "--nogpu",
       "--dont_write",
       "pdf",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -186,10 +182,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER.json b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER.json
index eb0f7a6..f6ff970 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER.json
@@ -252,10 +252,10 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json
index b51f3db..efd8017 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN.json
@@ -155,18 +155,14 @@
       "GCE",
       "os",
       "Ubuntu",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -187,10 +183,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json
index 736c4e5..b70b6be 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug.json
@@ -250,20 +250,16 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
       "--threads",
       "4",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -284,10 +280,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json
index 1e6ee59..72e857b 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json
@@ -252,20 +252,16 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
       "--threads",
       "0",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -286,10 +282,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json
index 0fc976f..984a480 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug.json
@@ -250,18 +250,14 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -282,10 +278,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json
index 8fd2f2a..84a4c29 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind.json
@@ -158,22 +158,16 @@
       "ShuttleA",
       "os",
       "Ubuntu",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "glmsaa8",
       "glnvprdit8",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -185,222 +179,10 @@
       "image",
       "_",
       "_",
-      "pdf",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "pdf",
-      "_",
-      "_",
-      "PANO_20121023_214540.jpg",
-      "pdf",
-      "skp",
-      "_",
-      "worldjournal",
-      "pdf",
-      "skp",
-      "_",
-      "desk_baidu.skp",
-      "pdf",
-      "skp",
-      "_",
-      "desk_wikipedia.skp",
       "_",
       "svg",
       "_",
       "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json
index 42bbb61..24c7720 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_AbandonGpuContext.json
@@ -158,22 +158,16 @@
       "ShuttleA",
       "os",
       "Ubuntu",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "glmsaa8",
       "glnvprdit8",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -185,222 +179,10 @@
       "image",
       "_",
       "_",
-      "pdf",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "pdf",
-      "_",
-      "_",
-      "PANO_20121023_214540.jpg",
-      "pdf",
-      "skp",
-      "_",
-      "worldjournal",
-      "pdf",
-      "skp",
-      "_",
-      "desk_baidu.skp",
-      "pdf",
-      "skp",
-      "_",
-      "desk_wikipedia.skp",
       "_",
       "svg",
       "_",
       "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_PreAbandonGpuContext.json b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_PreAbandonGpuContext.json
index bc78d3f..b7653a6 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_PreAbandonGpuContext.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind_PreAbandonGpuContext.json
@@ -158,22 +158,16 @@
       "ShuttleA",
       "os",
       "Ubuntu",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "glmsaa8",
       "glnvprdit8",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -185,222 +179,10 @@
       "image",
       "_",
       "_",
-      "pdf",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "pdf",
-      "_",
-      "_",
-      "PANO_20121023_214540.jpg",
-      "pdf",
-      "skp",
-      "_",
-      "worldjournal",
-      "pdf",
-      "skp",
-      "_",
-      "desk_baidu.skp",
-      "pdf",
-      "skp",
-      "_",
-      "desk_wikipedia.skp",
       "_",
       "svg",
       "_",
       "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
index 60cf273..51f7112 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
@@ -250,23 +250,16 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "gles",
       "glesdft",
-      "glessrgb",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -278,202 +271,6 @@
       "image",
       "_",
       "_",
-      "glessrgb",
-      "image",
-      "_",
-      "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
index c52ed58..71b3e79 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
@@ -252,10 +252,10 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "vk",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
index af7d3b6..75781a7 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
@@ -250,23 +250,16 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "gles",
       "glesdft",
-      "glessrgb",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -278,202 +271,6 @@
       "image",
       "_",
       "_",
-      "glessrgb",
-      "image",
-      "_",
-      "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
index ba0c9c5..4dd55cc 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
@@ -250,23 +250,16 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "gles",
       "glesdft",
-      "glessrgb",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -278,202 +271,6 @@
       "image",
       "_",
       "_",
-      "glessrgb",
-      "image",
-      "_",
-      "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json b/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json
index cb2c541..d3dcb45 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41.json
@@ -158,22 +158,16 @@
       "Golo",
       "os",
       "Ubuntu17",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
       "glmsaa8",
       "glnvprdit8",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -185,222 +179,10 @@
       "image",
       "_",
       "_",
-      "pdf",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "pdf",
-      "_",
-      "_",
-      "PANO_20121023_214540.jpg",
-      "pdf",
-      "skp",
-      "_",
-      "worldjournal",
-      "pdf",
-      "skp",
-      "_",
-      "desk_baidu.skp",
-      "pdf",
-      "skp",
-      "_",
-      "desk_wikipedia.skp",
       "_",
       "svg",
       "_",
       "_",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan.json
index 937e8ae..3b7f47d 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan.json
@@ -247,10 +247,10 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "vk",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-ReleaseAndAbandonGpuContext.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-ReleaseAndAbandonGpuContext.json
index 8faafd2..b92fb5e 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-ReleaseAndAbandonGpuContext.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-ReleaseAndAbandonGpuContext.json
@@ -247,20 +247,14 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gl",
       "gldft",
       "glsrgb",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -320,206 +314,6 @@
       "image",
       "gen_platf",
       "testimgari.jpg",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "verylargebitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "verylarge_picture_image",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE.json
index ed94859..f1784b2 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE.json
@@ -247,10 +247,10 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "angle_d3d11_es2",
       "angle_d3d9_es2",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
index 015bd2c..e710a14 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan.json
@@ -247,10 +247,10 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "vk",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan.json
index fe4558f..d2b4be6 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan.json
@@ -247,10 +247,10 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "vk",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE.json
index 092891e..5b2f00e 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE.json
@@ -247,10 +247,10 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "angle_d3d11_es2",
       "angle_d3d9_es2",
diff --git a/infra/bots/recipes/test.expected/Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-Vulkan.json b/infra/bots/recipes/test.expected/Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-Vulkan.json
index 83d3b4f..cd117e0 100644
--- a/infra/bots/recipes/test.expected/Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-Vulkan.json
+++ b/infra/bots/recipes/test.expected/Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-Vulkan.json
@@ -247,10 +247,10 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nocpu",
       "--config",
       "vk",
       "--src",
diff --git a/infra/bots/recipes/test.expected/Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug.json b/infra/bots/recipes/test.expected/Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug.json
index 708b391..15d84af 100644
--- a/infra/bots/recipes/test.expected/Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug.json
@@ -245,20 +245,16 @@
       "[START_DIR]\\tmp\\uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
       "--threads",
       "4",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "serialize-8888",
       "tiles_rt-8888",
       "pic-8888",
@@ -269,10 +265,6 @@
       "colorImage",
       "svg",
       "--blacklist",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "_",
       "image",
       "gen_platf",
diff --git a/infra/bots/recipes/test.expected/Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json b/infra/bots/recipes/test.expected/Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json
index 792812e..fd3e329 100644
--- a/infra/bots/recipes/test.expected/Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json
+++ b/infra/bots/recipes/test.expected/Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.json
@@ -706,23 +706,17 @@
       "tmp/uninteresting_hashes.txt",
       "--writePath",
       "dm",
-      "--nocpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
       "--threads",
       "0",
+      "--nocpu",
       "--config",
-      "8888",
-      "srgb",
-      "pdf",
       "gles",
       "glesdft",
       "glessrgb",
       "glesmsaa4",
-      "serialize-8888",
-      "tiles_rt-8888",
-      "pic-8888",
       "--src",
       "tests",
       "gm",
@@ -834,198 +828,6 @@
       "test",
       "_",
       "GrShape",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "c_gms",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype",
-      "serialize-8888",
-      "gm",
-      "_",
-      "colortype_xfermodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_0.75_0",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds_1_-0.25",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_bounds",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_match",
-      "serialize-8888",
-      "gm",
-      "_",
-      "fontmgr_iter",
-      "serialize-8888",
-      "gm",
-      "_",
-      "imagemasksubset",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapfilters",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bitmapshaders",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_bmp_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "convex_poly_clip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "extractalpha",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_checkerboard_32_32_g8",
-      "serialize-8888",
-      "gm",
-      "_",
-      "filterbitmap_image_mandrill_64",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadows",
-      "serialize-8888",
-      "gm",
-      "_",
-      "simpleaaclip_aaclip",
-      "serialize-8888",
-      "gm",
-      "_",
-      "composeshader_bitmap",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes_npot",
-      "serialize-8888",
-      "gm",
-      "_",
-      "scaled_tilemodes",
-      "serialize-8888",
-      "gm",
-      "_",
-      "typefacerendering_pfaMac",
-      "serialize-8888",
-      "gm",
-      "_",
-      "parsedpaths",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_rect",
-      "serialize-8888",
-      "gm",
-      "_",
-      "ImageGeneratorExternal_shader",
-      "serialize-8888",
-      "gm",
-      "_",
-      "shadow_utils",
-      "serialize-8888",
-      "gm",
-      "_",
-      "makecolorspace",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image",
-      "serialize-8888",
-      "gm",
-      "_",
-      "bleed_alpha_image_shader",
-      "pic-8888",
-      "gm",
-      "_",
-      "drawfilter",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-picture",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-raster",
-      "pic-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "serialize-8888",
-      "gm",
-      "_",
-      "image-cacherator-from-ctable",
-      "pic-8888",
-      "gm",
-      "_",
-      "gamut",
-      "serialize-8888",
-      "gm",
-      "_",
-      "gamut",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "pic-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "serialize-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_bw",
-      "tiles_rt-8888",
-      "gm",
-      "_",
-      "complexclip4_aa",
       "_",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/failed_dm.json b/infra/bots/recipes/test.expected/failed_dm.json
index f71efad..0e8b632 100644
--- a/infra/bots/recipes/test.expected/failed_dm.json
+++ b/infra/bots/recipes/test.expected/failed_dm.json
@@ -250,18 +250,14 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -282,10 +278,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.expected/failed_get_hashes.json b/infra/bots/recipes/test.expected/failed_get_hashes.json
index 79043b9..2973925 100644
--- a/infra/bots/recipes/test.expected/failed_get_hashes.json
+++ b/infra/bots/recipes/test.expected/failed_get_hashes.json
@@ -708,7 +708,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android swarming_bot_id \"\" swarming_task_id \"\" --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --config 8888 srgb gles glesdft glessrgb serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-Android swarming_bot_id \"\" swarming_task_id \"\" --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config Android model Nexus7 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft --src tests gm image colorImage svg --blacklist _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/failed_pull.json b/infra/bots/recipes/test.expected/failed_pull.json
index fc4e37e..f39d6e8 100644
--- a/infra/bots/recipes/test.expected/failed_pull.json
+++ b/infra/bots/recipes/test.expected/failed_pull.json
@@ -706,7 +706,7 @@
       "--json-output",
       "/path/to/tmp/json",
       "copy",
-      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Debug-Android swarming_bot_id \"\" swarming_task_id \"\" --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value MaliT604 extra_config Android model Nexus10 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --ignoreSigInt --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~CopySurface ~SRGBReadWritePixels --verbose; echo $? >/data/local/tmp/rc",
+      "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus10-GPU-MaliT604-arm-Debug-Android swarming_bot_id \"\" swarming_task_id \"\" --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value MaliT604 extra_config Android model Nexus10 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --ignoreSigInt --nocpu --config gles glesdft glessrgb glesmsaa4 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~CopySurface ~SRGBReadWritePixels --verbose; echo $? >/data/local/tmp/rc",
       "[START_DIR]/tmp/dm.sh"
     ],
     "env": {
diff --git a/infra/bots/recipes/test.expected/trybot.json b/infra/bots/recipes/test.expected/trybot.json
index 0d688e6..decca02 100644
--- a/infra/bots/recipes/test.expected/trybot.json
+++ b/infra/bots/recipes/test.expected/trybot.json
@@ -251,18 +251,14 @@
       "[START_DIR]/tmp/uninteresting_hashes.txt",
       "--writePath",
       "[CUSTOM_[SWARM_OUT_DIR]]/dm",
-      "--nogpu",
       "--dont_write",
       "pdf",
       "--randomProcessorTest",
+      "--nogpu",
       "--config",
       "8888",
       "srgb",
       "pdf",
-      "gl",
-      "gldft",
-      "glsrgb",
-      "glmsaa8",
       "565",
       "f16",
       "sp-8888",
@@ -283,10 +279,6 @@
       "_",
       "_",
       "dstreadshuffle",
-      "glsrgb",
-      "image",
-      "_",
-      "_",
       "gbr-8888",
       "image",
       "_",
diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py
index 2eb8f4e..c1d8e0d 100644
--- a/infra/bots/recipes/test.py
+++ b/infra/bots/recipes/test.py
@@ -67,122 +67,142 @@
       'PixelC' in bot):
     args.append('--ignoreSigInt')
 
-  # These are the canonical configs that we would ideally run on all bots. We
-  # may opt out or substitute some below for specific bots
-  configs = ['8888', 'srgb', 'pdf']
-  # Add in either gles or gl configs to the canonical set based on OS
-  sample_count = '8'
-  gl_prefix = 'gl'
-  if 'Android' in bot or 'iOS' in bot:
-    sample_count = '4'
-    # We want to test the OpenGL config not the GLES config on the Shield
-    if 'NVIDIA_Shield' not in bot:
+  configs = []
+  if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU':
+    args.append('--nogpu')
+
+    # These are the canonical configs that we would ideally run on all bots. We
+    # may opt out or substitute some below for specific bots
+    configs.extend(['8888', 'srgb', 'pdf'])
+
+    # Runs out of memory on Android bots. Everyone else seems fine.
+    if 'Android' in bot:
+      configs.remove('pdf')
+
+    if '-GCE-' in bot:
+      configs.extend(['565'])
+      configs.extend(['f16'])
+      configs.extend(['sp-8888', '2ndpic-8888']) # Test niche uses of SkPicture.
+      configs.extend(['lite-8888'])              # Experimental display list.
+      configs.extend(['gbr-8888'])
+
+    # NP is running out of RAM when we run all these modes.  skia:3255
+    if 'NexusPlayer' not in bot:
+      configs.extend(mode + '-8888' for mode in
+                     ['serialize', 'tiles_rt', 'pic'])
+
+    if 'Ci20' in bot:
+      # This bot is really slow, cut it down to just 8888.
+      configs = ['8888']
+
+    # This bot only differs from vanilla CPU bots in 8888 config.
+    if 'SK_FORCE_RASTER_PIPELINE_BLITTER' in bot:
+      configs = ['8888', 'srgb']
+
+  elif api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU':
+    args.append('--nocpu')
+
+    # Add in either gles or gl configs to the canonical set based on OS
+    sample_count = '8'
+    gl_prefix = 'gl'
+    if 'Android' in bot or 'iOS' in bot:
+      sample_count = '4'
+      # We want to test the OpenGL config not the GLES config on the Shield
+      if 'NVIDIA_Shield' not in bot:
+        gl_prefix = 'gles'
+    elif 'Intel' in bot:
+      sample_count = ''
+    elif 'ChromeOS' in bot:
       gl_prefix = 'gles'
-  elif 'Intel' in bot:
-    sample_count = ''
-  elif 'ChromeOS' in bot:
-    gl_prefix = 'gles'
 
-  configs.extend([gl_prefix, gl_prefix + 'dft', gl_prefix + 'srgb'])
-  if sample_count is not '':
-    configs.append(gl_prefix + 'msaa' + sample_count)
-
-  # The NP produces a long error stream when we run with MSAA. The Tegra3 just
-  # doesn't support it.
-  if ('NexusPlayer' in bot or
-      'Tegra3'      in bot or
-      # We aren't interested in fixing msaa bugs on current iOS devices.
-      'iPad4' in bot or
-      'iPadPro' in bot or
-      'iPhone6' in bot or
-      'iPhone7' in bot or
-      # skia:5792
-      'IntelHD530'   in bot or
-      'IntelIris540' in bot):
-    configs = [x for x in configs if 'msaa' not in x]
-
-  # The NP produces different images for dft on every run.
-  if 'NexusPlayer' in bot:
-    configs = [x for x in configs if 'dft' not in x]
-
-  # Runs out of memory on Android bots.  Everyone else seems fine.
-  if 'Android' in bot:
-    configs.remove('pdf')
-
-  if '-GCE-' in bot:
-    configs.extend(['565'])
-    configs.extend(['f16'])
-    configs.extend(['sp-8888', '2ndpic-8888'])   # Test niche uses of SkPicture.
-    configs.extend(['lite-8888'])                # Experimental display list.
-    configs.extend(['gbr-8888'])
-
-  if '-TSAN' not in bot and sample_count is not '':
-    if ('TegraK1'    in bot or
-        'TegraX1'    in bot or
-        'GTX550Ti'   in bot or
-        'GTX660'     in bot or
-        'GT610'      in bot or
-        'QuadroP400' in bot):
-      configs.append(gl_prefix + 'nvprdit' + sample_count)
-
-  # We want to test both the OpenGL config and the GLES config on Linux Intel:
-  # GL is used by Chrome, GLES is used by ChromeOS.
-  if 'Intel' in bot and api.vars.is_linux:
-    configs.extend(['gles', 'glesdft', 'glessrgb'])
-
-  # NP is running out of RAM when we run all these modes.  skia:3255
-  if 'NexusPlayer' not in bot:
-    configs.extend(mode + '-8888' for mode in
-                   ['serialize', 'tiles_rt', 'pic'])
-
-  # Test instanced rendering on a limited number of platforms
-  if 'Nexus6' in bot:
-    configs.append(gl_prefix + 'inst') # inst msaa isn't working yet on Adreno.
-  elif 'NVIDIA_Shield' in bot or 'PixelC' in bot:
-    # Multisampled instanced configs use nvpr so we substitute inst msaa
-    # configs for nvpr msaa configs.
-    old = gl_prefix + 'nvpr'
-    new = gl_prefix + 'inst'
-    configs = [x.replace(old, new) for x in configs]
-    # We also test non-msaa instanced.
-    configs.append(new)
-  elif 'MacMini6.2' in bot:
-    configs.extend([gl_prefix + 'inst'])
-
-  # CommandBuffer bot *only* runs the command_buffer config.
-  if 'CommandBuffer' in bot:
-    configs = ['commandbuffer']
-
-  # ANGLE bot *only* runs the angle configs
-  if 'ANGLE' in bot:
-    configs = ['angle_d3d11_es2',
-               'angle_d3d9_es2',
-               'angle_gl_es2',
-               'angle_d3d11_es3']
+    configs.extend([gl_prefix, gl_prefix + 'dft', gl_prefix + 'srgb'])
     if sample_count is not '':
-      configs.append('angle_d3d11_es2_msaa' + sample_count)
-      configs.append('angle_d3d11_es3_msaa' + sample_count)
+      configs.append(gl_prefix + 'msaa' + sample_count)
 
-  # Vulkan bot *only* runs the vk config.
-  if 'Vulkan' in bot:
-    configs = ['vk']
+    # The NP produces a long error stream when we run with MSAA. The Tegra3 just
+    # doesn't support it.
+    if ('NexusPlayer' in bot or
+        'Tegra3'      in bot or
+        # We aren't interested in fixing msaa bugs on current iOS devices.
+        'iPad4' in bot or
+        'iPadPro' in bot or
+        'iPhone6' in bot or
+        'iPhone7' in bot or
+        # skia:5792
+        'IntelHD530'   in bot or
+        'IntelIris540' in bot):
+      configs = [x for x in configs if 'msaa' not in x]
 
-  if 'ChromeOS' in bot:
-    # Just run GLES for now - maybe add gles_msaa4 in the future
-    configs = ['gles']
+    # The NP produces different images for dft on every run.
+    if 'NexusPlayer' in bot:
+      configs = [x for x in configs if 'dft' not in x]
 
-  if 'Ci20' in bot:
-    # This bot is really slow, cut it down to just 8888.
-    configs = ['8888']
+    if '-TSAN' not in bot and sample_count is not '':
+      if ('TegraK1'    in bot or
+          'TegraX1'    in bot or
+          'GTX550Ti'   in bot or
+          'GTX660'     in bot or
+          'QuadroP400' in bot or
+          ('GT610' in bot and 'Ubuntu17' not in bot)):
+        configs.append(gl_prefix + 'nvprdit' + sample_count)
 
-  # This bot only differs from vanilla CPU bots in 8888 config.
-  if 'SK_FORCE_RASTER_PIPELINE_BLITTER' in bot:
-    configs = ['8888', 'srgb']
+    # We want to test both the OpenGL config and the GLES config on Linux Intel:
+    # GL is used by Chrome, GLES is used by ChromeOS.
+    if 'Intel' in bot and api.vars.is_linux:
+      configs.extend(['gles', 'glesdft', 'glessrgb'])
 
-  # Test coverage counting path renderer.
-  if 'CCPR' in bot:
-    configs = [c for c in configs if c == 'gl' or c == 'gles']
-    args.extend(['--pr', 'ccpr'])
+    # The following devices do not support glessrgb.
+    if 'glessrgb' in configs:
+      if ('IntelHD405'    in bot or
+          'IntelIris540'  in bot or
+          'IntelBayTrail' in bot or
+          'IntelHD2000'   in bot or
+          'AndroidOne'    in bot or
+          'Nexus7'        in bot or
+          'NexusPlayer'   in bot):
+        configs.remove('glessrgb')
+
+    # Test instanced rendering on a limited number of platforms
+    if 'Nexus6' in bot:
+      # inst msaa isn't working yet on Adreno.
+      configs.append(gl_prefix + 'inst')
+    elif 'NVIDIA_Shield' in bot or 'PixelC' in bot:
+      # Multisampled instanced configs use nvpr so we substitute inst msaa
+      # configs for nvpr msaa configs.
+      old = gl_prefix + 'nvpr'
+      new = gl_prefix + 'inst'
+      configs = [x.replace(old, new) for x in configs]
+      # We also test non-msaa instanced.
+      configs.append(new)
+    elif 'MacMini6.2' in bot:
+      configs.extend([gl_prefix + 'inst'])
+
+    # CommandBuffer bot *only* runs the command_buffer config.
+    if 'CommandBuffer' in bot:
+      configs = ['commandbuffer']
+
+    # ANGLE bot *only* runs the angle configs
+    if 'ANGLE' in bot:
+      configs = ['angle_d3d11_es2',
+                 'angle_d3d9_es2',
+                 'angle_gl_es2',
+                 'angle_d3d11_es3']
+      if sample_count is not '':
+        configs.append('angle_d3d11_es2_msaa' + sample_count)
+        configs.append('angle_d3d11_es3_msaa' + sample_count)
+
+    # Vulkan bot *only* runs the vk config.
+    if 'Vulkan' in bot:
+      configs = ['vk']
+
+    if 'ChromeOS' in bot:
+      # Just run GLES for now - maybe add gles_msaa4 in the future
+      configs = ['gles']
+
+    # Test coverage counting path renderer.
+    if 'CCPR' in bot:
+      configs = [c for c in configs if c == 'gl' or c == 'gles']
+      args.extend(['--pr', 'ccpr'])
 
   args.append('--config')
   args.extend(configs)
@@ -720,13 +740,6 @@
   if api.vars.upload_dm_results:
     args.extend(['--writePath', api.flavor.device_dirs.dm_dir])
 
-  skip_flag = None
-  if api.vars.builder_cfg.get('cpu_or_gpu') == 'CPU':
-    skip_flag = '--nogpu'
-  elif api.vars.builder_cfg.get('cpu_or_gpu') == 'GPU':
-    skip_flag = '--nocpu'
-  if skip_flag:
-    args.append(skip_flag)
   args.extend(dm_flags(api, api.vars.builder_name))
 
   env = {}