diff options
Diffstat (limited to 'fuzz/FuzzCanvas.cpp')
-rw-r--r-- | fuzz/FuzzCanvas.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/fuzz/FuzzCanvas.cpp b/fuzz/FuzzCanvas.cpp index b66e5187dd..7ca14d2223 100644 --- a/fuzz/FuzzCanvas.cpp +++ b/fuzz/FuzzCanvas.cpp @@ -61,16 +61,23 @@ #include "SkXfermodeImageFilter.h" // SRC +#include "SkCommandLineFlags.h" #include "SkUtils.h" #if SK_SUPPORT_GPU #include "GrContextFactory.h" +#include "GrContextPriv.h" +#include "gl/GrGLFunctions.h" +#include "gl/GrGLGpu.h" +#include "gl/GrGLUtil.h" #endif // MISC #include <iostream> +DEFINE_bool2(gpuInfo, g, false, "Display GPU information on relevant targets."); + // TODO: // SkTextBlob with Unicode // SkImage: more types @@ -1801,6 +1808,21 @@ DEF_FUZZ(SerializedImageFilter, fuzz) { } #if SK_SUPPORT_GPU + +static void dump_GPU_info(GrContext* context) { + const GrGLInterface* gl = static_cast<GrGLGpu*>(context->contextPriv().getGpu()) + ->glInterface(); + const GrGLubyte* output; + GR_GL_CALL_RET(gl, output, GetString(GR_GL_RENDERER)); + SkDebugf("GL_RENDERER %s\n", (const char*) output); + + GR_GL_CALL_RET(gl, output, GetString(GR_GL_VENDOR)); + SkDebugf("GL_VENDOR %s\n", (const char*) output); + + GR_GL_CALL_RET(gl, output, GetString(GR_GL_VERSION)); + SkDebugf("GL_VERSION %s\n", (const char*) output); +} + static void fuzz_ganesh(Fuzz* fuzz, GrContext* context) { SkASSERT(context); auto surface = SkSurface::MakeRenderTarget( @@ -1811,8 +1833,6 @@ static void fuzz_ganesh(Fuzz* fuzz, GrContext* context) { fuzz_canvas(fuzz, surface->getCanvas()); } -extern bool FLAGS_gpuInfo; - DEF_FUZZ(NativeGLCanvas, fuzz) { sk_gpu_test::GrContextFactory f; GrContext* context = f.get(sk_gpu_test::GrContextFactory::kGL_ContextType); @@ -1820,7 +1840,7 @@ DEF_FUZZ(NativeGLCanvas, fuzz) { context = f.get(sk_gpu_test::GrContextFactory::kGLES_ContextType); } if (FLAGS_gpuInfo) { - dumpGPUInfo(context); + dump_GPU_info(context); } fuzz_ganesh(fuzz, context); } |