Index: dm/DMGpuGMTask.cpp |
diff --git a/dm/DMGpuGMTask.cpp b/dm/DMGpuGMTask.cpp |
index b384485e4c268eea64bb02ecb85cc2fdaa3f342a..4c44fae970315a3ce71744660c44a0706a671f66 100644 |
--- a/dm/DMGpuGMTask.cpp |
+++ b/dm/DMGpuGMTask.cpp |
@@ -15,12 +15,14 @@ GpuGMTask::GpuGMTask(const char* config, |
skiagm::GMRegistry::Factory gmFactory, |
const Expectations& expectations, |
GrContextFactory::GLContextType contextType, |
+ GrGLStandard gpuAPI, |
int sampleCount) |
: GpuTask(reporter, taskRunner) |
, fGM(gmFactory(NULL)) |
, fName(UnderJoin(fGM->getName(), config)) |
, fExpectations(expectations) |
, fContextType(contextType) |
+ , fGpuAPI(gpuAPI) |
, fSampleCount(sampleCount) |
{} |
@@ -29,7 +31,12 @@ void GpuGMTask::draw(GrContextFactory* grFactory) { |
SkScalarCeilToInt(fGM->height()), |
kN32_SkColorType, |
kPremul_SkAlphaType); |
- SkAutoTUnref<SkSurface> surface(NewGpuSurface(grFactory, fContextType, info, fSampleCount)); |
+ SkAutoTUnref<SkSurface> surface(NewGpuSurface(grFactory, fContextType, fGpuAPI, info, |
+ fSampleCount)); |
+ if (!surface) { |
+ this->fail("Could not create context for the config and the api."); |
+ return; |
+ } |
SkCanvas* canvas = surface->getCanvas(); |
canvas->concat(fGM->getInitialTransform()); |