Add Pixelbook to tree

Bug: skia:7249
NOTRY=true
Change-Id: I7ab6bc28d567ca5ae75df9c1e56b46c307032024
Reviewed-on: https://skia-review.googlesource.com/66143
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
diff --git a/infra/bots/assets/chromebook_arm_gles/create.py b/infra/bots/assets/chromebook_arm_gles/create.py
index 2611802..9379042 100755
--- a/infra/bots/assets/chromebook_arm_gles/create.py
+++ b/infra/bots/assets/chromebook_arm_gles/create.py
@@ -35,13 +35,10 @@
   lib_dir = os.path.join(target_dir, 'lib')
   os.mkdir(lib_dir)
 
-  for f in glob.glob(os.path.join(gl_path,'libGL*')):
-    shutil.copy(f, lib_dir)
-
-  for f in glob.glob(os.path.join(gl_path,'libEGL*')):
-    shutil.copy(f, lib_dir)
-
-  for f in glob.glob(os.path.join(gl_path,'libmali*')):
+  to_copy = glob.glob(os.path.join(gl_path,'libGL*'))
+  to_copy.extend(glob.glob(os.path.join(gl_path,'libEGL*')))
+  to_copy.extend(glob.glob(os.path.join(gl_path,'libmali*')))
+  for f in to_copy:
     shutil.copy(f, lib_dir)
 
   include_dir = os.path.join(target_dir, 'include')
diff --git a/infra/bots/assets/chromebook_x86_64_gles/README.md b/infra/bots/assets/chromebook_x86_64_gles/README.md
new file mode 100644
index 0000000..0553d46
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/README.md
@@ -0,0 +1,13 @@
+This asset is the necessary includes and libs to compile/link the gpu code
+for x86_64 Chromebooks with gpu supports EGL and GLES.
+
+Zip up the /usr/lib64 folder on any x86_64 Chromebook (e.g. Pixelbook). Extract it somewhere
+on the dev machine and use that folder as the input to create_and_upload:
+
+    ./infra/bots/assets/chromebook_x86_64_gles/create_and_upload.py --lib_path [dir]
+
+This script installs the following GL packages and then bundles them with the
+unzipped libs:
+
+    libgles2-mesa-dev libegl1-mesa-dev
+
diff --git a/infra/bots/assets/chromebook_x86_64_gles/VERSION b/infra/bots/assets/chromebook_x86_64_gles/VERSION
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/VERSION
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/infra/bots/assets/chromebook_x86_64_gles/common.py b/infra/bots/assets/chromebook_x86_64_gles/common.py
new file mode 100755
index 0000000..caa0ad8
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/common.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+"""Common vars used by scripts in this directory."""
+
+
+import os
+import sys
+
+FILE_DIR = os.path.dirname(os.path.abspath(__file__))
+INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))
+
+sys.path.insert(0, INFRA_BOTS_DIR)
+from assets import assets
+
+ASSET_NAME = os.path.basename(FILE_DIR)
+
+
+def run(cmd):
+  """Run a command, eg. "upload" or "download". """
+  assets.main([cmd, ASSET_NAME] + sys.argv[1:])
diff --git a/infra/bots/assets/chromebook_x86_64_gles/create.py b/infra/bots/assets/chromebook_x86_64_gles/create.py
new file mode 100755
index 0000000..3070e1f
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/create.py
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+"""Create the asset."""
+
+
+import argparse
+import glob
+import os
+import shutil
+import subprocess
+import sys
+
+
+def create_asset(target_dir, gl_path):
+  """Create the asset."""
+
+  cmd = [
+    'sudo','apt-get','install',
+    'libgles2-mesa-dev',
+    'libegl1-mesa-dev'
+  ]
+  print 'About to run:'
+  print ' '.join(cmd)
+  print 'Press Enter to Continue'
+  raw_input()
+  subprocess.check_call(cmd)
+
+
+  lib_dir = os.path.join(target_dir, 'lib')
+  os.mkdir(lib_dir)
+
+  to_copy = glob.glob(os.path.join(gl_path,'libGL*'))
+  to_copy.extend(glob.glob(os.path.join(gl_path,'libEGL*')))
+  to_copy.extend(glob.glob(os.path.join(gl_path,'libdrm*')))
+  for f in to_copy:
+    shutil.copy(f, lib_dir)
+
+  include_dir = os.path.join(target_dir, 'include')
+  os.mkdir(include_dir)
+  shutil.copytree('/usr/include/EGL', os.path.join(include_dir, 'EGL'))
+  shutil.copytree('/usr/include/KHR', os.path.join(include_dir, 'KHR'))
+  shutil.copytree('/usr/include/GLES2', os.path.join(include_dir, 'GLES2'))
+  shutil.copytree('/usr/include/GLES3', os.path.join(include_dir, 'GLES3'))
+
+
+def main():
+  if 'linux' not in sys.platform:
+    print >> sys.stderr, 'This script only runs on Linux.'
+    sys.exit(1)
+  parser = argparse.ArgumentParser()
+  parser.add_argument('--target_dir', '-t', required=True)
+  parser.add_argument('--lib_path', '-l', required=True)
+  args = parser.parse_args()
+  create_asset(args.target_dir, args.lib_path)
+
+
+if __name__ == '__main__':
+  main()
diff --git a/infra/bots/assets/chromebook_x86_64_gles/create_and_upload.py b/infra/bots/assets/chromebook_x86_64_gles/create_and_upload.py
new file mode 100755
index 0000000..438d1af
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/create_and_upload.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+"""Create the asset and upload it."""
+
+
+import argparse
+import common
+import os
+import subprocess
+import sys
+import utils
+
+
+def main():
+  if 'linux' not in sys.platform:
+    print >> sys.stderr, 'This script only runs on Linux.'
+    sys.exit(1)
+  parser = argparse.ArgumentParser()
+  parser.add_argument('--gsutil')
+  parser.add_argument('--lib_path', '-l', required=True)
+  args = parser.parse_args()
+
+  with utils.tmp_dir():
+    cwd = os.getcwd()
+    create_script = os.path.join(common.FILE_DIR, 'create.py')
+    upload_script = os.path.join(common.FILE_DIR, 'upload.py')
+
+    try:
+      subprocess.check_call(['python', create_script,
+                             '-t', cwd,
+                             '-l', args.lib_path])
+      cmd = ['python', upload_script, '-t', cwd]
+      if args.gsutil:
+        cmd.extend(['--gsutil', args.gsutil])
+      subprocess.check_call(cmd)
+    except subprocess.CalledProcessError:
+      # Trap exceptions to avoid printing two stacktraces.
+      sys.exit(1)
+
+
+if __name__ == '__main__':
+  main()
diff --git a/infra/bots/assets/chromebook_x86_64_gles/download.py b/infra/bots/assets/chromebook_x86_64_gles/download.py
new file mode 100755
index 0000000..ca999e0
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/download.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+"""Download the current version of the asset."""
+
+
+import common
+
+
+if __name__ == '__main__':
+  common.run('download')
diff --git a/infra/bots/assets/chromebook_x86_64_gles/upload.py b/infra/bots/assets/chromebook_x86_64_gles/upload.py
new file mode 100755
index 0000000..bdfbda7
--- /dev/null
+++ b/infra/bots/assets/chromebook_x86_64_gles/upload.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+"""Upload a new version of the asset."""
+
+
+import common
+
+
+if __name__ == '__main__':
+  common.run('upload')
diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go
index 91427e3..9bb9baf 100644
--- a/infra/bots/gen_tasks.go
+++ b/infra/bots/gen_tasks.go
@@ -137,7 +137,7 @@
 			task_os = "Debian9"
 			ec = append([]string{"Chromecast"}, ec...)
 		} else if strings.Contains(task_os, "ChromeOS") {
-			ec = append([]string{"Chromebook", "ARM", "GLES"}, ec...)
+			ec = append([]string{"Chromebook", "GLES"}, ec...)
 			task_os = "Debian9"
 		} else if task_os == "iOS" {
 			ec = append([]string{task_os}, ec...)
@@ -326,11 +326,12 @@
 				d["gpu"] = gpu
 			} else if strings.Contains(parts["os"], "ChromeOS") {
 				gpu, ok := map[string]string{
-					"MaliT604":      "MaliT604",
-					"MaliT764":      "MaliT764",
-					"MaliT860":      "MaliT860",
-					"PowerVRGX6250": "PowerVRGX6250",
-					"TegraK1":       "TegraK1",
+					"MaliT604":           "MaliT604",
+					"MaliT764":           "MaliT764",
+					"MaliT860":           "MaliT860",
+					"PowerVRGX6250":      "PowerVRGX6250",
+					"TegraK1":            "TegraK1",
+					"IntelHDGraphics615": "IntelHDGraphics615",
 				}[parts["cpu_or_gpu_value"]]
 				if !ok {
 					glog.Fatalf("Entry %q not found in ChromeOS GPU mapping.", parts["cpu_or_gpu_value"])
@@ -478,8 +479,12 @@
 		pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("chromebook_arm_gles"))
 	} else if strings.Contains(name, "Chromebook") {
 		pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("clang_linux"))
