Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ppapi / lib / gl / gles2 / gl2ext_ppapi.h
blobc4769033286a40684a4ac7c01b48128bdf9a29ee
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // OpenGL ES 2.0 extensions for PPAPI.
7 #ifndef PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_
8 #define PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_
10 #include <GLES2/gl2platform.h>
12 #include "ppapi/c/pp_resource.h"
13 #include "ppapi/c/ppb.h"
14 #include "ppapi/c/ppb_opengles2.h"
15 #include "ppapi/c/dev/ppb_opengles2ext_dev.h"
17 #ifdef __cplusplus
18 extern "C" {
19 #endif // __cplusplus
21 // Initializes OpenGL ES 2.0 library.
22 // Must be called once before making any gl calls.
23 // GL_FALSE is returned on failure, GL_TRUE otherwise.
24 GL_APICALL GLboolean GL_APIENTRY glInitializePPAPI(
25 PPB_GetInterface get_browser_interface);
27 // Terminates OpenGL ES 2.0 library.
28 // GL_FALSE is returned on failure, GL_TRUE otherwise.
29 GL_APICALL GLboolean GL_APIENTRY glTerminatePPAPI(void);
31 // Sets context to be used for rendering in the current thread.
32 GL_APICALL void GL_APIENTRY glSetCurrentContextPPAPI(PP_Resource context);
34 // Gets context being used for rendering in the current thread.
35 // Returns NULL if a context has not been set yet.
36 GL_APICALL PP_Resource GL_APIENTRY glGetCurrentContextPPAPI(void);
38 // Returns OpenGL ES 2.0 interface.
39 GL_APICALL const struct PPB_OpenGLES2* GL_APIENTRY glGetInterfacePPAPI(void);
40 GL_APICALL const struct PPB_OpenGLES2InstancedArrays* GL_APIENTRY
41 glGetInstancedArraysInterfacePPAPI(void);
42 GL_APICALL const struct PPB_OpenGLES2FramebufferBlit* GL_APIENTRY
43 glGetFramebufferBlitInterfacePPAPI(void);
44 GL_APICALL const struct PPB_OpenGLES2FramebufferMultisample* GL_APIENTRY
45 glGetFramebufferMultisampleInterfacePPAPI(void);
46 GL_APICALL const struct PPB_OpenGLES2ChromiumEnableFeature* GL_APIENTRY
47 glGetChromiumEnableFeatureInterfacePPAPI(void);
48 GL_APICALL const struct PPB_OpenGLES2ChromiumMapSub* GL_APIENTRY
49 glGetChromiumMapSubInterfacePPAPI(void);
50 GL_APICALL const struct PPB_OpenGLES2Query* GL_APIENTRY
51 glGetQueryInterfacePPAPI(void);
52 GL_APICALL const struct PPB_OpenGLES2VertexArrayObject* GL_APIENTRY
53 glGetVertexArrayObjectInterfacePPAPI(void);
54 GL_APICALL const struct PPB_OpenGLES2DrawBuffers_Dev* GL_APIENTRY
55 glGetDrawBuffersInterfacePPAPI(void);
57 #ifdef __cplusplus
59 #endif // __cplusplus
61 #endif // PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_