NullGLTestContext.cpp revision b988ecf639f1394ea5e821ac15b989e25e064534
13724e574a744491b7cfb8187ac865a70ef3d4528bsalomon 23724e574a744491b7cfb8187ac865a70ef3d4528bsalomon/* 33724e574a744491b7cfb8187ac865a70ef3d4528bsalomon * Copyright 2011 Google Inc. 43724e574a744491b7cfb8187ac865a70ef3d4528bsalomon * 53724e574a744491b7cfb8187ac865a70ef3d4528bsalomon * Use of this source code is governed by a BSD-style license that can be 63724e574a744491b7cfb8187ac865a70ef3d4528bsalomon * found in the LICENSE file. 73724e574a744491b7cfb8187ac865a70ef3d4528bsalomon */ 83724e574a744491b7cfb8187ac865a70ef3d4528bsalomon 9273c0f5e87397c40d22bb7e3ee078bb46a3f6860bsalomon#include "NullGLTestContext.h" 103724e574a744491b7cfb8187ac865a70ef3d4528bsalomon#include "gl/GrGLTestInterface.h" 113724e574a744491b7cfb8187ac865a70ef3d4528bsalomon#include "gl/GrGLDefines.h" 123724e574a744491b7cfb8187ac865a70ef3d4528bsalomon#include "gl/GrGLInterface.h" 133724e574a744491b7cfb8187ac865a70ef3d4528bsalomon#include "gl/GrGLTypes.h" 143724e574a744491b7cfb8187ac865a70ef3d4528bsalomon#include "SkMutex.h" 153724e574a744491b7cfb8187ac865a70ef3d4528bsalomon#include "SkTDArray.h" 163724e574a744491b7cfb8187ac865a70ef3d4528bsalomon 173724e574a744491b7cfb8187ac865a70ef3d4528bsalomonnamespace { 18273c0f5e87397c40d22bb7e3ee078bb46a3f6860bsalomonclass NullGLContext : public sk_gpu_test::GLTestContext { 193724e574a744491b7cfb8187ac865a70ef3d4528bsalomonpublic: 20b988ecf639f1394ea5e821ac15b989e25e064534svaisanen NullGLContext(bool enableNVPR) { this->init(GrGLCreateNullInterface(enableNVPR)); } 213724e574a744491b7cfb8187ac865a70ef3d4528bsalomon ~NullGLContext() override { this->teardown(); } 223724e574a744491b7cfb8187ac865a70ef3d4528bsalomon 23b988ecf639f1394ea5e821ac15b989e25e064534svaisanenprivate: 243724e574a744491b7cfb8187ac865a70ef3d4528bsalomon void onPlatformMakeCurrent() const override {}; 253724e574a744491b7cfb8187ac865a70ef3d4528bsalomon void onPlatformSwapBuffers() const override {} 263724e574a744491b7cfb8187ac865a70ef3d4528bsalomon GrGLFuncPtr onPlatformGetProcAddress(const char*) const override { return nullptr; } 273724e574a744491b7cfb8187ac865a70ef3d4528bsalomon}; 282f538e91573ae3b263a5b7f61628c8485913ded1bsalomon 293724e574a744491b7cfb8187ac865a70ef3d4528bsalomon} // anonymous namespace 303724e574a744491b7cfb8187ac865a70ef3d4528bsalomon 313724e574a744491b7cfb8187ac865a70ef3d4528bsalomonnamespace sk_gpu_test { 32b988ecf639f1394ea5e821ac15b989e25e064534svaisanenGLTestContext* CreateNullGLTestContext(bool enableNVPR) { 33b988ecf639f1394ea5e821ac15b989e25e064534svaisanen GLTestContext* ctx = new NullGLContext(enableNVPR); 343724e574a744491b7cfb8187ac865a70ef3d4528bsalomon if (ctx->isValid()) { 353724e574a744491b7cfb8187ac865a70ef3d4528bsalomon return ctx; 363724e574a744491b7cfb8187ac865a70ef3d4528bsalomon } 373724e574a744491b7cfb8187ac865a70ef3d4528bsalomon delete ctx; 383724e574a744491b7cfb8187ac865a70ef3d4528bsalomon return nullptr; 393724e574a744491b7cfb8187ac865a70ef3d4528bsalomon} 403724e574a744491b7cfb8187ac865a70ef3d4528bsalomon} // namespace sk_gpu_test 413724e574a744491b7cfb8187ac865a70ef3d4528bsalomon 42