Revert "Add driver bug workarounds to GrCaps"

This reverts commit 328490c6a1625ce51d0e81688e0c85c79c400d86.

Reason for revert: Breaking compiles inside chrome

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: I3b35bf65a7b78d2fe16d7c2bcd0e4b3f9bb7fdff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium: 829614
Reviewed-on: https://skia-review.googlesource.com/127303
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 83146bb..66dac2c 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -839,7 +839,7 @@
 
     # see comments in skia_compile_processors about out dir path shenanigans.
     output_file =
-        rebase_path("include/gpu/GrDriverBugWorkaroundsAutogen.h", root_out_dir)
+        rebase_path("src/gpu/GrDriverBugWorkaroundsAutogen.h", root_out_dir)
 
     outputs = [
       "$root_out_dir/$output_file",
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index efb0b3b..5c8ab96 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -1608,11 +1608,9 @@
     // Also, force us to only use the software path renderer, so we really stress-test the threaded
     // version of that code.
     GrContextOptions contextOptions = this->baseContextOptions();
-#if SK_SUPPORT_GPU
     contextOptions.fGpuPathRenderers = GpuPathRenderers::kNone;
-    contextOptions.fExecutor = fExecutor.get();
-#endif
 
+    contextOptions.fExecutor = fExecutor.get();
     Error err = this->onDraw(src, dst, wStream, log, contextOptions);
     if (!err.isEmpty() || !dst) {
         return err;
@@ -1621,9 +1619,7 @@
     SkBitmap reference;
     SkString refLog;
     SkDynamicMemoryWStream refStream;
-#if SK_SUPPORT_GPU
     contextOptions.fExecutor = nullptr;
-#endif
     Error refErr = this->onDraw(src, &reference, &refStream, &refLog, contextOptions);
     if (!refErr.isEmpty()) {
         return refErr;
diff --git a/gn/gpu.gni b/gn/gpu.gni
index 9129008..8b79484 100644
--- a/gn/gpu.gni
+++ b/gn/gpu.gni
@@ -15,7 +15,6 @@
   "$_include/gpu/GrConfig.h",
   "$_include/gpu/GrContextOptions.h",
   "$_include/gpu/GrContext.h",
-  "$_include/gpu/GrDriverBugWorkarounds.h",
   "$_include/gpu/GrGpuResource.h",
   "$_include/gpu/GrRenderTarget.h",
   "$_include/gpu/GrResourceKey.h",
@@ -88,6 +87,7 @@
   "$_src/gpu/GrDrawOpTest.cpp",
   "$_src/gpu/GrDrawOpTest.h",
   "$_src/gpu/GrDriverBugWorkarounds.cpp",
+  "$_src/gpu/GrDriverBugWorkarounds.h",
   "$_src/gpu/GrFixedClip.cpp",
   "$_src/gpu/GrFixedClip.h",
   "$_src/gpu/GrFragmentProcessor.cpp",
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h
index 7d77bda..0e81e23 100644
--- a/include/gpu/GrCaps.h
+++ b/include/gpu/GrCaps.h
@@ -10,7 +10,6 @@
 
 #include "../private/GrTypesPriv.h"
 #include "GrBlend.h"
-#include "GrDriverBugWorkarounds.h"
 #include "GrShaderCaps.h"
 #include "SkImageInfo.h"
 #include "SkRefCnt.h"
@@ -341,8 +340,6 @@
     bool fSuppressPrints : 1;
     bool fWireframeMode  : 1;
 
-    GrDriverBugWorkarounds fDriverBugWorkarounds;
-
     typedef SkRefCnt INHERITED;
 };
 
diff --git a/include/gpu/GrContextOptions.h b/include/gpu/GrContextOptions.h
index eea7771..3a0fba1 100644
--- a/include/gpu/GrContextOptions.h
+++ b/include/gpu/GrContextOptions.h
@@ -12,13 +12,11 @@
 #include "SkTypes.h"
 #include "GrTypes.h"
 #include "../private/GrTypesPriv.h"
-#include "GrDriverBugWorkarounds.h"
 
 #include <vector>
 
 class SkExecutor;
 
-#if SK_SUPPORT_GPU
 struct GrContextOptions {
     enum class Enable {
         /** Forces an option to be disabled. */
@@ -241,13 +239,6 @@
      */
     Enable fDistanceFieldGlyphVerticesAlwaysHaveW = Enable::kDefault;
 #endif
-
-    GrDriverBugWorkarounds fDriverBugWorkarounds;
 };
-#else
-struct GrContextOptions {
-    struct PersistentCache {};
-};
-#endif
 
 #endif
diff --git a/src/gpu/GrCaps.cpp b/src/gpu/GrCaps.cpp
index 42d3d4c..0507a3f 100644
--- a/src/gpu/GrCaps.cpp
+++ b/src/gpu/GrCaps.cpp
@@ -94,8 +94,6 @@
     fAvoidStencilBuffers = false;
 
     fPreferVRAMUseOverFlushes = true;
-
-    fDriverBugWorkarounds = options.fDriverBugWorkarounds;
 }
 
 void GrCaps::applyOptionsOverrides(const GrContextOptions& options) {
@@ -125,8 +123,6 @@
         fMaxWindowRectangles = GrWindowRectangles::kMaxWindows;
     }
     fAvoidStencilBuffers = options.fAvoidStencilBuffers;
-
-    fDriverBugWorkarounds.applyOverrides(options.fDriverBugWorkarounds);
 }
 
 static SkString map_flags_to_string(uint32_t flags) {
diff --git a/src/gpu/GrDriverBugWorkarounds.cpp b/src/gpu/GrDriverBugWorkarounds.cpp
index a1f27a3..5ed9d8d 100644
--- a/src/gpu/GrDriverBugWorkarounds.cpp
+++ b/src/gpu/GrDriverBugWorkarounds.cpp
@@ -29,13 +29,4 @@
     }
 }
 
