Reland "Add driver bug workarounds to GrCaps"
This is a reland of 328490c6a1625ce51d0e81688e0c85c79c400d86
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>
Bug: chromium: 829614
Change-Id: I7b539f99caa3032c8c595dd5068dc3b179747ccd
Reviewed-on: https://skia-review.googlesource.com/127304
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/include/gpu/GrContextOptions.h b/include/gpu/GrContextOptions.h
index 3a0fba1..eea7771 100644
--- a/include/gpu/GrContextOptions.h
+++ b/include/gpu/GrContextOptions.h
@@ -12,11 +12,13 @@
#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. */
@@ -239,6 +241,13 @@
*/
Enable fDistanceFieldGlyphVerticesAlwaysHaveW = Enable::kDefault;
#endif
+
+ GrDriverBugWorkarounds fDriverBugWorkarounds;
};
+#else
+struct GrContextOptions {
+ struct PersistentCache {};
+};
+#endif
#endif