Index: dm/DMBenchTask.cpp |
diff --git a/dm/DMBenchTask.cpp b/dm/DMBenchTask.cpp |
index 7cd2fdcb03d89fd5d7d1652842a070adcd95ef93..9bdbbf29744c0f1d08943ebd75b9d6f7ff47008d 100644 |
--- a/dm/DMBenchTask.cpp |
+++ b/dm/DMBenchTask.cpp |
@@ -33,11 +33,13 @@ GpuBenchTask::GpuBenchTask(const char* config, |
TaskRunner* tasks, |
BenchRegistry::Factory factory, |
GrContextFactory::GLContextType contextType, |
+ GrGLStandard gpuAPI, |
int sampleCount) |
: GpuTask(reporter, tasks) |
, fBench(factory(NULL)) |
, fName(bench_name(fBench->getName(), config)) |
, fContextType(contextType) |
+ , fGpuAPI(gpuAPI) |
, fSampleCount(sampleCount) {} |
bool NonRenderingBenchTask::shouldSkip() const { |
@@ -74,8 +76,12 @@ void GpuBenchTask::draw(GrContextFactory* grFactory) { |
fBench->getSize().y(), |
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; |
+ } |
fBench->preDraw(); |
fBench->draw(1, surface->getCanvas()); |
} |