Index: dm/DMBenchTask.cpp |
diff --git a/dm/DMBenchTask.cpp b/dm/DMBenchTask.cpp |
index 917e8612743c95f00cfe8e2188c8997a3c22f1ef..3b5e6d282987a46f71901f66cc4e114996b184a9 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 forcedGpuApi, |
int sampleCount) |
: GpuTask(reporter, tasks) |
, fBench(factory(NULL)) |
, fName(bench_name(fBench->getName(), config)) |
, fContextType(contextType) |
+ , fForcedGpuApi(forcedGpuApi) |
, fSampleCount(sampleCount) {} |
bool NonRenderingBenchTask::shouldSkip() const { |
@@ -75,8 +77,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, fForcedGpuApi, info, |
+ fSampleCount)); |
+ if (!surface) { |
+ this->fail("Could not create context for the config and the api."); |
+ return; |
+ } |
fBench->preDraw(); |
fBench->draw(1, surface->getCanvas()); |
fBench->postDraw(); |