Index: tools/skiaserve/Request.cpp |
diff --git a/tools/skiaserve/Request.cpp b/tools/skiaserve/Request.cpp |
index 97719e2bd2ad7905d2bd96dbbea05f00d01014e5..c3eaaff387a3f90e45b497876372c26f87c05401 100644 |
--- a/tools/skiaserve/Request.cpp |
+++ b/tools/skiaserve/Request.cpp |
@@ -71,8 +71,14 @@ SkCanvas* Request::getCanvas() { |
#if SK_SUPPORT_GPU |
GrContextFactory* factory = fContextFactory; |
GLTestContext* gl = factory->getContextInfo(GrContextFactory::kNativeGL_ContextType, |
- GrContextFactory::kNone_ContextOptions).glContext(); |
- gl->makeCurrent(); |
+ GrContextFactory::kNone_ContextOptions).glContext(); |
+ if (!gl) { |
+ gl = factory->getContextInfo(GrContextFactory::kMESA_ContextType, |
+ GrContextFactory::kNone_ContextOptions).glContext(); |
+ } |
+ if (gl) { |
+ gl->makeCurrent(); |
+ } |
#endif |
SkASSERT(fDebugCanvas); |
@@ -115,10 +121,15 @@ SkData* Request::writeOutSkp() { |
GrContext* Request::getContext() { |
#if SK_SUPPORT_GPU |
- return fContextFactory->get(GrContextFactory::kNativeGL_ContextType, |
- GrContextFactory::kNone_ContextOptions); |
+ GrContext* result = fContextFactory->get(GrContextFactory::kNativeGL_ContextType, |
+ GrContextFactory::kNone_ContextOptions); |
+ if (!result) { |
+ result = fContextFactory->get(GrContextFactory::kMESA_ContextType, |
+ GrContextFactory::kNone_ContextOptions); |
+ } |
+ return result; |
#else |
- return nullptr; |
+ return nullptr; |
#endif |
} |