Revert "Revert "Revert "Revert "Don't build GL on Metal, Vulkan, Dawn, Direct3D bots""""

Updated to use sentinel GL context even when GL backend is not built.

This reverts commit 1171d314efc7e131b039c94126d26575cfb9e70c.

Change-Id: Ia94bbe4865ddd4e898446c13886877c539f0eb0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277976
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/tools/gpu/GrContextFactory.cpp b/tools/gpu/GrContextFactory.cpp
index d89314e..de0cd19 100644
--- a/tools/gpu/GrContextFactory.cpp
+++ b/tools/gpu/GrContextFactory.cpp
@@ -224,17 +224,17 @@
                 return ContextInfo();
             }
 
-#ifdef SK_GL
-            // There is some bug (either in Skia or the NV Vulkan driver) where VkDevice
-            // destruction will hang occaisonally. For some reason having an existing GL
-            // context fixes this.
+            // We previously had an issue where the VkDevice destruction would occasionally hang
+            // on systems with NVIDIA GPUs and having an existing GL context fixed it. Now (March
+            // 2020) we still need the GL context to keep Vulkan/TSAN bots from running incredibly
+            // slow. Perhaps this prevents repeated driver loading/unloading? Note that keeping
+            // a persistent VkTestContext around instead was tried and did not work.
             if (!fSentinelGLContext) {
                 fSentinelGLContext.reset(CreatePlatformGLTestContext(kGL_GrGLStandard));
                 if (!fSentinelGLContext) {
                     fSentinelGLContext.reset(CreatePlatformGLTestContext(kGLES_GrGLStandard));
                 }
             }
-#endif
             break;
         }
 #endif