| Index: bench/nanobench.cpp
|
| diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
|
| index 30eab5c3d81c9cbb24a866c2bd301ade12092e24..69f1c4f9885659b8c49b849273c629a62054e238 100644
|
| --- a/bench/nanobench.cpp
|
| +++ b/bench/nanobench.cpp
|
| @@ -58,7 +58,7 @@
|
| #include "GrContextFactory.h"
|
| #include "gl/GrGLUtil.h"
|
| using sk_gpu_test::GrContextFactory;
|
| - using sk_gpu_test::GLTestContext;
|
| + using sk_gpu_test::TestContext;
|
| SkAutoTDelete<GrContextFactory> gGrFactory;
|
| #endif
|
|
|
| @@ -157,26 +157,25 @@ bool Target::capturePixels(SkBitmap* bmp) {
|
|
|
| #if SK_SUPPORT_GPU
|
| struct GPUTarget : public Target {
|
| - explicit GPUTarget(const Config& c) : Target(c), gl(nullptr) { }
|
| - GLTestContext* gl;
|
| + explicit GPUTarget(const Config& c) : Target(c), context(nullptr) { }
|
| + TestContext* context;
|
|
|
| void setup() override {
|
| - this->gl->makeCurrent();
|
| + this->context->makeCurrent();
|
| // Make sure we're done with whatever came before.
|
| - GR_GL_CALL(this->gl->gl(), Finish());
|
| + this->context->finish();
|
| }
|
| void endTiming() override {
|
| - if (this->gl) {
|
| - GR_GL_CALL(this->gl->gl(), Flush());
|
| - this->gl->waitOnSyncOrSwap();
|
| + if (this->context) {
|
| + this->context->waitOnSyncOrSwap();
|
| }
|
| }
|
| void fence() override {
|
| - GR_GL_CALL(this->gl->gl(), Finish());
|
| + this->context->finish();
|
| }
|
|
|
| bool needsFrameTiming(int* maxFrameLag) const override {
|
| - if (!this->gl->getMaxGpuFrameLag(maxFrameLag)) {
|
| + if (!this->context->getMaxGpuFrameLag(maxFrameLag)) {
|
| // Frame lag is unknown.
|
| *maxFrameLag = FLAGS_gpuFrameLag;
|
| }
|
| @@ -190,12 +189,12 @@ struct GPUTarget : public Target {
|
| this->config.ctxOptions),
|
| SkBudgeted::kNo, info,
|
| this->config.samples, &props);
|
| - this->gl = gGrFactory->getContextInfo(this->config.ctxType,
|
| - this->config.ctxOptions).glContext();
|
| + this->context = gGrFactory->getContextInfo(this->config.ctxType,
|
| + this->config.ctxOptions).testContext();
|
| if (!this->surface.get()) {
|
| return false;
|
| }
|
| - if (!this->gl->fenceSyncSupport()) {
|
| + if (!this->context->fenceSyncSupport()) {
|
| SkDebugf("WARNING: GL context for config \"%s\" does not support fence sync. "
|
| "Timings might not be accurate.\n", this->config.name.c_str());
|
| }
|
| @@ -203,17 +202,21 @@ struct GPUTarget : public Target {
|
| }
|
| void fillOptions(ResultsWriter* log) override {
|
| const GrGLubyte* version;
|
| - GR_GL_CALL_RET(this->gl->gl(), version, GetString(GR_GL_VERSION));
|
| - log->configOption("GL_VERSION", (const char*)(version));
|
| + if (this->context->backend() == kOpenGL_GrBackend) {
|
| + const GrGLInterface* gl =
|
| + reinterpret_cast<const GrGLInterface*>(this->context->backendContext());
|
| + GR_GL_CALL_RET(gl, version, GetString(GR_GL_VERSION));
|
| + log->configOption("GL_VERSION", (const char*)(version));
|
|
|
| - GR_GL_CALL_RET(this->gl->gl(), version, GetString(GR_GL_RENDERER));
|
| - log->configOption("GL_RENDERER", (const char*) version);
|
| + GR_GL_CALL_RET(gl, version, GetString(GR_GL_RENDERER));
|
| + log->configOption("GL_RENDERER", (const char*) version);
|
|
|
| - GR_GL_CALL_RET(this->gl->gl(), version, GetString(GR_GL_VENDOR));
|
| - log->configOption("GL_VENDOR", (const char*) version);
|
| + GR_GL_CALL_RET(gl, version, GetString(GR_GL_VENDOR));
|
| + log->configOption("GL_VENDOR", (const char*) version);
|
|
|
| - GR_GL_CALL_RET(this->gl->gl(), version, GetString(GR_GL_SHADING_LANGUAGE_VERSION));
|
| - log->configOption("GL_SHADING_LANGUAGE_VERSION", (const char*) version);
|
| + GR_GL_CALL_RET(gl, version, GetString(GR_GL_SHADING_LANGUAGE_VERSION));
|
| + log->configOption("GL_SHADING_LANGUAGE_VERSION", (const char*) version);
|
| + }
|
| }
|
| };
|
|
|
|
|