| 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..2633976ddbdcc82f3cc8147df3e14cd8e036320f
|
| --- /dev/null
|
| +++ b/mojo/public/c/gpu/MGL/mgl.h
|
| @@ -0,0 +1,62 @@
|
| +// 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.
|
| +
|
| +// Note: This header should be compilable as C.
|
| +
|
| +#ifndef MOJO_PUBLIC_C_GPU_MGL_MGL_H_
|
| +#define MOJO_PUBLIC_C_GPU_MGL_MGL_H_
|
| +
|
| +#include <stdint.h>
|
| +
|
| +#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)
|
| +
|
| +struct MojoAsyncWaiter;
|
| +
|
| +// 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.
|
| +void 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_
|
|
|