FuzzCanvas: NullGL & DebugGL
authorHal Canary <halcanary@google.com>
Tue, 21 Mar 2017 18:11:44 +0000 (11:11 -0700)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 21 Mar 2017 20:30:38 +0000 (20:30 +0000)
Change-Id: I369750c5614ee3b632ff33c82e04125e7c2dfefd
Reviewed-on: https://skia-review.googlesource.com/9942
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

fuzz/FuzzCanvas.cpp

index dc3338e..3b53339 100644 (file)
@@ -1786,6 +1786,16 @@ DEF_FUZZ(RasterN32Canvas, fuzz) {
 }
 
 #if SK_SUPPORT_GPU
+static void fuzz_ganesh(Fuzz* fuzz, GrContext* context) {
+    SkASSERT(context);
+    auto surface = SkSurface::MakeRenderTarget(
+            context,
+            SkBudgeted::kNo,
+            SkImageInfo::Make(kCanvasSize.width(), kCanvasSize.height(), kRGBA_8888_SkColorType, kPremul_SkAlphaType));
+    SkASSERT(surface && surface->getCanvas());
+    fuzz_canvas(fuzz, surface->getCanvas());
+}
+
 DEF_FUZZ(NativeGLCanvas, fuzz) {
     GrContext* context = sk_gpu_test::GrContextFactory().get(
             sk_gpu_test::GrContextFactory::kGL_ContextType);
@@ -1793,12 +1803,17 @@ DEF_FUZZ(NativeGLCanvas, fuzz) {
         context = sk_gpu_test::GrContextFactory().get(
                 sk_gpu_test::GrContextFactory::kGLES_ContextType);
     }
-    auto surface = SkSurface::MakeRenderTarget(
-            context,
-            SkBudgeted::kNo,
-            SkImageInfo::Make(kCanvasSize.width(), kCanvasSize.height(), kRGBA_8888_SkColorType, kPremul_SkAlphaType));
-    SkASSERT(surface && surface->getCanvas());
-    fuzz_canvas(fuzz, surface->getCanvas());
+    fuzz_ganesh(fuzz, context);
+}
+
+DEF_FUZZ(NullGLCanvas, fuzz) {
+    fuzz_ganesh(fuzz, sk_gpu_test::GrContextFactory().get(
+            sk_gpu_test::GrContextFactory::kNullGL_ContextType));
+}
+
+DEF_FUZZ(DebugGLCanvas, fuzz) {
+    fuzz_ganesh(fuzz, sk_gpu_test::GrContextFactory().get(
+            sk_gpu_test::GrContextFactory::kDebugGL_ContextType));
 }
 #endif