Chromium Code Reviews| Index: mojo/public/c/gpu/MGL/mgl.h |
| diff --git a/mojo/public/c/gpu/MGL/mgl.h b/mojo/public/c/gpu/MGL/mgl.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5c91b0a2a6eae656015adaeb97a115dd5eb164e6 |
| --- /dev/null |
| +++ b/mojo/public/c/gpu/MGL/mgl.h |
| @@ -0,0 +1,63 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef MOJO_PUBLIC_C_GPU_MGL_MGL_H_ |
| +#define MOJO_PUBLIC_C_GPU_MGL_MGL_H_ |
| + |
| +// Note: This header should be compilable as C. |
|
viettrungluu
2015/08/12 02:48:10
nit: I think I prefer this comment to be above the
|
| + |
| +#include <stdint.h> |
| + |
| +#include "mojo/public/c/environment/async_waiter.h" |
|
viettrungluu
2015/08/12 02:48:10
You don't actually need to include this here. <shr
|
| +#include "mojo/public/c/gpu/MGL/mgl_types.h" |
| +#include "mojo/public/c/system/types.h" |
| + |
| +#ifdef __cplusplus |
| +extern "C" { |
| +#endif |
| + |
| +typedef uint32_t MGLOpenGLAPIVersion; |
| + |
| +// OpenGL ES 2.0 |
| +#define MGL_API_VERSION_GLES2 ((MGLOpenGLAPIVersion)1) |
| +// OpenGL ES 3.0 |
| +#define MGL_API_VERSION_GLES3 ((MGLOpenGLAPIVersion)2) |
| +// OpenGL ES 3.1 |
| +#define MGL_API_VERSION_GLES31 ((MGLOpenGLAPIVersion)3) |
| + |
| +#define MGL_NO_CONTEXT ((MGLContext)0) |
| + |
| +// Creates a context at the given API version or returns MGL_NO_CONTEXT. |
| +// |command_buffer_handle| must be a command buffer message pipe handle from |
| +// the Gpu service or another source. The callee takes ownership of this |
| +// handle. |
| +// |share_group| specifies the share group to create this context in. |
| +// If this is MGL_NO_CONTEXT a new share group will be created for this context. |
| +// |lost_callback|, if not null, will be invoked when the context is lost. |
| +// |async_waiter| must be a pointer to a MojoAsyncWaiter implementation that is |
| +// usable from any thread the returned MGLContext will be used from |
| +// for as long as the context exists. |
| +MGLContext MGLCreateContext(MGLOpenGLAPIVersion version, |
| + MojoHandle command_buffer_handle, |
| + MGLContext share_group, |
| + MGLContextLostCallback lost_callback, |
| + void* lost_callback_closure, |
| + const struct MojoAsyncWaiter* async_waiter); |
| +void MGLDestroyContext(MGLContext context); |
| + |
| +// Makes |context| the current MGLContext for the calling thread. Calling with |
| +// MGL_NO_CONTEXT clears the current context. Returns 0 if successful, nonzero |
|
viettrungluu
2015/08/12 02:48:10
Do you really want to return 0 for success? Is the
|
| +// if an error was encountered. |
| +// If this does not return success the context is lost. |
|
viettrungluu
2015/08/12 02:48:10
Which context is lost? |context|?
Also, what happ
|
| +int MGLMakeCurrent(MGLContext context); |
| + |
| +// Returns the currently bound context for the calling thread or MGL_NO_CONTEXT |
| +// if there is none. |
| +MGLContext MGLGetCurrentContext(void); |
| + |
| +#ifdef __cplusplus |
| +} // extern "C" |
| +#endif |
| + |
| +#endif // MOJO_PUBLIC_C_GPU_MGL_MGL_H_ |