-void GrDriverBugWorkarounds::applyOverrides(
-        const GrDriverBugWorkarounds& workarounds) {
-#define GPU_OP(type, name) \
-    name |= workarounds.name;
-
-    GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)
-#undef GPU_OP
-}
-
 GrDriverBugWorkarounds::~GrDriverBugWorkarounds() = default;
diff --git a/include/gpu/GrDriverBugWorkarounds.h b/src/gpu/GrDriverBugWorkarounds.h
similarity index 78%
rename from include/gpu/GrDriverBugWorkarounds.h
rename to src/gpu/GrDriverBugWorkarounds.h
index 31f6df5..bca5dc9 100644
--- a/include/gpu/GrDriverBugWorkarounds.h
+++ b/src/gpu/GrDriverBugWorkarounds.h
@@ -19,8 +19,6 @@
 #include "GrDriverBugWorkaroundsAutogen.h"
 #endif
 
-#include "SkTypes.h"
-
 #include <stdint.h>
 #include <vector>
 
@@ -31,16 +29,11 @@
   NUMBER_OF_GPU_DRIVER_BUG_WORKAROUND_TYPES
 };
 
-class SK_API GrDriverBugWorkarounds {
+class GrDriverBugWorkarounds {
  public:
   GrDriverBugWorkarounds();
   explicit GrDriverBugWorkarounds(const std::vector<int32_t>& workarounds);
 
-  GrDriverBugWorkarounds& operator=(const GrDriverBugWorkarounds&) = default;
-
-  // Turn on any workarounds listed in |workarounds| (but don't turn any off).
-  void applyOverrides(const GrDriverBugWorkarounds& workarounds);
-
   ~GrDriverBugWorkarounds();
 
 #define GPU_OP(type, name) bool name = false;
diff --git a/include/gpu/GrDriverBugWorkaroundsAutogen.h b/src/gpu/GrDriverBugWorkaroundsAutogen.h
similarity index 100%
rename from include/gpu/GrDriverBugWorkaroundsAutogen.h
rename to src/gpu/GrDriverBugWorkaroundsAutogen.h