Add entry point for passing options to the GrContextFactory
R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/465073002
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index a5353aa..3522c4a 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;
+ SkAutoTDelete<GrContextFactory> gGrFactory;
#endif
__SK_FORCE_IMAGE_DECODER_LINKING;
@@ -288,7 +288,7 @@
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 @@
}
#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,10 @@
SetupCrashHandler();
SkAutoGraphics ag;
+#if SK_SUPPORT_GPU
+ gGrFactory.reset(SkNEW_ARGS(GrContextFactory, (GrContext::Options())));
+#endif
+
if (kAutoTuneLoops != FLAGS_loops) {
FLAGS_samples = 1;
FLAGS_gpuFrameLag = 0;
@@ -671,10 +675,10 @@
#if SK_SUPPORT_GPU
if (FLAGS_abandonGpuContext) {
- gGrFactory.abandonContexts();
+ gGrFactory->abandonContexts();
}
if (FLAGS_resetGpuContext || FLAGS_abandonGpuContext) {
- gGrFactory.destroyContexts();
+ gGrFactory->destroyContexts();
}
#endif
}