| 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();
|
|
|