aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DM.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2016-12-05 11:35:07 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-05 18:30:46 +0000
commit287f6512f34d456b593ea030197925dfc5b15c65 (patch)
tree90b3e05666ec4d5cd1878204d9550f1988a4713c /dm/DM.cpp
parent91db12d89c214235e24599f3ec18df2f952e99eb (diff)
Add a context stack to Reporter, for better error messages
Currently, just inject the Ganesh context type when running unit tests. Obviously, we can use this to supply other contextual information around tests that do many variations of configs, formats, etc... BUG=skia: Change-Id: Iab96632a92ec632e4d132bbcc17a91a8dd251e78 Reviewed-on: https://skia-review.googlesource.com/5565 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'dm/DM.cpp')
-rw-r--r--dm/DM.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 0d39867ba6..ce45515ffb 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -1410,6 +1410,36 @@ bool IsRenderingGLContextType(sk_gpu_test::GrContextFactory::ContextType type) {
bool IsNullGLContextType(sk_gpu_test::GrContextFactory::ContextType type) {
return type == GrContextFactory::kNullGL_ContextType;
}
+const char* ContextTypeName(GrContextFactory::ContextType contextType) {
+ switch (contextType) {
+ case GrContextFactory::kGL_ContextType:
+ return "OpenGL";
+ case GrContextFactory::kGLES_ContextType:
+ return "OpenGLES";
+ case GrContextFactory::kANGLE_D3D9_ES2_ContextType:
+ return "ANGLE D3D9 ES2";
+ case GrContextFactory::kANGLE_D3D11_ES2_ContextType:
+ return "ANGLE D3D11 ES2";
+ case GrContextFactory::kANGLE_D3D11_ES3_ContextType:
+ return "ANGLE D3D11 ES3";
+ case GrContextFactory::kANGLE_GL_ES2_ContextType:
+ return "ANGLE GL ES2";
+ case GrContextFactory::kANGLE_GL_ES3_ContextType:
+ return "ANGLE GL ES3";
+ case GrContextFactory::kCommandBuffer_ContextType:
+ return "Command Buffer";
+ case GrContextFactory::kMESA_ContextType:
+ return "Mesa";
+ case GrContextFactory::kNullGL_ContextType:
+ return "Null GL";
+ case GrContextFactory::kDebugGL_ContextType:
+ return "Debug GL";
+ case GrContextFactory::kVulkan_ContextType:
+ return "Vulkan";
+ }
+ SkDEBUGFAIL("Unreachable");
+ return "Unknown";
+}
#else
bool IsGLContextType(int) { return false; }
bool IsVulkanContextType(int) { return false; }
@@ -1435,6 +1465,7 @@ void RunWithGPUTestContexts(GrContextTestFn* test, GrContextTypeFilterFn* contex
if (contextTypeFilter && !(*contextTypeFilter)(contextType)) {
continue;
}
+ ReporterContext ctx(reporter, SkString(ContextTypeName(contextType)));
if (ctxInfo.grContext()) {
(*test)(reporter, ctxInfo);
}