-		pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("armhf_sysroot"))
-		pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("chromebook_arm_gles"))
+		if parts["target_arch"] == "x86_64" {
+			pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("chromebook_x86_64_gles"))
+		} else if parts["target_arch"] == "arm" {
+			pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("armhf_sysroot"))
+			pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("chromebook_arm_gles"))
+		}
 	} else if strings.Contains(name, "Debian") {
 		if strings.Contains(name, "Clang") {
 			pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("clang_linux"))
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index 12102b1..800e851 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -1,9 +1,9 @@
 [
   "Build-Debian9-Clang-arm-Debug-Android",
-  "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+  "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
   "Build-Debian9-Clang-arm-Release-Android",
   "Build-Debian9-Clang-arm-Release-Android_API26",
-  "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+  "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
   "Build-Debian9-Clang-arm64-Debug-Android",
   "Build-Debian9-Clang-arm64-Debug-Android_Vulkan",
   "Build-Debian9-Clang-arm64-Release-Android",
@@ -21,6 +21,7 @@
   "Build-Debian9-Clang-x86-Release-Android_Vulkan",
   "Build-Debian9-Clang-x86_64-Debug",
   "Build-Debian9-Clang-x86_64-Debug-ASAN",
+  "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES",
   "Build-Debian9-Clang-x86_64-Debug-Coverage",
   "Build-Debian9-Clang-x86_64-Debug-MSAN",
   "Build-Debian9-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE",
@@ -30,6 +31,7 @@
   "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage",
   "Build-Debian9-Clang-x86_64-Release",
   "Build-Debian9-Clang-x86_64-Release-ASAN",
+  "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES",
   "Build-Debian9-Clang-x86_64-Release-Fast",
   "Build-Debian9-Clang-x86_64-Release-Mini",
   "Build-Debian9-Clang-x86_64-Release-SKNX_NO_SIMD",
@@ -155,6 +157,8 @@
   "Perf-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Release-All",
   "Perf-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Debug-All",
   "Perf-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release-All",
+  "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All",
+  "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All",
   "Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All",
   "Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release-All",
   "Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug-All",
@@ -332,6 +336,8 @@
   "Test-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Release-All",
   "Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Debug-All",
   "Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release-All",
+  "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All",
+  "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All",
   "Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All",
   "Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release-All",
   "Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug-All",
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Debian9-Clang-arm-Release-Chromebook_GLES.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Debian9-Clang-arm-Release-Chromebook_GLES.json
new file mode 100644
index 0000000..5cd8e29
--- /dev/null
+++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Debian9-Clang-arm-Release-Chromebook_GLES.json
@@ -0,0 +1,59 @@
+[
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CUSTOM_/_B_WORK]/skia/bin/fetch-gn"
+    ],
+    "cwd": "[CUSTOM_/_B_WORK]/skia",
+    "env": {
+      "BUILDTYPE": "Release",
+      "CHROME_HEADLESS": "1",
+      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
+      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES"
+    },
+    "infra_step": true,
+    "name": "fetch-gn"
+  },
+  {
+    "cmd": [
+      "[CUSTOM_/_B_WORK]/skia/bin/gn",
+      "gen",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES/Release",
+      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-march=armv7-a\", \"-mfpu=neon\", \"-mthumb\"] extra_cflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-I[START_DIR]/chromebook_arm_gles/include\", \"-I[START_DIR]/armhf_sysroot/include\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4/arm-linux-gnueabihf\", \"-DMESA_EGL_NO_X11_HEADERS\"] extra_ldflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-B[START_DIR]/armhf_sysroot/bin\", \"-B[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/lib\", \"-L[START_DIR]/chromebook_arm_gles/lib\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"arm\""
+    ],
+    "cwd": "[CUSTOM_/_B_WORK]/skia",
+    "env": {
+      "BUILDTYPE": "Release",
+      "CHROME_HEADLESS": "1",
+      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
+      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES"
+    },
+    "name": "gn gen"
+  },
+  {
+    "cmd": [
+      "ninja",
+      "-C",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES/Release",
+      "nanobench",
+      "dm"
+    ],
+    "cwd": "[CUSTOM_/_B_WORK]/skia",
+    "env": {
+      "BUILDTYPE": "Release",
+      "CHROME_HEADLESS": "1",
+      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
+      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES"
+    },
+    "name": "ninja"
+  },
+  {
+    "name": "$result",
+    "recipe_result": null,
+    "status_code": 0
+  }
+]
\ No newline at end of file
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES.json
new file mode 100644
index 0000000..1390914
--- /dev/null
+++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES.json
@@ -0,0 +1,56 @@
+[
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CUSTOM_/_B_WORK]/skia/bin/fetch-gn"
+    ],
+    "cwd": "[CUSTOM_/_B_WORK]/skia",
+    "env": {
+      "BUILDTYPE": "Debug",
+      "CHROME_HEADLESS": "1",
+      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES"
+    },
+    "infra_step": true,
+    "name": "fetch-gn"
+  },
+  {
+    "cmd": [
+      "[CUSTOM_/_B_WORK]/skia/bin/gn",
+      "gen",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES/Debug",
+      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[] extra_cflags=[\"-DMESA_EGL_NO_X11_HEADERS\", \"-DEGL_NO_IMAGE_EXTERNAL\", \"-I[START_DIR]/chromebook_x86_64_gles/include\"] extra_ldflags=[\"-L[START_DIR]/chromebook_x86_64_gles/lib\", \"-static-libstdc++\", \"-static-libgcc\", \"-fuse-ld=lld\"] skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"x86_64\""
+    ],
+    "cwd": "[CUSTOM_/_B_WORK]/skia",
+    "env": {
+      "BUILDTYPE": "Debug",
+      "CHROME_HEADLESS": "1",
+      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES"
+    },
+    "name": "gn gen"
+  },
+  {
+    "cmd": [
+      "ninja",
+      "-C",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES/Debug",
+      "nanobench",
+      "dm"
+    ],
+    "cwd": "[CUSTOM_/_B_WORK]/skia",
+    "env": {
+      "BUILDTYPE": "Debug",
+      "CHROME_HEADLESS": "1",
+      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES"
+    },
+    "name": "ninja"
+  },
+  {
+    "name": "$result",
+    "recipe_result": null,
+    "status_code": 0
+  }
+]
\ No newline at end of file
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json
index 3cdbcad..96c85c6 100644
--- a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json
+++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json
@@ -9,7 +9,6 @@
     "env": {
       "BUILDTYPE": "Release",
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
       "SKIA_OUT": "[START_DIR]/out"
     },
