streamline GDI bots

 - Replace build-time GDI support in all of Skia
   with run-time GDI support only in DM.

 - Make the GDI bots NativeFont bots paralelling
   the other NativeFonts bots.

Change-Id: I424b20f6983d8a8ba8574650efefea2b8776bbe2
Reviewed-on: https://skia-review.googlesource.com/70721
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index f629c67..2a8b8d3 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -21,7 +21,6 @@
   skia_use_expat = true
   skia_use_fontconfig = is_linux
   skia_use_freetype = is_android || is_fuchsia || is_linux
-  skia_use_gdi = false
   skia_use_icu = !is_fuchsia && !is_ios && !is_win  # TODO: Windows
   skia_use_libjpeg_turbo = true
   skia_use_libpng = true
@@ -785,6 +784,7 @@
       "src/ports/SkDebug_win.cpp",
       "src/ports/SkFontHost_win.cpp",
       "src/ports/SkFontMgr_win_dw.cpp",
+      "src/ports/SkFontMgr_win_dw_factory.cpp",
       "src/ports/SkImageEncoder_WIC.cpp",
       "src/ports/SkImageGeneratorWIC.cpp",
       "src/ports/SkOSFile_win.cpp",
@@ -793,20 +793,13 @@
       "src/ports/SkTLS_win.cpp",
       "src/ports/SkTypeface_win_dw.cpp",
     ]
-    if (skia_use_gdi) {
-      sources += [ "src/ports/SkFontMgr_win_gdi_factory.cpp" ]
-      libs += [
-        "Gdi32.lib",
-        "Usp10.lib",
-      ]
-    } else {
-      sources += [ "src/ports/SkFontMgr_win_dw_factory.cpp" ]
-    }
     libs += [
       "FontSub.lib",
+      "Gdi32.lib",
       "Ole32.lib",
       "OleAut32.lib",
       "User32.lib",
+      "Usp10.lib",
     ]
   } else {
     sources += [
diff --git a/dm/DM.cpp b/dm/DM.cpp
index b751393..075a0b2 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -39,6 +39,7 @@
 #include "SkSpinlock.h"
 #include "SkTHash.h"
 #include "SkTaskGroup.h"
+#include "SkTypeface_win.h"
 #include "Test.h"
 #include "Timer.h"
 #include "ios_utils.h"
@@ -104,6 +105,7 @@
 
 DEFINE_bool(nativeFonts, true, "If true, use native font manager and rendering. "
                                "If false, fonts will draw as portably as possible.");
+DEFINE_bool(gdi, false, "On Windows, use GDI instead of DirectWrite for font rendering.");
 
 using namespace DM;
 using sk_gpu_test::GrContextFactory;
@@ -1323,6 +1325,14 @@
         };
     }
 
+#if defined(SK_BUILD_FOR_WIN)
+    if (FLAGS_gdi) {
+        gSkFontMgr_DefaultFactory = []() -> sk_sp<SkFontMgr> {
+            return SkFontMgr_New_GDI();
+        };
+    }
+#endif
+
     initializeEventTracingForTools();
 
 #if !defined(GOOGLE3) && defined(SK_BUILD_FOR_IOS)
diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go
index 9067d62..6881ab7 100644
--- a/infra/bots/gen_tasks.go
+++ b/infra/bots/gen_tasks.go
@@ -119,7 +119,7 @@
 		ec := []string{}
 		if val := parts["extra_config"]; val != "" {
 			ec = strings.Split(val, "_")
-			ignore := []string{"Skpbench", "AbandonGpuContext", "PreAbandonGpuContext", "Valgrind", "ReleaseAndAbandonGpuContext", "CCPR", "FSAA", "FAAA", "FDAA", "NativeFonts"}
+			ignore := []string{"Skpbench", "AbandonGpuContext", "PreAbandonGpuContext", "Valgrind", "ReleaseAndAbandonGpuContext", "CCPR", "FSAA", "FAAA", "FDAA", "NativeFonts", "GDI"}
 			keep := make([]string, 0, len(ec))
 			for _, part := range ec {
 				if !util.In(part, ignore) {
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index cd3d8b9..947f33e 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -71,19 +71,15 @@
   "Build-Win-Clang-arm64-Release-Android",
   "Build-Win-Clang-x86_64-Debug",
   "Build-Win-Clang-x86_64-Debug-ANGLE",
-  "Build-Win-Clang-x86_64-Debug-GDI",
   "Build-Win-Clang-x86_64-Debug-Vulkan",
   "Build-Win-Clang-x86_64-Release",
   "Build-Win-Clang-x86_64-Release-ANGLE",
-  "Build-Win-Clang-x86_64-Release-GDI",
   "Build-Win-Clang-x86_64-Release-Vulkan",
   "Build-Win-MSVC-x86-Debug",
   "Build-Win-MSVC-x86-Debug-ANGLE",
   "Build-Win-MSVC-x86-Debug-Exceptions",
-  "Build-Win-MSVC-x86-Debug-GDI",
   "Build-Win-MSVC-x86-Release",
   "Build-Win-MSVC-x86-Release-ANGLE",
-  "Build-Win-MSVC-x86-Release-GDI",
   "Build-Win-MSVC-x86_64-Debug",
   "Build-Win-MSVC-x86_64-Debug-ANGLE",
   "Build-Win-MSVC-x86_64-Debug-Vulkan",
@@ -263,7 +259,6 @@
   "Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-ANGLE",
   "Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan",
   "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All",
-  "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI",
   "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All",
   "Perf-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All",
   "Perf-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Release-All",
@@ -271,11 +266,9 @@
   "Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug-All",
   "Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release-All",
   "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All",
-  "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
   "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All",
   "Perf-Win7-MSVC-Golo-CPU-AVX-x86-Debug-All",
   "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All",
-  "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
   "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All",
   "Perf-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All",
   "Perf-iOS-Clang-iPadPro-GPU-GT7800-arm64-Debug-All",
@@ -431,6 +424,7 @@
   "Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ReleaseAndAbandonGpuContext",
   "Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan",
   "Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts",
+  "Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI",
   "Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE",
   "Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-All-ANGLE",
   "Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All",
@@ -468,12 +462,10 @@
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FAAA",
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FDAA",
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FSAA",
-  "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI",
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All",
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-FAAA",
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-FDAA",
   "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-FSAA",
-  "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI",
   "Test-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All",
   "Test-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Release-All",
   "Test-Win2k8-MSVC-GCE-CPU-AVX2-x86-Debug-All",
@@ -481,16 +473,13 @@
   "Test-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug-All",
   "Test-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release-All",
   "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All",
-  "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
   "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts",
+  "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI",
   "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All",
-  "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI",
   "Test-Win7-MSVC-Golo-CPU-AVX-x86-Debug-All",
   "Test-Win7-MSVC-Golo-CPU-AVX-x86-Release-All",
   "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All",
-  "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
   "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All",
-  "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI",
   "Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All",
   "Test-Win8-MSVC-Golo-CPU-AVX-x86-Release-All",
   "Test-iOS-Clang-iPadPro-GPU-GT7800-arm64-Debug-All",
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Win-Clang-x86_64-Debug-GDI.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Win-Clang-x86_64-Debug-GDI.json
index 240400f..cc98287 100644
--- a/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Win-Clang-x86_64-Debug-GDI.json
+++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Win-Clang-x86_64-Debug-GDI.json
@@ -20,7 +20,7 @@
       "[CUSTOM_C:\\_B_WORK]/skia/bin/gn.exe",
       "gen",
       "[CUSTOM_C:\\_B_WORK]/skia/out/Build-Win-Clang-x86_64-Debug-GDI/Debug_x64",
-      "--args=cc=\"clang\" clang_win=\"[START_DIR]/clang_win\" cxx=\"clang++\" extra_cflags=[\"-O1\"] skia_use_gdi=true target_cpu=\"x86_64\" windk=\"[START_DIR]/t/depot_tools/win_toolchain/vs_files/d3cb0e37bdd120ad0ac4650b674b09e81be45616\""
+      "--args=cc=\"clang\" clang_win=\"[START_DIR]/clang_win\" cxx=\"clang++\" extra_cflags=[\"-O1\"] target_cpu=\"x86_64\" windk=\"[START_DIR]/t/depot_tools/win_toolchain/vs_files/d3cb0e37bdd120ad0ac4650b674b09e81be45616\""
     ],
     "cwd": "[CUSTOM_C:\\_B_WORK]/skia",
     "env": {
diff --git a/infra/bots/recipe_modules/flavor/gn_flavor.py b/infra/bots/recipe_modules/flavor/gn_flavor.py
index be2b5a8..43d78c9 100644
--- a/infra/bots/recipe_modules/flavor/gn_flavor.py
+++ b/infra/bots/recipe_modules/flavor/gn_flavor.py
@@ -88,8 +88,6 @@
       args['skia_use_angle'] = 'true'
     if extra_config == 'CommandBuffer':
       self.m.run.run_once(self.build_command_buffer)
-    if extra_config == 'GDI':
-      args['skia_use_gdi'] = 'true'
     if extra_config == 'MSAN':
       args['skia_enable_gpu']     = 'false'
       args['skia_use_fontconfig'] = 'false'
diff --git a/infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Release-GDI.json b/infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Release-GDI.json
index 1b2a684..b921109 100644
--- a/infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Release-GDI.json
+++ b/infra/bots/recipes/compile.expected/Build-Win-MSVC-x86-Release-GDI.json
@@ -112,7 +112,7 @@
       "[CUSTOM_C:\\_B_WORK]\\skia\\bin\\gn.exe",
       "gen",
       "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Release-GDI\\Release",
-      "--args=is_debug=false skia_use_gdi=true target_cpu=\"x86\" windk=\"[START_DIR]\\t\\depot_tools\\win_toolchain\\vs_files\\d3cb0e37bdd120ad0ac4650b674b09e81be45616\""
+      "--args=is_debug=false target_cpu=\"x86\" windk=\"[START_DIR]\\t\\depot_tools\\win_toolchain\\vs_files\\d3cb0e37bdd120ad0ac4650b674b09e81be45616\""
     ],
     "cwd": "[CUSTOM_C:\\_B_WORK]\\skia",
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI.json b/infra/bots/recipes/test.expected/Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI.json
new file mode 100644
index 0000000..fc417fe
--- /dev/null
+++ b/infra/bots/recipes/test.expected/Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI.json
@@ -0,0 +1,300 @@
+[
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[START_DIR]\\skia\\infra\\bots\\assets\\skp\\VERSION",
+      "/path/to/tmp/"
+    ],
+    "infra_step": true,
+    "name": "Get downloaded SKP VERSION"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "42",
+      "[START_DIR]\\tmp\\SKP_VERSION"
+    ],
+    "infra_step": true,
+    "name": "write SKP_VERSION"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[START_DIR]\\skia\\infra\\bots\\assets\\skimage\\VERSION",
+      "/path/to/tmp/"
+    ],
+    "infra_step": true,
+    "name": "Get downloaded skimage VERSION"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "42",
+      "[START_DIR]\\tmp\\SK_IMAGE_VERSION"
+    ],
+    "infra_step": true,
+    "name": "write SK_IMAGE_VERSION"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "[START_DIR]\\skia\\infra\\bots\\assets\\svg\\VERSION",
+      "/path/to/tmp/"
+    ],
+    "infra_step": true,
+    "name": "Get downloaded SVG VERSION"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copy",
+      "42",
+      "[START_DIR]\\tmp\\SVG_VERSION"
+    ],
+    "infra_step": true,
+    "name": "write SVG_VERSION"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "ensure-directory",
+      "--mode",
+      "0777",
+      "[START_DIR]\\tmp"
+    ],
+    "infra_step": true,
+    "name": "makedirs tmp_dir"
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sys.argv[1], 'w') as f:\n        f.write(hashes)\n        break\n  except Exception as e:\n    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n    print e\n    if retry == RETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print 'Retry in %d seconds.' % waittime\n    time.sleep(waittime)\n",
+      "[START_DIR]\\tmp\\uninteresting_hashes.txt"
+    ],
+    "env": {
+      "BUILDTYPE": "Debug_x64",
+      "CHROME_HEADLESS": "1",
+      "PATH": "<PATH>;RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[START_DIR]\\out"
+    },
+    "infra_step": true,
+    "name": "get uninteresting hashes",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
+      "@@@STEP_LOG_LINE@python.inline@import math@@@",
+      "@@@STEP_LOG_LINE@python.inline@import socket@@@",
+      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+      "@@@STEP_LOG_LINE@python.inline@import time@@@",
+      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@",
+      "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
+      "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
+      "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
+      "@@@STEP_LOG_LINE@python.inline@@@@",
+      "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
+      "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
+      "@@@STEP_LOG_LINE@python.inline@  try:@@@",
+      "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@",
+      "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
+      "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@",
+      "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[1], 'w') as f:@@@",
+      "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@",
+      "@@@STEP_LOG_LINE@python.inline@        break@@@",
+      "@@@STEP_LOG_LINE@python.inline@  except Exception as e:@@@",
+      "@@@STEP_LOG_LINE@python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
+      "@@@STEP_LOG_LINE@python.inline@    print e@@@",
+      "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@",
+      "@@@STEP_LOG_LINE@python.inline@      raise@@@",
+      "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
+      "@@@STEP_LOG_LINE@python.inline@    print 'Retry in %d seconds.' % waittime@@@",
+      "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
+    ],
+    "name": "get swarming bot id",
+    "stdout": "/path/to/tmp/",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
+    ],
+    "name": "get swarming task id",
+    "stdout": "/path/to/tmp/",
+    "~followup_annotations": [
+      "@@@STEP_LOG_LINE@python.inline@import os@@@",
+      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
+      "@@@STEP_LOG_END@python.inline@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]\\out\\Debug_x64\\dm",
+      "--resourcePath",
+      "[START_DIR]\\skia\\resources",
+      "--skps",
+      "[START_DIR]\\skp",
+      "--images",
+      "[START_DIR]\\skimage\\dm",
+      "--colorImages",
+      "[START_DIR]\\skimage\\colorspace",
+      "--nameByHash",
+      "--properties",
+      "gitHash",
+      "abc123",
+      "builder",
+      "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI",
+      "swarming_bot_id",
+      "skia-bot-123",
+      "swarming_task_id",
+      "123456",
+      "--svgs",
+      "[START_DIR]\\svg",
+      "--key",
+      "arch",
+      "x86_64",
+      "compiler",
+      "Clang",
+      "configuration",
+      "Debug",
+      "cpu_or_gpu",
+      "CPU",
+      "cpu_or_gpu_value",
+      "AVX2",
+      "extra_config",
+      "NativeFonts_GDI",
+      "model",
+      "GCE",
+      "os",
+      "Win2k8",
+      "--uninterestingHashesFile",
+      "[START_DIR]\\tmp\\uninteresting_hashes.txt",
+      "--writePath",
+      "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
+      "--dont_write",
+      "pdf",
+      "--randomProcessorTest",
+      "--nogpu",
+      "--config",
+      "8888",
+      "--src",
+      "tests",
+      "gm",
+      "--blacklist",
+      "_",
+      "image",
+      "gen_platf",
+      "pal8os2v2.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "pal8os2v2-16.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "rgba32abf.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "rgb24prof.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "rgb24lprof.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "8bpp-pixeldata-cropped.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "4bpp-pixeldata-cropped.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "32bpp-pixeldata-cropped.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "24bpp-pixeldata-cropped.bmp",
+      "_",
+      "gm",
+      "_",
+      "composeshader_bitmap",
+      "_",
+      "image",
+      "gen_platf",
+      "testimgari.jpg",
+      "_",
+      "image",
+      "gen_platf",
+      "rle8-height-negative.bmp",
+      "_",
+      "image",
+      "gen_platf",
+      "rle4-height-negative.bmp",
+      "--gdi",
+      "--verbose"
+    ],
+    "env": {
+      "BUILDTYPE": "Debug_x64",
+      "CHROME_HEADLESS": "1",
+      "PATH": "<PATH>;RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[START_DIR]\\out"
+    },
+    "name": "dm"
+  },
+  {
+    "name": "$result",
+    "recipe_result": null,
+    "status_code": 0
+  }
+]
\ No newline at end of file
diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py
index aef60ea..49c0915 100644
--- a/infra/bots/recipes/test.py
+++ b/infra/bots/recipes/test.py
@@ -715,6 +715,9 @@
   if 'NativeFonts' not in bot:
     args.append('--nonativeFonts')
 
