Home | History | Annotate | Download | only in gles2
      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_OpenGLES2VertexArrayObject* GL_APIENTRY
     53     glGetVertexArrayObjectInterfacePPAPI(void);
     54 GL_APICALL const struct PPB_OpenGLES2DrawBuffers_Dev* GL_APIENTRY
     55     glGetDrawBuffersInterfacePPAPI(void);
     56 
     57 #ifdef __cplusplus
     58 }
     59 #endif  // __cplusplus
     60 
     61 #endif  // PPAPI_LIB_GL_GLES2_GL2EXT_PPAPI_H_
     62 
     63