@@ -21,13 +20,12 @@
       "[START_DIR]/skia/bin/gn",
       "gen",
       "[START_DIR]/out/Release",
-      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-march=armv7-a\", \"-mfpu=neon\", \"-mthumb\"] extra_cflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-I[START_DIR]/chromebook_arm_gles/include\", \"-I[START_DIR]/armhf_sysroot/include\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4/arm-linux-gnueabihf\", \"-DMESA_EGL_NO_X11_HEADERS\"] extra_ldflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-B[START_DIR]/armhf_sysroot/bin\", \"-B[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/lib\", \"-L[START_DIR]/chromebook_arm_gles/lib\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"None\""
+      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[] extra_cflags=[\"-DMESA_EGL_NO_X11_HEADERS\", \"-DEGL_NO_IMAGE_EXTERNAL\", \"-I[START_DIR]/chromebook_x86_64_gles/include\"] extra_ldflags=[\"-L[START_DIR]/chromebook_x86_64_gles/lib\", \"-static-libstdc++\", \"-static-libgcc\", \"-fuse-ld=lld\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"None\""
     ],
     "cwd": "[START_DIR]/skia",
     "env": {
       "BUILDTYPE": "Release",
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
       "SKIA_OUT": "[START_DIR]/out"
     },
@@ -45,7 +43,6 @@
     "env": {
       "BUILDTYPE": "Release",
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
       "SKIA_OUT": "[START_DIR]/out"
     },
diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json
index d3b9e5d..9f977f7 100644
--- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json
+++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All.json
@@ -9,7 +9,6 @@
     "env": {
       "BUILDTYPE": "Release",
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
       "SKIA_OUT": "[START_DIR]/out"
     },
@@ -21,13 +20,12 @@
       "[START_DIR]/skia/bin/gn",
       "gen",
       "[START_DIR]/out/Release",
-      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-march=armv7-a\", \"-mfpu=neon\", \"-mthumb\"] extra_cflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-I[START_DIR]/chromebook_arm_gles/include\", \"-I[START_DIR]/armhf_sysroot/include\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4/arm-linux-gnueabihf\", \"-DMESA_EGL_NO_X11_HEADERS\"] extra_ldflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-B[START_DIR]/armhf_sysroot/bin\", \"-B[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/lib\", \"-L[START_DIR]/chromebook_arm_gles/lib\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"None\""
+      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[] extra_cflags=[\"-DMESA_EGL_NO_X11_HEADERS\", \"-DEGL_NO_IMAGE_EXTERNAL\", \"-I[START_DIR]/chromebook_x86_64_gles/include\"] extra_ldflags=[\"-L[START_DIR]/chromebook_x86_64_gles/lib\", \"-static-libstdc++\", \"-static-libgcc\", \"-fuse-ld=lld\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"None\""
     ],
     "cwd": "[START_DIR]/skia",
     "env": {
       "BUILDTYPE": "Release",
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
       "SKIA_OUT": "[START_DIR]/out"
     },
@@ -45,7 +43,6 @@
     "env": {
       "BUILDTYPE": "Release",
       "CHROME_HEADLESS": "1",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
       "SKIA_OUT": "[START_DIR]/out"
     },
diff --git a/infra/bots/recipe_modules/flavor/examples/full.py b/infra/bots/recipe_modules/flavor/examples/full.py
index 133c7f5..84d151f 100644
--- a/infra/bots/recipe_modules/flavor/examples/full.py
+++ b/infra/bots/recipe_modules/flavor/examples/full.py
@@ -58,6 +58,8 @@
 
 TEST_BUILDERS = [
   'Build-Debian9-Clang-arm-Release-Android_API26',
+  'Build-Debian9-Clang-arm-Release-Chromebook_GLES',
+  'Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES',
   'Build-Debian9-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE',
   'Build-Debian9-Clang-x86_64-Release-Fast',
   'Build-Debian9-Clang-x86_64-Release-Mini',
@@ -111,7 +113,7 @@
                      path_config='kitchen',
                      swarm_out_dir='[SWARM_OUT_DIR]')
     )
-    if 'Chromebook' in buildername:
+    if 'Chromebook' in buildername and not 'Build' in buildername:
       test += api.step_data(
           'read chromeos ip',
           stdout=api.raw_io.output('{"user_ip":"foo@127.0.0.1"}'))
diff --git a/infra/bots/recipe_modules/flavor/gn_chromebook_flavor.py b/infra/bots/recipe_modules/flavor/gn_chromebook_flavor.py
index d91314d..87f4fdc 100644
--- a/infra/bots/recipe_modules/flavor/gn_chromebook_flavor.py
+++ b/infra/bots/recipe_modules/flavor/gn_chromebook_flavor.py
@@ -75,43 +75,59 @@
     clang_linux = self.m.vars.slave_dir.join('clang_linux')
     # This is a pretty typical arm-linux-gnueabihf sysroot
     sysroot_dir = self.m.vars.slave_dir.join('armhf_sysroot')
-    # This is the extra things needed to link against for the chromebook.
-    #  For example, the Mali GL drivers.
-    gl_dir   = self.m.vars.slave_dir.join('chromebook_arm_gles')
 
-    extra_asmflags = [
-      '--target=armv7a-linux-gnueabihf',
-      '--sysroot=%s' % sysroot_dir,
-      '-march=armv7-a',
-      '-mfpu=neon',
-      '-mthumb',
-    ]
+    if 'arm' == target_arch:
+      # This is the extra things needed to link against for the chromebook.
+      #  For example, the Mali GL drivers.
+      gl_dir = self.m.vars.slave_dir.join('chromebook_arm_gles')
+      env = {'LD_LIBRARY_PATH': sysroot_dir.join('lib')}
+      extra_asmflags = [
+        '--target=armv7a-linux-gnueabihf',
+        '--sysroot=%s' % sysroot_dir,
+        '-march=armv7-a',
+        '-mfpu=neon',
+        '-mthumb',
+      ]
 