+  if 'GDI' in bot:
+    args.append('--gdi')
+
   # Let's make all bots produce verbose output by default.
   args.append('--verbose')
 
@@ -943,6 +946,7 @@
   'Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All',
   'Test-iOS-Clang-iPadPro-GPU-GT7800-arm64-Release-All',
   'Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts',
+  'Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI',
 ]
 
 
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index b534639..6a0b808 100644
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -437,12 +437,6 @@
         "Build-Win-Clang-x86_64-Debug-ANGLE"
       ]
     },
-    "Build-Win-Clang-x86_64-Debug-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Build-Win-Clang-x86_64-Debug-GDI"
-      ]
-    },
     "Build-Win-Clang-x86_64-Debug-Vulkan": {
       "priority": 0.8,
       "tasks": [
@@ -461,12 +455,6 @@
         "Build-Win-Clang-x86_64-Release-ANGLE"
       ]
     },
-    "Build-Win-Clang-x86_64-Release-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Build-Win-Clang-x86_64-Release-GDI"
-      ]
-    },
     "Build-Win-Clang-x86_64-Release-Vulkan": {
       "priority": 0.8,
       "tasks": [
@@ -491,12 +479,6 @@
         "Build-Win-MSVC-x86-Debug-Exceptions"
       ]
     },
-    "Build-Win-MSVC-x86-Debug-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Build-Win-MSVC-x86-Debug-GDI"
-      ]
-    },
     "Build-Win-MSVC-x86-Release": {
       "priority": 0.8,
       "tasks": [
@@ -509,12 +491,6 @@
         "Build-Win-MSVC-x86-Release-ANGLE"
       ]
     },
