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 53 #ifdef __cplusplus 54 } 55 #endif // __cplusplus 56 57 #endif // PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_ 58 59