Chromium Code Reviews| Index: bench/nanobench.cpp |
| diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp |
| index a5353aa6e845bf0717fe4432eb4340d0d5a246bd..ab7981ff63c48e1c157f2389614413028a0b0cf0 100644 |
| --- a/bench/nanobench.cpp |
| +++ b/bench/nanobench.cpp |
| @@ -26,7 +26,7 @@ |
| #if SK_SUPPORT_GPU |
| #include "gl/GrGLDefines.h" |
| #include "GrContextFactory.h" |
| - GrContextFactory gGrFactory; |
| + GrContextFactory* gGrFactory; |
| #endif |
|
bsalomon
2014/08/13 00:49:33
Maybe just make this the autotdelete? I think it h
krajcevski
2014/08/13 14:46:00
Done.
|
| __SK_FORCE_IMAGE_DECODER_LINKING; |
| @@ -288,7 +288,7 @@ static bool is_gpu_config_allowed(const char* name, GrContextFactory::GLContextT |
| if (!is_cpu_config_allowed(name)) { |
| return false; |
| } |
| - if (const GrContext* ctx = gGrFactory.get(ctxType)) { |
| + if (const GrContext* ctx = gGrFactory->get(ctxType)) { |
| return sampleCnt <= ctx->getMaxSampleCount(); |
| } |
| return false; |
| @@ -362,9 +362,9 @@ static Target* is_enabled(Benchmark* bench, const Config& config) { |
| } |
| #if SK_SUPPORT_GPU |
| else if (Benchmark::kGPU_Backend == config.backend) { |
| - target->surface.reset(SkSurface::NewRenderTarget(gGrFactory.get(config.ctxType), info, |
| + target->surface.reset(SkSurface::NewRenderTarget(gGrFactory->get(config.ctxType), info, |
| config.samples)); |
| - target->gl = gGrFactory.getGLContext(config.ctxType); |
| + target->gl = gGrFactory->getGLContext(config.ctxType); |
| } |
| #endif |
| @@ -528,6 +528,13 @@ int nanobench_main() { |
| SetupCrashHandler(); |
| SkAutoGraphics ag; |
| +#if SK_SUPPORT_GPU |
| + // Setup GrContextFactory |
| + SkAutoTDelete<GrContextFactory> gGrFactoryPtr; |
| + gGrFactoryPtr.reset(SkNEW_ARGS(GrContextFactory, (GrContext::Options()))); |
| + gGrFactory = gGrFactoryPtr.get(); |
| +#endif |
| + |
| if (kAutoTuneLoops != FLAGS_loops) { |
| FLAGS_samples = 1; |
| FLAGS_gpuFrameLag = 0; |
| @@ -671,10 +678,10 @@ int nanobench_main() { |
| #if SK_SUPPORT_GPU |
| if (FLAGS_abandonGpuContext) { |
| - gGrFactory.abandonContexts(); |
| + gGrFactory->abandonContexts(); |
| } |
| if (FLAGS_resetGpuContext || FLAGS_abandonGpuContext) { |
| - gGrFactory.destroyContexts(); |
| + gGrFactory->destroyContexts(); |
| } |
| #endif |
| } |