-    "Build-Win-MSVC-x86-Release-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Build-Win-MSVC-x86-Release-GDI"
-      ]
-    },
     "Build-Win-MSVC-x86_64-Debug": {
       "priority": 0.8,
       "tasks": [
@@ -1593,12 +1569,6 @@
         "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All"
       ]
     },
-    "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI"
-      ]
-    },
     "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
       "priority": 0.8,
       "tasks": [
@@ -1641,12 +1611,6 @@
         "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All"
       ]
     },
-    "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI"
-      ]
-    },
     "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "priority": 0.8,
       "tasks": [
@@ -1665,12 +1629,6 @@
         "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All"
       ]
     },
-    "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI"
-      ]
-    },
     "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "priority": 0.8,
       "tasks": [
@@ -2603,6 +2561,12 @@
         "Upload-Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts"
       ]
     },
+    "Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI": {
+      "priority": 0.8,
+      "tasks": [
+        "Upload-Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI"
+      ]
+    },
     "Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE": {
       "priority": 0.8,
       "tasks": [
@@ -2825,12 +2789,6 @@
         "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FSAA"
       ]
     },
-    "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI"
-      ]
-    },
     "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
       "priority": 0.8,
       "tasks": [
@@ -2855,12 +2813,6 @@
         "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-FSAA"
       ]
     },
