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"
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);
61 #endif // PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_