• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 // OpenGL ES 2.0 extensions for PPAPI.
6 
7 #ifndef PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_
8 #define PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_
9 
10 #include <GLES2/gl2platform.h>
11 
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"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif  // __cplusplus
20 
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);
26 
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);
30 
31 // Sets context to be used for rendering in the current thread.
32 GL_APICALL void GL_APIENTRY glSetCurrentContextPPAPI(PP_Resource context);
33 
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);
37 
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_OpenGLES2DrawBuffers_Dev* GL_APIENTRY
53     glGetDrawBuffersInterfacePPAPI(void);
54 
55 #ifdef __cplusplus
56 }
57 #endif  // __cplusplus
58 
59 #endif  // PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_
60 
61