-    "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI"
-      ]
-    },
     "Test-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All": {
       "priority": 0.8,
       "tasks": [
@@ -2903,30 +2855,24 @@
         "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All"
       ]
     },
-    "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI"
-      ]
-    },
     "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts": {
       "priority": 0.8,
       "tasks": [
         "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts"
       ]
     },
+    "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI": {
+      "priority": 0.8,
+      "tasks": [
+        "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI"
+      ]
+    },
     "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "priority": 0.8,
       "tasks": [
         "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All"
       ]
     },
-    "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI"
-      ]
-    },
     "Test-Win7-MSVC-Golo-CPU-AVX-x86-Debug-All": {
       "priority": 0.8,
       "tasks": [
@@ -2945,24 +2891,12 @@
         "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All"
       ]
     },
-    "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI"
-      ]
-    },
     "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "priority": 0.8,
       "tasks": [
         "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All"
       ]
     },
-    "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI": {
-      "priority": 0.8,
-      "tasks": [
-        "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI"
-      ]
-    },
     "Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All": {
       "priority": 0.8,
       "tasks": [
@@ -5084,41 +5018,6 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
-    "Build-Win-Clang-x86_64-Debug-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/win_toolchain",
-          "path": "t",
-          "version": "version:6"
-        },
-        {
-          "name": "skia/bots/clang_win",
-          "path": "clang_win",
-          "version": "version:0"
-        }
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "compile",
-        "repository=<(REPO)",
-        "buildername=Build-Win-Clang-x86_64-Debug-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "isolate": "compile_skia.isolate",
-      "priority": 0.8
-    },
     "Build-Win-Clang-x86_64-Debug-Vulkan": {
       "cipd_packages": [
         {
@@ -5229,41 +5128,6 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
-    "Build-Win-Clang-x86_64-Release-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/win_toolchain",
-          "path": "t",
-          "version": "version:6"
-        },
-        {
-          "name": "skia/bots/clang_win",
-          "path": "clang_win",
-          "version": "version:0"
-        }
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "compile",
-        "repository=<(REPO)",
-        "buildername=Build-Win-Clang-x86_64-Release-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "isolate": "compile_skia.isolate",
-      "priority": 0.8
-    },
     "Build-Win-Clang-x86_64-Release-Vulkan": {
       "cipd_packages": [
         {
@@ -5394,36 +5258,6 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
-    "Build-Win-MSVC-x86-Debug-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/win_toolchain",
-          "path": "t",
-          "version": "version:6"
-        }
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "compile",
-        "repository=<(REPO)",
-        "buildername=Build-Win-MSVC-x86-Debug-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "isolate": "compile_skia.isolate",
-      "priority": 0.8
-    },
     "Build-Win-MSVC-x86-Release": {
       "cipd_packages": [
         {
@@ -5484,36 +5318,6 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
-    "Build-Win-MSVC-x86-Release-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/win_toolchain",
-          "path": "t",
-          "version": "version:6"
-        }
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "compile",
-        "repository=<(REPO)",
-        "buildername=Build-Win-MSVC-x86-Release-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "isolate": "compile_skia.isolate",
-      "priority": 0.8
-    },
     "Build-Win-MSVC-x86_64-Debug": {
       "cipd_packages": [
         {
@@ -12876,53 +12680,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Debug-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "perf",
-        "repository=<(REPO)",
-        "buildername=Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "perf_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Perf-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
       "cipd_packages": [
         {
@@ -13252,53 +13009,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Debug-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-E5-2670",
-        "os:Windows-7-SP1",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "perf",
-        "repository=<(REPO)",
-        "buildername=Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "perf_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Perf-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "cipd_packages": [
         {
@@ -13440,53 +13150,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Debug-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-E5-2670",
-        "os:Windows-8.1-SP0",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "perf",
-        "repository=<(REPO)",
-        "buildername=Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "perf_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Perf-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "cipd_packages": [
         {
@@ -20561,6 +20224,53 @@
       "max_attempts": 1,
       "priority": 0.8
     },
+    "Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI": {
+      "cipd_packages": [
+        {
+          "name": "skia/bots/skimage",
+          "path": "skimage",
+          "version": "version:32"
+        },
+        {
+          "name": "skia/bots/skp",
+          "path": "skp",
+          "version": "version:94"
+        },
+        {
+          "name": "skia/bots/svg",
+          "path": "svg",
+          "version": "version:9"
+        }
+      ],
+      "dependencies": [
+        "Build-Win-Clang-x86_64-Debug",
+        "Housekeeper-PerCommit-BundleRecipes"
+      ],
+      "dimensions": [
+        "cpu:x86-64-i7-5557U",
+        "os:Windows-10-15063",
+        "pool:Skia"
+      ],
+      "execution_timeout_ns": 14400000000000,
+      "expiration_ns": 72000000000000,
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "test",
+        "repository=<(REPO)",
+        "buildername=Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI",
+        "swarm_out_dir=${ISOLATED_OUTDIR}",
+        "revision=<(REVISION)",
+        "patch_repo=<(PATCH_REPO)",
+        "patch_storage=<(PATCH_STORAGE)",
+        "patch_issue=<(ISSUE)",
+        "patch_set=<(PATCHSET)"
+      ],
+      "io_timeout_ns": 2400000000000,
+      "isolate": "test_skia_bundled_win.isolate",
+      "max_attempts": 1,
+      "priority": 0.8
+    },
     "Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE": {
       "cipd_packages": [
         {
@@ -22304,53 +22014,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Debug-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "test",
-        "repository=<(REPO)",
-        "buildername=Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "test_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
       "cipd_packages": [
         {
@@ -22539,53 +22202,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Release-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "os:Windows-2008ServerR2-SP1",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "test",
-        "repository=<(REPO)",
-        "buildername=Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "test_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Test-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All": {
       "cipd_packages": [
         {
@@ -22915,53 +22531,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Debug-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-E5-2670",
-        "os:Windows-7-SP1",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "test",
-        "repository=<(REPO)",
-        "buildername=Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "test_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts": {
       "cipd_packages": [
         {
@@ -23009,6 +22578,53 @@
       "max_attempts": 1,
       "priority": 0.8
     },
+    "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI": {
+      "cipd_packages": [
+        {
+          "name": "skia/bots/skimage",
+          "path": "skimage",
+          "version": "version:32"
+        },
+        {
+          "name": "skia/bots/skp",
+          "path": "skp",
+          "version": "version:94"
+        },
+        {
+          "name": "skia/bots/svg",
+          "path": "svg",
+          "version": "version:9"
+        }
+      ],
+      "dependencies": [
+        "Build-Win-Clang-x86_64-Debug",
+        "Housekeeper-PerCommit-BundleRecipes"
+      ],
+      "dimensions": [
+        "cpu:x86-64-E5-2670",
+        "os:Windows-7-SP1",
+        "pool:Skia"
+      ],
+      "execution_timeout_ns": 14400000000000,
+      "expiration_ns": 72000000000000,
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "test",
+        "repository=<(REPO)",
+        "buildername=Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI",
+        "swarm_out_dir=${ISOLATED_OUTDIR}",
+        "revision=<(REVISION)",
+        "patch_repo=<(PATCH_REPO)",
+        "patch_storage=<(PATCH_STORAGE)",
+        "patch_issue=<(ISSUE)",
+        "patch_set=<(PATCHSET)"
+      ],
+      "io_timeout_ns": 2400000000000,
+      "isolate": "test_skia_bundled_win.isolate",
+      "max_attempts": 1,
+      "priority": 0.8
+    },
     "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "cipd_packages": [
         {
@@ -23056,53 +22672,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Release-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-E5-2670",
-        "os:Windows-7-SP1",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "test",
-        "repository=<(REPO)",
-        "buildername=Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "test_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Test-Win7-MSVC-Golo-CPU-AVX-x86-Debug-All": {
       "cipd_packages": [
         {
@@ -23244,53 +22813,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Debug-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-E5-2670",
-        "os:Windows-8.1-SP0",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "test",
-        "repository=<(REPO)",
-        "buildername=Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "test_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "cipd_packages": [
         {
@@ -23338,53 +22860,6 @@
       "max_attempts": 1,
       "priority": 0.8
     },
-    "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI": {
-      "cipd_packages": [
-        {
-          "name": "skia/bots/skimage",
-          "path": "skimage",
-          "version": "version:32"
-        },
-        {
-          "name": "skia/bots/skp",
-          "path": "skp",
-          "version": "version:94"
-        },
-        {
-          "name": "skia/bots/svg",
-          "path": "svg",
-          "version": "version:9"
-        }
-      ],
-      "dependencies": [
-        "Build-Win-Clang-x86_64-Release-GDI",
-        "Housekeeper-PerCommit-BundleRecipes"
-      ],
-      "dimensions": [
-        "cpu:x86-64-E5-2670",
-        "os:Windows-8.1-SP0",
-        "pool:Skia"
-      ],
-      "execution_timeout_ns": 14400000000000,
-      "expiration_ns": 72000000000000,
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "test",
-        "repository=<(REPO)",
-        "buildername=Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)"
-      ],
-      "io_timeout_ns": 2400000000000,
-      "isolate": "test_skia_bundled_win.isolate",
-      "max_attempts": 1,
-      "priority": 0.8
-    },
     "Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All": {
       "cipd_packages": [
         {
@@ -29274,6 +28749,33 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
+    "Upload-Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI": {
+      "dependencies": [
+        "Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI"
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "upload_dm_results",
+        "repository=<(REPO)",
+        "buildername=Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_GDI",
+        "swarm_out_dir=${ISOLATED_OUTDIR}",
+        "revision=<(REVISION)",
+        "patch_repo=<(PATCH_REPO)",
+        "patch_storage=<(PATCH_STORAGE)",
+        "patch_issue=<(ISSUE)",
+        "patch_set=<(PATCHSET)",
+        "gs_bucket=skia-infra-gm"
+      ],
+      "isolate": "upload_dm_results.isolate",
+      "priority": 0.8
+    },
     "Upload-Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE": {
       "dependencies": [
         "Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE"
@@ -30273,33 +29775,6 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
-    "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI": {
-      "dependencies": [
-        "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Debian-9.1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "upload_dm_results",
-        "repository=<(REPO)",
-        "buildername=Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)",
-        "gs_bucket=skia-infra-gm"
-      ],
-      "isolate": "upload_dm_results.isolate",
-      "priority": 0.8
-    },
     "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
       "dependencies": [
         "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All"
@@ -30408,33 +29883,6 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
-    "Upload-Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI": {
-      "dependencies": [
-        "Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Debian-9.1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "upload_dm_results",
-        "repository=<(REPO)",
-        "buildername=Test-Win2k8-Clang-GCE-CPU-AVX2-x86_64-Release-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)",
-        "gs_bucket=skia-infra-gm"
-      ],
-      "isolate": "upload_dm_results.isolate",
-      "priority": 0.8
-    },
     "Upload-Test-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All": {
       "dependencies": [
         "Test-Win2k8-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All"
@@ -30624,33 +30072,6 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
-    "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "dependencies": [
-        "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Debian-9.1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "upload_dm_results",
-        "repository=<(REPO)",
-        "buildername=Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)",
-        "gs_bucket=skia-infra-gm"
-      ],
-      "isolate": "upload_dm_results.isolate",
-      "priority": 0.8
-    },
     "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts": {
       "dependencies": [
         "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts"
@@ -30678,6 +30099,33 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
+    "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI": {
+      "dependencies": [
+        "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI"
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "upload_dm_results",
+        "repository=<(REPO)",
+        "buildername=Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts_GDI",
+        "swarm_out_dir=${ISOLATED_OUTDIR}",
+        "revision=<(REVISION)",
+        "patch_repo=<(PATCH_REPO)",
+        "patch_storage=<(PATCH_STORAGE)",
+        "patch_issue=<(ISSUE)",
+        "patch_set=<(PATCHSET)",
+        "gs_bucket=skia-infra-gm"
+      ],
+      "isolate": "upload_dm_results.isolate",
+      "priority": 0.8
+    },
     "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "dependencies": [
         "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All"
@@ -30705,33 +30153,6 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
-    "Upload-Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI": {
-      "dependencies": [
-        "Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Debian-9.1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "upload_dm_results",
-        "repository=<(REPO)",
-        "buildername=Test-Win7-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)",
-        "gs_bucket=skia-infra-gm"
-      ],
-      "isolate": "upload_dm_results.isolate",
-      "priority": 0.8
-    },
     "Upload-Test-Win7-MSVC-Golo-CPU-AVX-x86-Debug-All": {
       "dependencies": [
         "Test-Win7-MSVC-Golo-CPU-AVX-x86-Debug-All"
@@ -30813,33 +30234,6 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
-    "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI": {
-      "dependencies": [
-        "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Debian-9.1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "upload_dm_results",
-        "repository=<(REPO)",
-        "buildername=Test-Win8-Clang-Golo-CPU-AVX-x86_64-Debug-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)",
-        "gs_bucket=skia-infra-gm"
-      ],
-      "isolate": "upload_dm_results.isolate",
-      "priority": 0.8
-    },
     "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All": {
       "dependencies": [
         "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All"
@@ -30867,33 +30261,6 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
-    "Upload-Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI": {
-      "dependencies": [
-        "Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI"
-      ],
-      "dimensions": [
-        "cpu:x86-64-Haswell_GCE",
-        "gpu:none",
-        "os:Debian-9.1",
-        "pool:Skia"
-      ],
-      "extra_args": [
-        "--workdir",
-        "../../..",
-        "upload_dm_results",
-        "repository=<(REPO)",
-        "buildername=Test-Win8-Clang-Golo-CPU-AVX-x86_64-Release-All-GDI",
-        "swarm_out_dir=${ISOLATED_OUTDIR}",
-        "revision=<(REVISION)",
-        "patch_repo=<(PATCH_REPO)",
-        "patch_storage=<(PATCH_STORAGE)",
-        "patch_issue=<(ISSUE)",
-        "patch_set=<(PATCHSET)",
-        "gs_bucket=skia-infra-gm"
-      ],
-      "isolate": "upload_dm_results.isolate",
-      "priority": 0.8
-    },
     "Upload-Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All": {
       "dependencies": [
         "Test-Win8-MSVC-Golo-CPU-AVX-x86-Debug-All"
diff --git a/src/ports/SkFontMgr_win_gdi_factory.cpp b/src/ports/SkFontMgr_win_gdi_factory.cpp
deleted file mode 100644
index 6015794..0000000
--- a/src/ports/SkFontMgr_win_gdi_factory.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright 2015 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "SkTypes.h"
-#if defined(SK_BUILD_FOR_WIN32)  // And SKIA_GDI?
-
-#include "SkFontMgr.h"
-#include "SkTypeface_win.h"
-
-sk_sp<SkFontMgr> SkFontMgr::Factory() {
-    return SkFontMgr_New_GDI();
-}
-
-#endif//defined(SK_BUILD_FOR_WIN32)