-    extra_cflags = [
-      '--target=armv7a-linux-gnueabihf',
-      '--sysroot=%s' % sysroot_dir,
-      '-I%s' % gl_dir.join('include'),
-      '-I%s' % sysroot_dir.join('include'),
-      '-I%s' % sysroot_dir.join('include', 'c++', '4.8.4'),
-      '-I%s' % sysroot_dir.join('include', 'c++', '4.8.4',
-                                'arm-linux-gnueabihf'),
-      '-DMESA_EGL_NO_X11_HEADERS',
-    ]
+      extra_cflags = [
+        '--target=armv7a-linux-gnueabihf',
+        '--sysroot=%s' % sysroot_dir,
+        '-I%s' % gl_dir.join('include'),
+        '-I%s' % sysroot_dir.join('include'),
+        '-I%s' % sysroot_dir.join('include', 'c++', '4.8.4'),
+        '-I%s' % sysroot_dir.join('include', 'c++', '4.8.4',
+                                  'arm-linux-gnueabihf'),
+        '-DMESA_EGL_NO_X11_HEADERS',
+      ]
 
-    extra_ldflags = [
-      '--target=armv7a-linux-gnueabihf',
-      '--sysroot=%s' % sysroot_dir,
-      # use sysroot's ld which can properly link things.
-      '-B%s' % sysroot_dir.join('bin'),
-      # helps locate crt*.o
-      '-B%s' % sysroot_dir.join('gcc-cross'),
-      # helps locate libgcc*.so
-      '-L%s' % sysroot_dir.join('gcc-cross'),
-      '-L%s' % sysroot_dir.join('lib'),
-      '-L%s' % gl_dir.join('lib'),
-      # Explicitly do not use lld for cross compiling like this - I observed
-      # failures like "Unrecognized reloc 41" and couldn't find out why.
-    ]
+      extra_ldflags = [
+        '--target=armv7a-linux-gnueabihf',
+        '--sysroot=%s' % sysroot_dir,
+        # use sysroot's ld which can properly link things.
+        '-B%s' % sysroot_dir.join('bin'),
+        # helps locate crt*.o
+        '-B%s' % sysroot_dir.join('gcc-cross'),
+        # helps locate libgcc*.so
+        '-L%s' % sysroot_dir.join('gcc-cross'),
+        '-L%s' % sysroot_dir.join('lib'),
+        '-L%s' % gl_dir.join('lib'),
+        # Explicitly do not use lld for cross compiling like this - I observed
+        # failures like "Unrecognized reloc 41" and couldn't find out why.
+      ]
+    else:
+      gl_dir = self.m.vars.slave_dir.join('chromebook_x86_64_gles')
+      env = {}
+      extra_asmflags = []
+      extra_cflags = [
+        '-DMESA_EGL_NO_X11_HEADERS',
+        '-DEGL_NO_IMAGE_EXTERNAL',
+        '-I%s' % gl_dir.join('include'),
+      ]
+      extra_ldflags = [
+        '-L%s' % gl_dir.join('lib'),
+        '-static-libstdc++', '-static-libgcc',
+        '-fuse-ld=lld',
+      ]
 
     quote = lambda x: '"%s"' % x
     args = {
@@ -136,7 +152,7 @@
     gn = self.m.vars.skia_dir.join('bin', gn)
 
     with self.m.context(cwd=self.m.vars.skia_dir,
-                        env={'LD_LIBRARY_PATH': sysroot_dir.join('lib')}):
+                        env=env):
       self._py('fetch-gn', self.m.vars.skia_dir.join('bin', 'fetch-gn'))
       self._run('gn gen', [gn, 'gen', self.out_dir, '--args=' + gn_args])
       self._run('ninja', [ninja, '-C', self.out_dir, 'nanobench', 'dm'])
diff --git a/infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES.json b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_GLES.json
similarity index 97%
rename from infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES.json
rename to infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_GLES.json
index 3f00ddd..92a3874 100644
--- a/infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES.json
+++ b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_GLES.json
@@ -105,7 +105,7 @@
       "CXX": "/usr/bin/clang++",
       "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
-      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES"
     },
     "infra_step": true,
     "name": "fetch-gn"
@@ -114,7 +114,7 @@
     "cmd": [
       "[CUSTOM_/_B_WORK]/skia/bin/gn",
       "gen",
-      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES/Release",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES/Release",
       "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-march=armv7-a\", \"-mfpu=neon\", \"-mthumb\"] extra_cflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-I[START_DIR]/chromebook_arm_gles/include\", \"-I[START_DIR]/armhf_sysroot/include\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4/arm-linux-gnueabihf\", \"-DMESA_EGL_NO_X11_HEADERS\"] extra_ldflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-B[START_DIR]/armhf_sysroot/bin\", \"-B[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/lib\", \"-L[START_DIR]/chromebook_arm_gles/lib\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"arm\""
     ],
     "cwd": "[CUSTOM_/_B_WORK]/skia",
@@ -125,7 +125,7 @@
       "CXX": "/usr/bin/clang++",
       "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
-      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES"
     },
     "name": "gn gen"
   },
@@ -133,7 +133,7 @@
     "cmd": [
       "ninja",
       "-C",
-      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES/Release",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES/Release",
       "nanobench",
       "dm"
     ],
@@ -145,7 +145,7 @@
       "CXX": "/usr/bin/clang++",
       "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
