bsalomon | 3724e57 | 2016-03-30 18:56:19 -0700 | [diff] [blame] | 1 | |
| 2 | /* |
| 3 | * Copyright 2011 Google Inc. |
| 4 | * |
| 5 | * Use of this source code is governed by a BSD-style license that can be |
| 6 | * found in the LICENSE file. |
| 7 | */ |
| 8 | |
bsalomon | 273c0f5 | 2016-03-31 10:59:06 -0700 | [diff] [blame] | 9 | #include "NullGLTestContext.h" |
bsalomon | 3724e57 | 2016-03-30 18:56:19 -0700 | [diff] [blame] | 10 | #include "gl/GrGLTestInterface.h" |
| 11 | #include "gl/GrGLDefines.h" |
| 12 | #include "gl/GrGLInterface.h" |
| 13 | #include "gl/GrGLTypes.h" |
| 14 | #include "SkMutex.h" |
| 15 | #include "SkTDArray.h" |
| 16 | |
| 17 | namespace { |
bsalomon | 273c0f5 | 2016-03-31 10:59:06 -0700 | [diff] [blame] | 18 | class NullGLContext : public sk_gpu_test::GLTestContext { |
bsalomon | 3724e57 | 2016-03-30 18:56:19 -0700 | [diff] [blame] | 19 | public: |
bsalomon | 2f538e9 | 2016-04-01 09:04:35 -0700 | [diff] [blame] | 20 | NullGLContext() { this->init(GrGLCreateNullInterface()); } |
bsalomon | 3724e57 | 2016-03-30 18:56:19 -0700 | [diff] [blame] | 21 | ~NullGLContext() override { this->teardown(); } |
| 22 | |
| 23 | private: |
| 24 | void onPlatformMakeCurrent() const override {}; |
| 25 | void onPlatformSwapBuffers() const override {} |
| 26 | GrGLFuncPtr onPlatformGetProcAddress(const char*) const override { return nullptr; } |
| 27 | }; |
bsalomon | 2f538e9 | 2016-04-01 09:04:35 -0700 | [diff] [blame] | 28 | |
bsalomon | 3724e57 | 2016-03-30 18:56:19 -0700 | [diff] [blame] | 29 | } // anonymous namespace |
| 30 | |
| 31 | namespace sk_gpu_test { |
bsalomon | 273c0f5 | 2016-03-31 10:59:06 -0700 | [diff] [blame] | 32 | GLTestContext* CreateNullGLTestContext() { |
| 33 | GLTestContext* ctx = new NullGLContext(); |
bsalomon | 3724e57 | 2016-03-30 18:56:19 -0700 | [diff] [blame] | 34 | if (ctx->isValid()) { |
| 35 | return ctx; |
| 36 | } |
| 37 | delete ctx; |
| 38 | return nullptr; |
| 39 | } |
| 40 | } // namespace sk_gpu_test |
| 41 | |