Index: tools/gpu/gl/command_buffer/GLContext_command_buffer.h |
diff --git a/tools/gpu/gl/command_buffer/GLContext_command_buffer.h b/tools/gpu/gl/command_buffer/GLContext_command_buffer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..73f02e2c784f970fdb919705c5e47f6193cddaa4 |
--- /dev/null |
+++ b/tools/gpu/gl/command_buffer/GLContext_command_buffer.h |
@@ -0,0 +1,68 @@ |
+ |
+/* |
+ * Copyright 2015 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef GLContext_command_buffer_DEFINED |
+#define GLContext_command_buffer_DEFINED |
+ |
+#include "gl/GLContext.h" |
+ |
+namespace sk_gpu_test { |
+class CommandBufferGLContext : public GLContext { |
+public: |
+ ~CommandBufferGLContext() override; |
+ |
+ static CommandBufferGLContext *Create() { |
+ CommandBufferGLContext *ctx = new CommandBufferGLContext; |
+ if (!ctx->isValid()) { |
+ delete ctx; |
+ return nullptr; |
+ } |
+ return ctx; |
+ } |
+ |
+ static CommandBufferGLContext *Create(void *nativeWindow, int msaaSampleCount) { |
+ CommandBufferGLContext *ctx = new CommandBufferGLContext(nativeWindow, msaaSampleCount); |
+ if (!ctx->isValid()) { |
+ delete ctx; |
+ return nullptr; |
+ } |
+ return ctx; |
+ } |
+ |
+ void presentCommandBuffer(); |
+ |
+ bool makeCurrent(); |
+ |
+ int getStencilBits(); |
+ |
+ int getSampleCount(); |
+ |
+private: |
+ CommandBufferGLContext(); |
+ |
+ CommandBufferGLContext(void *nativeWindow, int msaaSampleCount); |
+ |
+ void initializeGLContext(void *nativeWindow, const int *configAttribs, |
+ const int *surfaceAttribs); |
+ |
+ void destroyGLContext(); |
+ |
+ void onPlatformMakeCurrent() const override; |
+ |
+ void onPlatformSwapBuffers() const override; |
+ |
+ GrGLFuncPtr onPlatformGetProcAddress(const char *name) const override; |
+ |
+ void *fContext; |
+ void *fDisplay; |
+ void *fSurface; |
+ void *fConfig; |
+}; |
+} // namespace sk_gpu_test |
+ |
+#endif |