-      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES"
     },
     "name": "ninja"
   },
@@ -154,7 +154,7 @@
       "python",
       "-u",
       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products_whitelist:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES/Release",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_GLES/Release",
       "[CUSTOM_[SWARM_OUT_DIR]]/out/Release"
     ],
     "infra_step": true,
diff --git a/infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES.json b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES.json
similarity index 84%
copy from infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES.json
copy to infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES.json
index 3f00ddd..649559e 100644
--- a/infra/bots/recipes/compile.expected/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES.json
+++ b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES.json
@@ -103,9 +103,8 @@
       "CC": "/usr/bin/clang",
       "CHROME_HEADLESS": "1",
       "CXX": "/usr/bin/clang++",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
-      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES"
     },
     "infra_step": true,
     "name": "fetch-gn"
@@ -114,8 +113,8 @@
     "cmd": [
       "[CUSTOM_/_B_WORK]/skia/bin/gn",
       "gen",
-      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES/Release",
-      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-march=armv7-a\", \"-mfpu=neon\", \"-mthumb\"] extra_cflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-I[START_DIR]/chromebook_arm_gles/include\", \"-I[START_DIR]/armhf_sysroot/include\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4\", \"-I[START_DIR]/armhf_sysroot/include/c++/4.8.4/arm-linux-gnueabihf\", \"-DMESA_EGL_NO_X11_HEADERS\"] extra_ldflags=[\"--target=armv7a-linux-gnueabihf\", \"--sysroot=[START_DIR]/armhf_sysroot\", \"-B[START_DIR]/armhf_sysroot/bin\", \"-B[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/gcc-cross\", \"-L[START_DIR]/armhf_sysroot/lib\", \"-L[START_DIR]/chromebook_arm_gles/lib\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"arm\""
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES/Release",
+      "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_asmflags=[] extra_cflags=[\"-DMESA_EGL_NO_X11_HEADERS\", \"-DEGL_NO_IMAGE_EXTERNAL\", \"-I[START_DIR]/chromebook_x86_64_gles/include\"] extra_ldflags=[\"-L[START_DIR]/chromebook_x86_64_gles/lib\", \"-static-libstdc++\", \"-static-libgcc\", \"-fuse-ld=lld\"] is_debug=false skia_use_egl=true skia_use_fontconfig=false skia_use_system_freetype2=false target_cpu=\"x86_64\""
     ],
     "cwd": "[CUSTOM_/_B_WORK]/skia",
     "env": {
@@ -123,9 +122,8 @@
       "CC": "/usr/bin/clang",
       "CHROME_HEADLESS": "1",
       "CXX": "/usr/bin/clang++",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
-      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES"
     },
     "name": "gn gen"
   },
@@ -133,7 +131,7 @@
     "cmd": [
       "ninja",
       "-C",
-      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES/Release",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES/Release",
       "nanobench",
       "dm"
     ],
@@ -143,9 +141,8 @@
       "CC": "/usr/bin/clang",
       "CHROME_HEADLESS": "1",
       "CXX": "/usr/bin/clang++",
-      "LD_LIBRARY_PATH": "[START_DIR]/armhf_sysroot/lib",
       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
-      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+      "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES"
     },
     "name": "ninja"
   },
@@ -154,7 +151,7 @@
       "python",
       "-u",
       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products_whitelist:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
-      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES/Release",
+      "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Chromebook_GLES/Release",
       "[CUSTOM_[SWARM_OUT_DIR]]/out/Release"
     ],
     "infra_step": true,
diff --git a/infra/bots/recipes/compile.py b/infra/bots/recipes/compile.py
index eed7e23..af9e560 100644
--- a/infra/bots/recipes/compile.py
+++ b/infra/bots/recipes/compile.py
@@ -76,7 +76,7 @@
 
 
 TEST_BUILDERS = [
-  'Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES',
+  'Build-Debian9-Clang-arm-Release-Chromebook_GLES',
   'Build-Debian9-Clang-arm64-Release-Android',
   'Build-Debian9-Clang-arm64-Release-Android_Vulkan',
   'Build-Debian9-Clang-mipsel-Debug-Android',
@@ -85,6 +85,7 @@
   'Build-Debian9-Clang-x86_64-Debug-Coverage',
   'Build-Debian9-Clang-x86_64-Debug-MSAN',
   'Build-Debian9-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE',
+  'Build-Debian9-Clang-x86_64-Release-Chromebook_GLES',
   'Build-Debian9-Clang-x86_64-Release-Fast',
   'Build-Debian9-Clang-x86_64-Release-Mini',
   'Build-Debian9-Clang-x86_64-Release-Vulkan',
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 6bc2c76..03ec547 100644
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -6,10 +6,10 @@
         "Build-Debian9-Clang-arm-Debug-Android"
       ]
     },
-    "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES": {
+    "Build-Debian9-Clang-arm-Debug-Chromebook_GLES": {
       "priority": 0.8,
       "tasks": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES"
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES"
       ]
     },
     "Build-Debian9-Clang-arm-Release-Android": {
@@ -24,10 +24,10 @@
         "Build-Debian9-Clang-arm-Release-Android_API26"
       ]
     },
-    "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES": {
+    "Build-Debian9-Clang-arm-Release-Chromebook_GLES": {
       "priority": 0.8,
       "tasks": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES"
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES"
       ]
     },
     "Build-Debian9-Clang-arm64-Debug-Android": {
@@ -132,6 +132,12 @@
         "Build-Debian9-Clang-x86_64-Debug-ASAN"
       ]
     },
