diff options
author | Kevin Lubick <kjlubick@google.com> | 2018-06-05 17:21:30 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-06 18:23:24 +0000 |
commit | fe6b48948cac8b0f8f7185a77c2e6c0d797764a6 (patch) | |
tree | 736f5081e987476be6709e8dd5918d06c76eb918 /fuzz/FuzzCommon.h | |
parent | 41f4f31cd7dadd1123600c38faa8fef6bd7fb29c (diff) |
Add Dockerfile for building and running local Skia checkout with SwiftShader
This also adds a little helper to fuzz that allows us to see what
GPU is being targeted.
This is the first step in getting a SwiftShader fuzz target.
To prove that this works, simply download this patch and run:
./docker/skia-with-swift-shader-base/build-with-swift-shader-and-run "out/with-swift-shader/fuzz --gpuInfo -t api -n NativeGLCanvas -b out/with-swift-shader/fiddle"
Running supplied command ['out/with-swift-shader/fuzz', '--gpuInfo', '-t', 'api', '-n', 'NativeGLCanvas', '-b', 'out/with-swift-shader/fiddle']
Fuzzing NativeGLCanvas...
GL_RENDERER Google SwiftShader
GL_VENDOR Google Inc.
GL_VERSION OpenGL ES 3.0 SwiftShader 4.0.0.6
Bug: skia:
Change-Id: I3cc11a6bcd14f70f6025011722f9a73c94cb1f65
Reviewed-on: https://skia-review.googlesource.com/132269
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Diffstat (limited to 'fuzz/FuzzCommon.h')
-rw-r--r-- | fuzz/FuzzCommon.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/fuzz/FuzzCommon.h b/fuzz/FuzzCommon.h index 7615fe723e..9435b43552 100644 --- a/fuzz/FuzzCommon.h +++ b/fuzz/FuzzCommon.h @@ -12,6 +12,30 @@ #include "SkPath.h" #include "SkRegion.h" + +#if SK_SUPPORT_GPU +#include "GrContextFactory.h" +#include "gl/GrGLFunctions.h" +#include "gl/GrGLGpu.h" +#include "gl/GrGLUtil.h" +#include "GrContextPriv.h" + +inline void dumpGPUInfo(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); +} + +#endif + // We don't always want to test NaNs and infinities. static inline void fuzz_nice_float(Fuzz* fuzz, float* f) { float v; @@ -60,3 +84,4 @@ void FuzzPath(Fuzz* fuzz, SkPath* path, int maxOps); void BuildPath(Fuzz* fuzz, SkPath* path, int last_verb); #endif + |