+    "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES": {
+      "priority": 0.8,
+      "tasks": [
+        "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES"
+      ]
+    },
     "Build-Debian9-Clang-x86_64-Debug-Coverage": {
       "priority": 0.8,
       "tasks": [
@@ -186,6 +192,12 @@
         "Build-Debian9-Clang-x86_64-Release-ASAN"
       ]
     },
+    "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES": {
+      "priority": 0.8,
+      "tasks": [
+        "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES"
+      ]
+    },
     "Build-Debian9-Clang-x86_64-Release-Fast": {
       "priority": 0.8,
       "tasks": [
@@ -944,6 +956,18 @@
         "Upload-Perf-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release-All"
       ]
     },
+    "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All": {
+      "priority": 0.8,
+      "tasks": [
+        "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All"
+      ]
+    },
+    "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All": {
+      "priority": 0.8,
+      "tasks": [
+        "Upload-Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All"
+      ]
+    },
     "Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All": {
       "priority": 0.8,
       "tasks": [
@@ -2007,6 +2031,18 @@
         "Upload-Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release-All"
       ]
     },
+    "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All": {
+      "priority": 0.8,
+      "tasks": [
+        "Upload-Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All"
+      ]
+    },
+    "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All": {
+      "priority": 0.8,
+      "tasks": [
+        "Upload-Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All"
+      ]
+    },
     "Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All": {
       "priority": 0.8,
       "tasks": [
@@ -2977,7 +3013,7 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
-    "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES": {
+    "Build-Debian9-Clang-arm-Debug-Chromebook_GLES": {
       "cipd_packages": [
         {
           "name": "skia/bots/clang_linux",
@@ -3006,7 +3042,7 @@
         "../../..",
         "compile",
         "repository=<(REPO)",
-        "buildername=Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "buildername=Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "swarm_out_dir=${ISOLATED_OUTDIR}",
         "revision=<(REVISION)",
         "patch_repo=<(PATCH_REPO)",
@@ -3077,7 +3113,7 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
-    "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES": {
+    "Build-Debian9-Clang-arm-Release-Chromebook_GLES": {
       "cipd_packages": [
         {
           "name": "skia/bots/clang_linux",
@@ -3106,7 +3142,7 @@
         "../../..",
         "compile",
         "repository=<(REPO)",
-        "buildername=Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "buildername=Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "swarm_out_dir=${ISOLATED_OUTDIR}",
         "revision=<(REVISION)",
         "patch_repo=<(PATCH_REPO)",
@@ -3627,6 +3663,41 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
+    "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES": {
+      "cipd_packages": [
+        {
+          "name": "skia/bots/clang_linux",
+          "path": "clang_linux",
+          "version": "version:10"
+        },
+        {
+          "name": "skia/bots/chromebook_x86_64_gles",
+          "path": "chromebook_x86_64_gles",
+          "version": "version:2"
+        }
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "compile",
+        "repository=<(REPO)",
+        "buildername=Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES",
+        "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-Debian9-Clang-x86_64-Debug-Coverage": {
       "cipd_packages": [
         {
@@ -3907,6 +3978,41 @@
       "isolate": "compile_skia.isolate",
       "priority": 0.8
     },
+    "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES": {
+      "cipd_packages": [
+        {
+          "name": "skia/bots/clang_linux",
+          "path": "clang_linux",
+          "version": "version:10"
+        },
+        {
+          "name": "skia/bots/chromebook_x86_64_gles",
+          "path": "chromebook_x86_64_gles",
+          "version": "version:2"
+        }
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "compile",
+        "repository=<(REPO)",
+        "buildername=Build-Debian9-Clang-x86_64-Release-Chromebook_GLES",
+        "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-Debian9-Clang-x86_64-Release-Fast": {
       "cipd_packages": [
         {
@@ -7398,7 +7504,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_303C12-GPU-MaliT604-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7431,7 +7537,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_303C12-GPU-MaliT604-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7464,7 +7570,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7497,7 +7603,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7530,7 +7636,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7563,7 +7669,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7596,7 +7702,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7629,7 +7735,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7662,7 +7768,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7695,7 +7801,7 @@
     },
     "Perf-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -7726,6 +7832,72 @@
       "max_attempts": 1,
       "priority": 0.8
     },
+    "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All": {
+      "dependencies": [
+        "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES",
+        "Housekeeper-PerCommit-BundleRecipes",
+        "Housekeeper-PerCommit-IsolateSKP",
+        "Housekeeper-PerCommit-IsolateSVG",
+        "Housekeeper-PerCommit-IsolateSkImage"
+      ],
+      "dimensions": [
+        "gpu:IntelHDGraphics615",
+        "os:ChromeOS",
+        "pool:Skia"
+      ],
+      "execution_timeout_ns": 14400000000000,
+      "expiration_ns": 72000000000000,
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "perf",
+        "repository=<(REPO)",
+        "buildername=Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All",
+        "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_unix.isolate",
+      "max_attempts": 1,
+      "priority": 0.8
+    },
+    "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All": {
+      "dependencies": [
+        "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES",
+        "Housekeeper-PerCommit-BundleRecipes",
+        "Housekeeper-PerCommit-IsolateSKP",
+        "Housekeeper-PerCommit-IsolateSVG",
+        "Housekeeper-PerCommit-IsolateSkImage"
+      ],
+      "dimensions": [
+        "gpu:IntelHDGraphics615",
+        "os:ChromeOS",
+        "pool:Skia"
+      ],
+      "execution_timeout_ns": 14400000000000,
+      "expiration_ns": 72000000000000,
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "perf",
+        "repository=<(REPO)",
+        "buildername=Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All",
+        "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_unix.isolate",
+      "max_attempts": 1,
+      "priority": 0.8
+    },
     "Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All": {
       "dependencies": [
         "Build-Debian9-GCC-arm-Debug-Chromecast",
@@ -15031,7 +15203,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_303C12-GPU-MaliT604-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15064,7 +15236,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_303C12-GPU-MaliT604-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15097,7 +15269,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15130,7 +15302,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_513C24_K01-GPU-MaliT860-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15163,7 +15335,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15196,7 +15368,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15229,7 +15401,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15262,7 +15434,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15295,7 +15467,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Debug-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Debug-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Debug-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15328,7 +15500,7 @@
     },
     "Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release-All": {
       "dependencies": [
-        "Build-Debian9-Clang-arm-Release-Chromebook_ARM_GLES",
+        "Build-Debian9-Clang-arm-Release-Chromebook_GLES",
         "Housekeeper-PerCommit-BundleRecipes",
         "Housekeeper-PerCommit-IsolateSKP",
         "Housekeeper-PerCommit-IsolateSVG",
@@ -15359,6 +15531,72 @@
       "max_attempts": 1,
       "priority": 0.8
     },
+    "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All": {
+      "dependencies": [
+        "Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES",
+        "Housekeeper-PerCommit-BundleRecipes",
+        "Housekeeper-PerCommit-IsolateSKP",
+        "Housekeeper-PerCommit-IsolateSVG",
+        "Housekeeper-PerCommit-IsolateSkImage"
+      ],
+      "dimensions": [
+        "gpu:IntelHDGraphics615",
+        "os:ChromeOS",
+        "pool:Skia"
+      ],
+      "execution_timeout_ns": 14400000000000,
+      "expiration_ns": 72000000000000,
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "test",
+        "repository=<(REPO)",
+        "buildername=Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All",
+        "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_unix.isolate",
+      "max_attempts": 1,
+      "priority": 0.8
+    },
+    "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All": {
+      "dependencies": [
+        "Build-Debian9-Clang-x86_64-Release-Chromebook_GLES",
+        "Housekeeper-PerCommit-BundleRecipes",
+        "Housekeeper-PerCommit-IsolateSKP",
+        "Housekeeper-PerCommit-IsolateSVG",
+        "Housekeeper-PerCommit-IsolateSkImage"
+      ],
+      "dimensions": [
+        "gpu:IntelHDGraphics615",
+        "os:ChromeOS",
+        "pool:Skia"
+      ],
+      "execution_timeout_ns": 14400000000000,
+      "expiration_ns": 72000000000000,
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "test",
+        "repository=<(REPO)",
+        "buildername=Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All",
+        "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_unix.isolate",
+      "max_attempts": 1,
+      "priority": 0.8
+    },
     "Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All": {
       "dependencies": [
         "Build-Debian9-GCC-arm-Debug-Chromecast",
@@ -24116,6 +24354,33 @@
       "isolate": "upload_nano_results.isolate",
       "priority": 0.8
     },
+    "Upload-Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All": {
+      "dependencies": [
+        "Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All"
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "upload_nano_results",
+        "repository=<(REPO)",
+        "buildername=Perf-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All",
+        "swarm_out_dir=${ISOLATED_OUTDIR}",
+        "revision=<(REVISION)",
+        "patch_repo=<(PATCH_REPO)",
+        "patch_storage=<(PATCH_STORAGE)",
+        "patch_issue=<(ISSUE)",
+        "patch_set=<(PATCHSET)",
+        "gs_bucket=skia-perf"
+      ],
+      "isolate": "upload_nano_results.isolate",
+      "priority": 0.8
+    },
     "Upload-Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release-All": {
       "dependencies": [
         "Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release-All"
@@ -26951,6 +27216,60 @@
       "isolate": "upload_dm_results.isolate",
       "priority": 0.8
     },
+    "Upload-Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All": {
+      "dependencies": [
+        "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All"
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "upload_dm_results",
+        "repository=<(REPO)",
+        "buildername=Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Debug-All",
+        "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-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All": {
+      "dependencies": [
+        "Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All"
+      ],
+      "dimensions": [
+        "cpu:x86-64-Haswell_GCE",
+        "gpu:none",
+        "os:Debian-9.1",
+        "pool:Skia"
+      ],
+      "extra_args": [
+        "--workdir",
+        "../../..",
+        "upload_dm_results",
+        "repository=<(REPO)",
+        "buildername=Test-ChromeOS-Clang-Pixelbook-GPU-IntelHDGraphics615-x86_64-Release-All",
+        "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-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All": {
       "dependencies": [
         "Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug-All"
diff --git a/tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp b/tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp
index c006098..74cadfc 100644
--- a/tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp
+++ b/tools/gpu/gl/egl/CreatePlatformGLTestContext_egl.cpp
@@ -246,6 +246,9 @@
         return 0;
     }
     GrGLuint texID;
+    // TODO(kjlubick): Migrate away from using the #define hackery by using the
+    // function pointers directly, e.g.
+    // this->gl()->fFunctions.fGenTextures(1, &texID);
     glGenTextures(1, &texID);
     if (!texID) {
         return 0;