| /* Copyright 2014 The Chromium Authors. All rights reserved. | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. */ | 
 |  | 
 | /* From ppb_opengles2.idl modified Fri Sep  5 14:52:51 2014. */ | 
 |  | 
 | #ifndef PPAPI_C_PPB_OPENGLES2_H_ | 
 | #define PPAPI_C_PPB_OPENGLES2_H_ | 
 |  | 
 | #include "ppapi/c/pp_macros.h" | 
 | #include "ppapi/c/pp_resource.h" | 
 | #include "ppapi/c/pp_stdint.h" | 
 |  | 
 | #define PPB_OPENGLES2_INTERFACE_1_0 "PPB_OpenGLES2;1.0" | 
 | #define PPB_OPENGLES2_INTERFACE PPB_OPENGLES2_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0 \ | 
 |     "PPB_OpenGLES2InstancedArrays;1.0" | 
 | #define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE \ | 
 |     PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0 \ | 
 |     "PPB_OpenGLES2FramebufferBlit;1.0" | 
 | #define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE \ | 
 |     PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0 \ | 
 |     "PPB_OpenGLES2FramebufferMultisample;1.0" | 
 | #define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE \ | 
 |     PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0 \ | 
 |     "PPB_OpenGLES2ChromiumEnableFeature;1.0" | 
 | #define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE \ | 
 |     PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0 \ | 
 |     "PPB_OpenGLES2ChromiumMapSub;1.0" | 
 | #define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE \ | 
 |     PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_QUERY_INTERFACE_1_0 "PPB_OpenGLES2Query;1.0" | 
 | #define PPB_OPENGLES2_QUERY_INTERFACE PPB_OPENGLES2_QUERY_INTERFACE_1_0 | 
 |  | 
 | #define PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE_1_0 \ | 
 |     "PPB_OpenGLES2VertexArrayObject;1.0" | 
 | #define PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE \ | 
 |     PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE_1_0 | 
 |  | 
 | /** | 
 |  * @file | 
 |  * This file is auto-generated from | 
 |  * gpu/command_buffer/build_gles2_cmd_buffer.py | 
 |  * It's formatted by clang-format using chromium coding style: | 
 |  *    clang-format -i -style=chromium filename | 
 |  * DO NOT EDIT! */ | 
 |  | 
 |  | 
 | #include "ppapi/c/pp_resource.h" | 
 |  | 
 | #ifndef __gl2_h_ | 
 | typedef void GLvoid; | 
 | typedef int GLsizei; | 
 | typedef unsigned short GLushort; | 
 | typedef short GLshort; | 
 | typedef unsigned char GLubyte; | 
 | typedef unsigned int GLenum; | 
 | typedef int GLint; | 
 | typedef unsigned char GLboolean; | 
 | typedef unsigned int GLbitfield; | 
 | typedef float GLfloat; | 
 | typedef float GLclampf; | 
 | typedef signed char GLbyte; | 
 | typedef unsigned int GLuint; | 
 | typedef int GLfixed; | 
 | typedef int GLclampx; | 
 | #ifdef _WIN64 | 
 | typedef long long int GLintptr; | 
 | typedef long long int GLsizeiptr; | 
 | #else | 
 | typedef long int GLintptr; | 
 | typedef long int GLsizeiptr; | 
 | #endif  // _WIN64 | 
 | #endif  // __gl2_h_ | 
 |  | 
 |  | 
 | /** | 
 |  * @addtogroup Interfaces | 
 |  * @{ | 
 |  */ | 
 | struct PPB_OpenGLES2_1_0 { | 
 |   void (*ActiveTexture)(PP_Resource context, GLenum texture); | 
 |   void (*AttachShader)(PP_Resource context, GLuint program, GLuint shader); | 
 |   void (*BindAttribLocation)(PP_Resource context, | 
 |                              GLuint program, | 
 |                              GLuint index, | 
 |                              const char* name); | 
 |   void (*BindBuffer)(PP_Resource context, GLenum target, GLuint buffer); | 
 |   void (*BindFramebuffer)(PP_Resource context, | 
 |                           GLenum target, | 
 |                           GLuint framebuffer); | 
 |   void (*BindRenderbuffer)(PP_Resource context, | 
 |                            GLenum target, | 
 |                            GLuint renderbuffer); | 
 |   void (*BindTexture)(PP_Resource context, GLenum target, GLuint texture); | 
 |   void (*BlendColor)(PP_Resource context, | 
 |                      GLclampf red, | 
 |                      GLclampf green, | 
 |                      GLclampf blue, | 
 |                      GLclampf alpha); | 
 |   void (*BlendEquation)(PP_Resource context, GLenum mode); | 
 |   void (*BlendEquationSeparate)(PP_Resource context, | 
 |                                 GLenum modeRGB, | 
 |                                 GLenum modeAlpha); | 
 |   void (*BlendFunc)(PP_Resource context, GLenum sfactor, GLenum dfactor); | 
 |   void (*BlendFuncSeparate)(PP_Resource context, | 
 |                             GLenum srcRGB, | 
 |                             GLenum dstRGB, | 
 |                             GLenum srcAlpha, | 
 |                             GLenum dstAlpha); | 
 |   void (*BufferData)(PP_Resource context, | 
 |                      GLenum target, | 
 |                      GLsizeiptr size, | 
 |                      const void* data, | 
 |                      GLenum usage); | 
 |   void (*BufferSubData)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLintptr offset, | 
 |                         GLsizeiptr size, | 
 |                         const void* data); | 
 |   GLenum (*CheckFramebufferStatus)(PP_Resource context, GLenum target); | 
 |   void (*Clear)(PP_Resource context, GLbitfield mask); | 
 |   void (*ClearColor)(PP_Resource context, | 
 |                      GLclampf red, | 
 |                      GLclampf green, | 
 |                      GLclampf blue, | 
 |                      GLclampf alpha); | 
 |   void (*ClearDepthf)(PP_Resource context, GLclampf depth); | 
 |   void (*ClearStencil)(PP_Resource context, GLint s); | 
 |   void (*ColorMask)(PP_Resource context, | 
 |                     GLboolean red, | 
 |                     GLboolean green, | 
 |                     GLboolean blue, | 
 |                     GLboolean alpha); | 
 |   void (*CompileShader)(PP_Resource context, GLuint shader); | 
 |   void (*CompressedTexImage2D)(PP_Resource context, | 
 |                                GLenum target, | 
 |                                GLint level, | 
 |                                GLenum internalformat, | 
 |                                GLsizei width, | 
 |                                GLsizei height, | 
 |                                GLint border, | 
 |                                GLsizei imageSize, | 
 |                                const void* data); | 
 |   void (*CompressedTexSubImage2D)(PP_Resource context, | 
 |                                   GLenum target, | 
 |                                   GLint level, | 
 |                                   GLint xoffset, | 
 |                                   GLint yoffset, | 
 |                                   GLsizei width, | 
 |                                   GLsizei height, | 
 |                                   GLenum format, | 
 |                                   GLsizei imageSize, | 
 |                                   const void* data); | 
 |   void (*CopyTexImage2D)(PP_Resource context, | 
 |                          GLenum target, | 
 |                          GLint level, | 
 |                          GLenum internalformat, | 
 |                          GLint x, | 
 |                          GLint y, | 
 |                          GLsizei width, | 
 |                          GLsizei height, | 
 |                          GLint border); | 
 |   void (*CopyTexSubImage2D)(PP_Resource context, | 
 |                             GLenum target, | 
 |                             GLint level, | 
 |                             GLint xoffset, | 
 |                             GLint yoffset, | 
 |                             GLint x, | 
 |                             GLint y, | 
 |                             GLsizei width, | 
 |                             GLsizei height); | 
 |   GLuint (*CreateProgram)(PP_Resource context); | 
 |   GLuint (*CreateShader)(PP_Resource context, GLenum type); | 
 |   void (*CullFace)(PP_Resource context, GLenum mode); | 
 |   void (*DeleteBuffers)(PP_Resource context, GLsizei n, const GLuint* buffers); | 
 |   void (*DeleteFramebuffers)(PP_Resource context, | 
 |                              GLsizei n, | 
 |                              const GLuint* framebuffers); | 
 |   void (*DeleteProgram)(PP_Resource context, GLuint program); | 
 |   void (*DeleteRenderbuffers)(PP_Resource context, | 
 |                               GLsizei n, | 
 |                               const GLuint* renderbuffers); | 
 |   void (*DeleteShader)(PP_Resource context, GLuint shader); | 
 |   void (*DeleteTextures)(PP_Resource context, | 
 |                          GLsizei n, | 
 |                          const GLuint* textures); | 
 |   void (*DepthFunc)(PP_Resource context, GLenum func); | 
 |   void (*DepthMask)(PP_Resource context, GLboolean flag); | 
 |   void (*DepthRangef)(PP_Resource context, GLclampf zNear, GLclampf zFar); | 
 |   void (*DetachShader)(PP_Resource context, GLuint program, GLuint shader); | 
 |   void (*Disable)(PP_Resource context, GLenum cap); | 
 |   void (*DisableVertexAttribArray)(PP_Resource context, GLuint index); | 
 |   void (*DrawArrays)(PP_Resource context, | 
 |                      GLenum mode, | 
 |                      GLint first, | 
 |                      GLsizei count); | 
 |   void (*DrawElements)(PP_Resource context, | 
 |                        GLenum mode, | 
 |                        GLsizei count, | 
 |                        GLenum type, | 
 |                        const void* indices); | 
 |   void (*Enable)(PP_Resource context, GLenum cap); | 
 |   void (*EnableVertexAttribArray)(PP_Resource context, GLuint index); | 
 |   void (*Finish)(PP_Resource context); | 
 |   void (*Flush)(PP_Resource context); | 
 |   void (*FramebufferRenderbuffer)(PP_Resource context, | 
 |                                   GLenum target, | 
 |                                   GLenum attachment, | 
 |                                   GLenum renderbuffertarget, | 
 |                                   GLuint renderbuffer); | 
 |   void (*FramebufferTexture2D)(PP_Resource context, | 
 |                                GLenum target, | 
 |                                GLenum attachment, | 
 |                                GLenum textarget, | 
 |                                GLuint texture, | 
 |                                GLint level); | 
 |   void (*FrontFace)(PP_Resource context, GLenum mode); | 
 |   void (*GenBuffers)(PP_Resource context, GLsizei n, GLuint* buffers); | 
 |   void (*GenerateMipmap)(PP_Resource context, GLenum target); | 
 |   void (*GenFramebuffers)(PP_Resource context, GLsizei n, GLuint* framebuffers); | 
 |   void (*GenRenderbuffers)(PP_Resource context, | 
 |                            GLsizei n, | 
 |                            GLuint* renderbuffers); | 
 |   void (*GenTextures)(PP_Resource context, GLsizei n, GLuint* textures); | 
 |   void (*GetActiveAttrib)(PP_Resource context, | 
 |                           GLuint program, | 
 |                           GLuint index, | 
 |                           GLsizei bufsize, | 
 |                           GLsizei* length, | 
 |                           GLint* size, | 
 |                           GLenum* type, | 
 |                           char* name); | 
 |   void (*GetActiveUniform)(PP_Resource context, | 
 |                            GLuint program, | 
 |                            GLuint index, | 
 |                            GLsizei bufsize, | 
 |                            GLsizei* length, | 
 |                            GLint* size, | 
 |                            GLenum* type, | 
 |                            char* name); | 
 |   void (*GetAttachedShaders)(PP_Resource context, | 
 |                              GLuint program, | 
 |                              GLsizei maxcount, | 
 |                              GLsizei* count, | 
 |                              GLuint* shaders); | 
 |   GLint (*GetAttribLocation)(PP_Resource context, | 
 |                              GLuint program, | 
 |                              const char* name); | 
 |   void (*GetBooleanv)(PP_Resource context, GLenum pname, GLboolean* params); | 
 |   void (*GetBufferParameteriv)(PP_Resource context, | 
 |                                GLenum target, | 
 |                                GLenum pname, | 
 |                                GLint* params); | 
 |   GLenum (*GetError)(PP_Resource context); | 
 |   void (*GetFloatv)(PP_Resource context, GLenum pname, GLfloat* params); | 
 |   void (*GetFramebufferAttachmentParameteriv)(PP_Resource context, | 
 |                                               GLenum target, | 
 |                                               GLenum attachment, | 
 |                                               GLenum pname, | 
 |                                               GLint* params); | 
 |   void (*GetIntegerv)(PP_Resource context, GLenum pname, GLint* params); | 
 |   void (*GetProgramiv)(PP_Resource context, | 
 |                        GLuint program, | 
 |                        GLenum pname, | 
 |                        GLint* params); | 
 |   void (*GetProgramInfoLog)(PP_Resource context, | 
 |                             GLuint program, | 
 |                             GLsizei bufsize, | 
 |                             GLsizei* length, | 
 |                             char* infolog); | 
 |   void (*GetRenderbufferParameteriv)(PP_Resource context, | 
 |                                      GLenum target, | 
 |                                      GLenum pname, | 
 |                                      GLint* params); | 
 |   void (*GetShaderiv)(PP_Resource context, | 
 |                       GLuint shader, | 
 |                       GLenum pname, | 
 |                       GLint* params); | 
 |   void (*GetShaderInfoLog)(PP_Resource context, | 
 |                            GLuint shader, | 
 |                            GLsizei bufsize, | 
 |                            GLsizei* length, | 
 |                            char* infolog); | 
 |   void (*GetShaderPrecisionFormat)(PP_Resource context, | 
 |                                    GLenum shadertype, | 
 |                                    GLenum precisiontype, | 
 |                                    GLint* range, | 
 |                                    GLint* precision); | 
 |   void (*GetShaderSource)(PP_Resource context, | 
 |                           GLuint shader, | 
 |                           GLsizei bufsize, | 
 |                           GLsizei* length, | 
 |                           char* source); | 
 |   const GLubyte* (*GetString)(PP_Resource context, GLenum name); | 
 |   void (*GetTexParameterfv)(PP_Resource context, | 
 |                             GLenum target, | 
 |                             GLenum pname, | 
 |                             GLfloat* params); | 
 |   void (*GetTexParameteriv)(PP_Resource context, | 
 |                             GLenum target, | 
 |                             GLenum pname, | 
 |                             GLint* params); | 
 |   void (*GetUniformfv)(PP_Resource context, | 
 |                        GLuint program, | 
 |                        GLint location, | 
 |                        GLfloat* params); | 
 |   void (*GetUniformiv)(PP_Resource context, | 
 |                        GLuint program, | 
 |                        GLint location, | 
 |                        GLint* params); | 
 |   GLint (*GetUniformLocation)(PP_Resource context, | 
 |                               GLuint program, | 
 |                               const char* name); | 
 |   void (*GetVertexAttribfv)(PP_Resource context, | 
 |                             GLuint index, | 
 |                             GLenum pname, | 
 |                             GLfloat* params); | 
 |   void (*GetVertexAttribiv)(PP_Resource context, | 
 |                             GLuint index, | 
 |                             GLenum pname, | 
 |                             GLint* params); | 
 |   void (*GetVertexAttribPointerv)(PP_Resource context, | 
 |                                   GLuint index, | 
 |                                   GLenum pname, | 
 |                                   void** pointer); | 
 |   void (*Hint)(PP_Resource context, GLenum target, GLenum mode); | 
 |   GLboolean (*IsBuffer)(PP_Resource context, GLuint buffer); | 
 |   GLboolean (*IsEnabled)(PP_Resource context, GLenum cap); | 
 |   GLboolean (*IsFramebuffer)(PP_Resource context, GLuint framebuffer); | 
 |   GLboolean (*IsProgram)(PP_Resource context, GLuint program); | 
 |   GLboolean (*IsRenderbuffer)(PP_Resource context, GLuint renderbuffer); | 
 |   GLboolean (*IsShader)(PP_Resource context, GLuint shader); | 
 |   GLboolean (*IsTexture)(PP_Resource context, GLuint texture); | 
 |   void (*LineWidth)(PP_Resource context, GLfloat width); | 
 |   void (*LinkProgram)(PP_Resource context, GLuint program); | 
 |   void (*PixelStorei)(PP_Resource context, GLenum pname, GLint param); | 
 |   void (*PolygonOffset)(PP_Resource context, GLfloat factor, GLfloat units); | 
 |   void (*ReadPixels)(PP_Resource context, | 
 |                      GLint x, | 
 |                      GLint y, | 
 |                      GLsizei width, | 
 |                      GLsizei height, | 
 |                      GLenum format, | 
 |                      GLenum type, | 
 |                      void* pixels); | 
 |   void (*ReleaseShaderCompiler)(PP_Resource context); | 
 |   void (*RenderbufferStorage)(PP_Resource context, | 
 |                               GLenum target, | 
 |                               GLenum internalformat, | 
 |                               GLsizei width, | 
 |                               GLsizei height); | 
 |   void (*SampleCoverage)(PP_Resource context, GLclampf value, GLboolean invert); | 
 |   void (*Scissor)(PP_Resource context, | 
 |                   GLint x, | 
 |                   GLint y, | 
 |                   GLsizei width, | 
 |                   GLsizei height); | 
 |   void (*ShaderBinary)(PP_Resource context, | 
 |                        GLsizei n, | 
 |                        const GLuint* shaders, | 
 |                        GLenum binaryformat, | 
 |                        const void* binary, | 
 |                        GLsizei length); | 
 |   void (*ShaderSource)(PP_Resource context, | 
 |                        GLuint shader, | 
 |                        GLsizei count, | 
 |                        const char** str, | 
 |                        const GLint* length); | 
 |   void (*StencilFunc)(PP_Resource context, GLenum func, GLint ref, GLuint mask); | 
 |   void (*StencilFuncSeparate)(PP_Resource context, | 
 |                               GLenum face, | 
 |                               GLenum func, | 
 |                               GLint ref, | 
 |                               GLuint mask); | 
 |   void (*StencilMask)(PP_Resource context, GLuint mask); | 
 |   void (*StencilMaskSeparate)(PP_Resource context, GLenum face, GLuint mask); | 
 |   void (*StencilOp)(PP_Resource context, | 
 |                     GLenum fail, | 
 |                     GLenum zfail, | 
 |                     GLenum zpass); | 
 |   void (*StencilOpSeparate)(PP_Resource context, | 
 |                             GLenum face, | 
 |                             GLenum fail, | 
 |                             GLenum zfail, | 
 |                             GLenum zpass); | 
 |   void (*TexImage2D)(PP_Resource context, | 
 |                      GLenum target, | 
 |                      GLint level, | 
 |                      GLint internalformat, | 
 |                      GLsizei width, | 
 |                      GLsizei height, | 
 |                      GLint border, | 
 |                      GLenum format, | 
 |                      GLenum type, | 
 |                      const void* pixels); | 
 |   void (*TexParameterf)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLenum pname, | 
 |                         GLfloat param); | 
 |   void (*TexParameterfv)(PP_Resource context, | 
 |                          GLenum target, | 
 |                          GLenum pname, | 
 |                          const GLfloat* params); | 
 |   void (*TexParameteri)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLenum pname, | 
 |                         GLint param); | 
 |   void (*TexParameteriv)(PP_Resource context, | 
 |                          GLenum target, | 
 |                          GLenum pname, | 
 |                          const GLint* params); | 
 |   void (*TexSubImage2D)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLint level, | 
 |                         GLint xoffset, | 
 |                         GLint yoffset, | 
 |                         GLsizei width, | 
 |                         GLsizei height, | 
 |                         GLenum format, | 
 |                         GLenum type, | 
 |                         const void* pixels); | 
 |   void (*Uniform1f)(PP_Resource context, GLint location, GLfloat x); | 
 |   void (*Uniform1fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform1i)(PP_Resource context, GLint location, GLint x); | 
 |   void (*Uniform1iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*Uniform2f)(PP_Resource context, GLint location, GLfloat x, GLfloat y); | 
 |   void (*Uniform2fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform2i)(PP_Resource context, GLint location, GLint x, GLint y); | 
 |   void (*Uniform2iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*Uniform3f)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLfloat x, | 
 |                     GLfloat y, | 
 |                     GLfloat z); | 
 |   void (*Uniform3fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform3i)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLint x, | 
 |                     GLint y, | 
 |                     GLint z); | 
 |   void (*Uniform3iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*Uniform4f)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLfloat x, | 
 |                     GLfloat y, | 
 |                     GLfloat z, | 
 |                     GLfloat w); | 
 |   void (*Uniform4fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform4i)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLint x, | 
 |                     GLint y, | 
 |                     GLint z, | 
 |                     GLint w); | 
 |   void (*Uniform4iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*UniformMatrix2fv)(PP_Resource context, | 
 |                            GLint location, | 
 |                            GLsizei count, | 
 |                            GLboolean transpose, | 
 |                            const GLfloat* value); | 
 |   void (*UniformMatrix3fv)(PP_Resource context, | 
 |                            GLint location, | 
 |                            GLsizei count, | 
 |                            GLboolean transpose, | 
 |                            const GLfloat* value); | 
 |   void (*UniformMatrix4fv)(PP_Resource context, | 
 |                            GLint location, | 
 |                            GLsizei count, | 
 |                            GLboolean transpose, | 
 |                            const GLfloat* value); | 
 |   void (*UseProgram)(PP_Resource context, GLuint program); | 
 |   void (*ValidateProgram)(PP_Resource context, GLuint program); | 
 |   void (*VertexAttrib1f)(PP_Resource context, GLuint indx, GLfloat x); | 
 |   void (*VertexAttrib1fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttrib2f)(PP_Resource context, | 
 |                          GLuint indx, | 
 |                          GLfloat x, | 
 |                          GLfloat y); | 
 |   void (*VertexAttrib2fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttrib3f)(PP_Resource context, | 
 |                          GLuint indx, | 
 |                          GLfloat x, | 
 |                          GLfloat y, | 
 |                          GLfloat z); | 
 |   void (*VertexAttrib3fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttrib4f)(PP_Resource context, | 
 |                          GLuint indx, | 
 |                          GLfloat x, | 
 |                          GLfloat y, | 
 |                          GLfloat z, | 
 |                          GLfloat w); | 
 |   void (*VertexAttrib4fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttribPointer)(PP_Resource context, | 
 |                               GLuint indx, | 
 |                               GLint size, | 
 |                               GLenum type, | 
 |                               GLboolean normalized, | 
 |                               GLsizei stride, | 
 |                               const void* ptr); | 
 |   void (*Viewport)(PP_Resource context, | 
 |                    GLint x, | 
 |                    GLint y, | 
 |                    GLsizei width, | 
 |                    GLsizei height); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2 { | 
 |   void (*ActiveTexture)(PP_Resource context, GLenum texture); | 
 |   void (*AttachShader)(PP_Resource context, GLuint program, GLuint shader); | 
 |   void (*BindAttribLocation)(PP_Resource context, | 
 |                              GLuint program, | 
 |                              GLuint index, | 
 |                              const char* name); | 
 |   void (*BindBuffer)(PP_Resource context, GLenum target, GLuint buffer); | 
 |   void (*BindFramebuffer)(PP_Resource context, | 
 |                           GLenum target, | 
 |                           GLuint framebuffer); | 
 |   void (*BindRenderbuffer)(PP_Resource context, | 
 |                            GLenum target, | 
 |                            GLuint renderbuffer); | 
 |   void (*BindTexture)(PP_Resource context, GLenum target, GLuint texture); | 
 |   void (*BlendColor)(PP_Resource context, | 
 |                      GLclampf red, | 
 |                      GLclampf green, | 
 |                      GLclampf blue, | 
 |                      GLclampf alpha); | 
 |   void (*BlendEquation)(PP_Resource context, GLenum mode); | 
 |   void (*BlendEquationSeparate)(PP_Resource context, | 
 |                                 GLenum modeRGB, | 
 |                                 GLenum modeAlpha); | 
 |   void (*BlendFunc)(PP_Resource context, GLenum sfactor, GLenum dfactor); | 
 |   void (*BlendFuncSeparate)(PP_Resource context, | 
 |                             GLenum srcRGB, | 
 |                             GLenum dstRGB, | 
 |                             GLenum srcAlpha, | 
 |                             GLenum dstAlpha); | 
 |   void (*BufferData)(PP_Resource context, | 
 |                      GLenum target, | 
 |                      GLsizeiptr size, | 
 |                      const void* data, | 
 |                      GLenum usage); | 
 |   void (*BufferSubData)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLintptr offset, | 
 |                         GLsizeiptr size, | 
 |                         const void* data); | 
 |   GLenum (*CheckFramebufferStatus)(PP_Resource context, GLenum target); | 
 |   void (*Clear)(PP_Resource context, GLbitfield mask); | 
 |   void (*ClearColor)(PP_Resource context, | 
 |                      GLclampf red, | 
 |                      GLclampf green, | 
 |                      GLclampf blue, | 
 |                      GLclampf alpha); | 
 |   void (*ClearDepthf)(PP_Resource context, GLclampf depth); | 
 |   void (*ClearStencil)(PP_Resource context, GLint s); | 
 |   void (*ColorMask)(PP_Resource context, | 
 |                     GLboolean red, | 
 |                     GLboolean green, | 
 |                     GLboolean blue, | 
 |                     GLboolean alpha); | 
 |   void (*CompileShader)(PP_Resource context, GLuint shader); | 
 |   void (*CompressedTexImage2D)(PP_Resource context, | 
 |                                GLenum target, | 
 |                                GLint level, | 
 |                                GLenum internalformat, | 
 |                                GLsizei width, | 
 |                                GLsizei height, | 
 |                                GLint border, | 
 |                                GLsizei imageSize, | 
 |                                const void* data); | 
 |   void (*CompressedTexSubImage2D)(PP_Resource context, | 
 |                                   GLenum target, | 
 |                                   GLint level, | 
 |                                   GLint xoffset, | 
 |                                   GLint yoffset, | 
 |                                   GLsizei width, | 
 |                                   GLsizei height, | 
 |                                   GLenum format, | 
 |                                   GLsizei imageSize, | 
 |                                   const void* data); | 
 |   void (*CopyTexImage2D)(PP_Resource context, | 
 |                          GLenum target, | 
 |                          GLint level, | 
 |                          GLenum internalformat, | 
 |                          GLint x, | 
 |                          GLint y, | 
 |                          GLsizei width, | 
 |                          GLsizei height, | 
 |                          GLint border); | 
 |   void (*CopyTexSubImage2D)(PP_Resource context, | 
 |                             GLenum target, | 
 |                             GLint level, | 
 |                             GLint xoffset, | 
 |                             GLint yoffset, | 
 |                             GLint x, | 
 |                             GLint y, | 
 |                             GLsizei width, | 
 |                             GLsizei height); | 
 |   GLuint (*CreateProgram)(PP_Resource context); | 
 |   GLuint (*CreateShader)(PP_Resource context, GLenum type); | 
 |   void (*CullFace)(PP_Resource context, GLenum mode); | 
 |   void (*DeleteBuffers)(PP_Resource context, GLsizei n, const GLuint* buffers); | 
 |   void (*DeleteFramebuffers)(PP_Resource context, | 
 |                              GLsizei n, | 
 |                              const GLuint* framebuffers); | 
 |   void (*DeleteProgram)(PP_Resource context, GLuint program); | 
 |   void (*DeleteRenderbuffers)(PP_Resource context, | 
 |                               GLsizei n, | 
 |                               const GLuint* renderbuffers); | 
 |   void (*DeleteShader)(PP_Resource context, GLuint shader); | 
 |   void (*DeleteTextures)(PP_Resource context, | 
 |                          GLsizei n, | 
 |                          const GLuint* textures); | 
 |   void (*DepthFunc)(PP_Resource context, GLenum func); | 
 |   void (*DepthMask)(PP_Resource context, GLboolean flag); | 
 |   void (*DepthRangef)(PP_Resource context, GLclampf zNear, GLclampf zFar); | 
 |   void (*DetachShader)(PP_Resource context, GLuint program, GLuint shader); | 
 |   void (*Disable)(PP_Resource context, GLenum cap); | 
 |   void (*DisableVertexAttribArray)(PP_Resource context, GLuint index); | 
 |   void (*DrawArrays)(PP_Resource context, | 
 |                      GLenum mode, | 
 |                      GLint first, | 
 |                      GLsizei count); | 
 |   void (*DrawElements)(PP_Resource context, | 
 |                        GLenum mode, | 
 |                        GLsizei count, | 
 |                        GLenum type, | 
 |                        const void* indices); | 
 |   void (*Enable)(PP_Resource context, GLenum cap); | 
 |   void (*EnableVertexAttribArray)(PP_Resource context, GLuint index); | 
 |   void (*Finish)(PP_Resource context); | 
 |   void (*Flush)(PP_Resource context); | 
 |   void (*FramebufferRenderbuffer)(PP_Resource context, | 
 |                                   GLenum target, | 
 |                                   GLenum attachment, | 
 |                                   GLenum renderbuffertarget, | 
 |                                   GLuint renderbuffer); | 
 |   void (*FramebufferTexture2D)(PP_Resource context, | 
 |                                GLenum target, | 
 |                                GLenum attachment, | 
 |                                GLenum textarget, | 
 |                                GLuint texture, | 
 |                                GLint level); | 
 |   void (*FrontFace)(PP_Resource context, GLenum mode); | 
 |   void (*GenBuffers)(PP_Resource context, GLsizei n, GLuint* buffers); | 
 |   void (*GenerateMipmap)(PP_Resource context, GLenum target); | 
 |   void (*GenFramebuffers)(PP_Resource context, GLsizei n, GLuint* framebuffers); | 
 |   void (*GenRenderbuffers)(PP_Resource context, | 
 |                            GLsizei n, | 
 |                            GLuint* renderbuffers); | 
 |   void (*GenTextures)(PP_Resource context, GLsizei n, GLuint* textures); | 
 |   void (*GetActiveAttrib)(PP_Resource context, | 
 |                           GLuint program, | 
 |                           GLuint index, | 
 |                           GLsizei bufsize, | 
 |                           GLsizei* length, | 
 |                           GLint* size, | 
 |                           GLenum* type, | 
 |                           char* name); | 
 |   void (*GetActiveUniform)(PP_Resource context, | 
 |                            GLuint program, | 
 |                            GLuint index, | 
 |                            GLsizei bufsize, | 
 |                            GLsizei* length, | 
 |                            GLint* size, | 
 |                            GLenum* type, | 
 |                            char* name); | 
 |   void (*GetAttachedShaders)(PP_Resource context, | 
 |                              GLuint program, | 
 |                              GLsizei maxcount, | 
 |                              GLsizei* count, | 
 |                              GLuint* shaders); | 
 |   GLint (*GetAttribLocation)(PP_Resource context, | 
 |                              GLuint program, | 
 |                              const char* name); | 
 |   void (*GetBooleanv)(PP_Resource context, GLenum pname, GLboolean* params); | 
 |   void (*GetBufferParameteriv)(PP_Resource context, | 
 |                                GLenum target, | 
 |                                GLenum pname, | 
 |                                GLint* params); | 
 |   GLenum (*GetError)(PP_Resource context); | 
 |   void (*GetFloatv)(PP_Resource context, GLenum pname, GLfloat* params); | 
 |   void (*GetFramebufferAttachmentParameteriv)(PP_Resource context, | 
 |                                               GLenum target, | 
 |                                               GLenum attachment, | 
 |                                               GLenum pname, | 
 |                                               GLint* params); | 
 |   void (*GetIntegerv)(PP_Resource context, GLenum pname, GLint* params); | 
 |   void (*GetProgramiv)(PP_Resource context, | 
 |                        GLuint program, | 
 |                        GLenum pname, | 
 |                        GLint* params); | 
 |   void (*GetProgramInfoLog)(PP_Resource context, | 
 |                             GLuint program, | 
 |                             GLsizei bufsize, | 
 |                             GLsizei* length, | 
 |                             char* infolog); | 
 |   void (*GetRenderbufferParameteriv)(PP_Resource context, | 
 |                                      GLenum target, | 
 |                                      GLenum pname, | 
 |                                      GLint* params); | 
 |   void (*GetShaderiv)(PP_Resource context, | 
 |                       GLuint shader, | 
 |                       GLenum pname, | 
 |                       GLint* params); | 
 |   void (*GetShaderInfoLog)(PP_Resource context, | 
 |                            GLuint shader, | 
 |                            GLsizei bufsize, | 
 |                            GLsizei* length, | 
 |                            char* infolog); | 
 |   void (*GetShaderPrecisionFormat)(PP_Resource context, | 
 |                                    GLenum shadertype, | 
 |                                    GLenum precisiontype, | 
 |                                    GLint* range, | 
 |                                    GLint* precision); | 
 |   void (*GetShaderSource)(PP_Resource context, | 
 |                           GLuint shader, | 
 |                           GLsizei bufsize, | 
 |                           GLsizei* length, | 
 |                           char* source); | 
 |   const GLubyte* (*GetString)(PP_Resource context, GLenum name); | 
 |   void (*GetTexParameterfv)(PP_Resource context, | 
 |                             GLenum target, | 
 |                             GLenum pname, | 
 |                             GLfloat* params); | 
 |   void (*GetTexParameteriv)(PP_Resource context, | 
 |                             GLenum target, | 
 |                             GLenum pname, | 
 |                             GLint* params); | 
 |   void (*GetUniformfv)(PP_Resource context, | 
 |                        GLuint program, | 
 |                        GLint location, | 
 |                        GLfloat* params); | 
 |   void (*GetUniformiv)(PP_Resource context, | 
 |                        GLuint program, | 
 |                        GLint location, | 
 |                        GLint* params); | 
 |   GLint (*GetUniformLocation)(PP_Resource context, | 
 |                               GLuint program, | 
 |                               const char* name); | 
 |   void (*GetVertexAttribfv)(PP_Resource context, | 
 |                             GLuint index, | 
 |                             GLenum pname, | 
 |                             GLfloat* params); | 
 |   void (*GetVertexAttribiv)(PP_Resource context, | 
 |                             GLuint index, | 
 |                             GLenum pname, | 
 |                             GLint* params); | 
 |   void (*GetVertexAttribPointerv)(PP_Resource context, | 
 |                                   GLuint index, | 
 |                                   GLenum pname, | 
 |                                   void** pointer); | 
 |   void (*Hint)(PP_Resource context, GLenum target, GLenum mode); | 
 |   GLboolean (*IsBuffer)(PP_Resource context, GLuint buffer); | 
 |   GLboolean (*IsEnabled)(PP_Resource context, GLenum cap); | 
 |   GLboolean (*IsFramebuffer)(PP_Resource context, GLuint framebuffer); | 
 |   GLboolean (*IsProgram)(PP_Resource context, GLuint program); | 
 |   GLboolean (*IsRenderbuffer)(PP_Resource context, GLuint renderbuffer); | 
 |   GLboolean (*IsShader)(PP_Resource context, GLuint shader); | 
 |   GLboolean (*IsTexture)(PP_Resource context, GLuint texture); | 
 |   void (*LineWidth)(PP_Resource context, GLfloat width); | 
 |   void (*LinkProgram)(PP_Resource context, GLuint program); | 
 |   void (*PixelStorei)(PP_Resource context, GLenum pname, GLint param); | 
 |   void (*PolygonOffset)(PP_Resource context, GLfloat factor, GLfloat units); | 
 |   void (*ReadPixels)(PP_Resource context, | 
 |                      GLint x, | 
 |                      GLint y, | 
 |                      GLsizei width, | 
 |                      GLsizei height, | 
 |                      GLenum format, | 
 |                      GLenum type, | 
 |                      void* pixels); | 
 |   void (*ReleaseShaderCompiler)(PP_Resource context); | 
 |   void (*RenderbufferStorage)(PP_Resource context, | 
 |                               GLenum target, | 
 |                               GLenum internalformat, | 
 |                               GLsizei width, | 
 |                               GLsizei height); | 
 |   void (*SampleCoverage)(PP_Resource context, GLclampf value, GLboolean invert); | 
 |   void (*Scissor)(PP_Resource context, | 
 |                   GLint x, | 
 |                   GLint y, | 
 |                   GLsizei width, | 
 |                   GLsizei height); | 
 |   void (*ShaderBinary)(PP_Resource context, | 
 |                        GLsizei n, | 
 |                        const GLuint* shaders, | 
 |                        GLenum binaryformat, | 
 |                        const void* binary, | 
 |                        GLsizei length); | 
 |   void (*ShaderSource)(PP_Resource context, | 
 |                        GLuint shader, | 
 |                        GLsizei count, | 
 |                        const char** str, | 
 |                        const GLint* length); | 
 |   void (*StencilFunc)(PP_Resource context, GLenum func, GLint ref, GLuint mask); | 
 |   void (*StencilFuncSeparate)(PP_Resource context, | 
 |                               GLenum face, | 
 |                               GLenum func, | 
 |                               GLint ref, | 
 |                               GLuint mask); | 
 |   void (*StencilMask)(PP_Resource context, GLuint mask); | 
 |   void (*StencilMaskSeparate)(PP_Resource context, GLenum face, GLuint mask); | 
 |   void (*StencilOp)(PP_Resource context, | 
 |                     GLenum fail, | 
 |                     GLenum zfail, | 
 |                     GLenum zpass); | 
 |   void (*StencilOpSeparate)(PP_Resource context, | 
 |                             GLenum face, | 
 |                             GLenum fail, | 
 |                             GLenum zfail, | 
 |                             GLenum zpass); | 
 |   void (*TexImage2D)(PP_Resource context, | 
 |                      GLenum target, | 
 |                      GLint level, | 
 |                      GLint internalformat, | 
 |                      GLsizei width, | 
 |                      GLsizei height, | 
 |                      GLint border, | 
 |                      GLenum format, | 
 |                      GLenum type, | 
 |                      const void* pixels); | 
 |   void (*TexParameterf)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLenum pname, | 
 |                         GLfloat param); | 
 |   void (*TexParameterfv)(PP_Resource context, | 
 |                          GLenum target, | 
 |                          GLenum pname, | 
 |                          const GLfloat* params); | 
 |   void (*TexParameteri)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLenum pname, | 
 |                         GLint param); | 
 |   void (*TexParameteriv)(PP_Resource context, | 
 |                          GLenum target, | 
 |                          GLenum pname, | 
 |                          const GLint* params); | 
 |   void (*TexSubImage2D)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLint level, | 
 |                         GLint xoffset, | 
 |                         GLint yoffset, | 
 |                         GLsizei width, | 
 |                         GLsizei height, | 
 |                         GLenum format, | 
 |                         GLenum type, | 
 |                         const void* pixels); | 
 |   void (*Uniform1f)(PP_Resource context, GLint location, GLfloat x); | 
 |   void (*Uniform1fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform1i)(PP_Resource context, GLint location, GLint x); | 
 |   void (*Uniform1iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*Uniform2f)(PP_Resource context, GLint location, GLfloat x, GLfloat y); | 
 |   void (*Uniform2fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform2i)(PP_Resource context, GLint location, GLint x, GLint y); | 
 |   void (*Uniform2iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*Uniform3f)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLfloat x, | 
 |                     GLfloat y, | 
 |                     GLfloat z); | 
 |   void (*Uniform3fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform3i)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLint x, | 
 |                     GLint y, | 
 |                     GLint z); | 
 |   void (*Uniform3iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*Uniform4f)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLfloat x, | 
 |                     GLfloat y, | 
 |                     GLfloat z, | 
 |                     GLfloat w); | 
 |   void (*Uniform4fv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLfloat* v); | 
 |   void (*Uniform4i)(PP_Resource context, | 
 |                     GLint location, | 
 |                     GLint x, | 
 |                     GLint y, | 
 |                     GLint z, | 
 |                     GLint w); | 
 |   void (*Uniform4iv)(PP_Resource context, | 
 |                      GLint location, | 
 |                      GLsizei count, | 
 |                      const GLint* v); | 
 |   void (*UniformMatrix2fv)(PP_Resource context, | 
 |                            GLint location, | 
 |                            GLsizei count, | 
 |                            GLboolean transpose, | 
 |                            const GLfloat* value); | 
 |   void (*UniformMatrix3fv)(PP_Resource context, | 
 |                            GLint location, | 
 |                            GLsizei count, | 
 |                            GLboolean transpose, | 
 |                            const GLfloat* value); | 
 |   void (*UniformMatrix4fv)(PP_Resource context, | 
 |                            GLint location, | 
 |                            GLsizei count, | 
 |                            GLboolean transpose, | 
 |                            const GLfloat* value); | 
 |   void (*UseProgram)(PP_Resource context, GLuint program); | 
 |   void (*ValidateProgram)(PP_Resource context, GLuint program); | 
 |   void (*VertexAttrib1f)(PP_Resource context, GLuint indx, GLfloat x); | 
 |   void (*VertexAttrib1fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttrib2f)(PP_Resource context, | 
 |                          GLuint indx, | 
 |                          GLfloat x, | 
 |                          GLfloat y); | 
 |   void (*VertexAttrib2fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttrib3f)(PP_Resource context, | 
 |                          GLuint indx, | 
 |                          GLfloat x, | 
 |                          GLfloat y, | 
 |                          GLfloat z); | 
 |   void (*VertexAttrib3fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttrib4f)(PP_Resource context, | 
 |                          GLuint indx, | 
 |                          GLfloat x, | 
 |                          GLfloat y, | 
 |                          GLfloat z, | 
 |                          GLfloat w); | 
 |   void (*VertexAttrib4fv)(PP_Resource context, | 
 |                           GLuint indx, | 
 |                           const GLfloat* values); | 
 |   void (*VertexAttribPointer)(PP_Resource context, | 
 |                               GLuint indx, | 
 |                               GLint size, | 
 |                               GLenum type, | 
 |                               GLboolean normalized, | 
 |                               GLsizei stride, | 
 |                               const void* ptr); | 
 |   void (*Viewport)(PP_Resource context, | 
 |                    GLint x, | 
 |                    GLint y, | 
 |                    GLsizei width, | 
 |                    GLsizei height); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2InstancedArrays_1_0 { | 
 |   void (*DrawArraysInstancedANGLE)(PP_Resource context, | 
 |                                    GLenum mode, | 
 |                                    GLint first, | 
 |                                    GLsizei count, | 
 |                                    GLsizei primcount); | 
 |   void (*DrawElementsInstancedANGLE)(PP_Resource context, | 
 |                                      GLenum mode, | 
 |                                      GLsizei count, | 
 |                                      GLenum type, | 
 |                                      const void* indices, | 
 |                                      GLsizei primcount); | 
 |   void (*VertexAttribDivisorANGLE)(PP_Resource context, | 
 |                                    GLuint index, | 
 |                                    GLuint divisor); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2InstancedArrays { | 
 |   void (*DrawArraysInstancedANGLE)(PP_Resource context, | 
 |                                    GLenum mode, | 
 |                                    GLint first, | 
 |                                    GLsizei count, | 
 |                                    GLsizei primcount); | 
 |   void (*DrawElementsInstancedANGLE)(PP_Resource context, | 
 |                                      GLenum mode, | 
 |                                      GLsizei count, | 
 |                                      GLenum type, | 
 |                                      const void* indices, | 
 |                                      GLsizei primcount); | 
 |   void (*VertexAttribDivisorANGLE)(PP_Resource context, | 
 |                                    GLuint index, | 
 |                                    GLuint divisor); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2FramebufferBlit_1_0 { | 
 |   void (*BlitFramebufferEXT)(PP_Resource context, | 
 |                              GLint srcX0, | 
 |                              GLint srcY0, | 
 |                              GLint srcX1, | 
 |                              GLint srcY1, | 
 |                              GLint dstX0, | 
 |                              GLint dstY0, | 
 |                              GLint dstX1, | 
 |                              GLint dstY1, | 
 |                              GLbitfield mask, | 
 |                              GLenum filter); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2FramebufferBlit { | 
 |   void (*BlitFramebufferEXT)(PP_Resource context, | 
 |                              GLint srcX0, | 
 |                              GLint srcY0, | 
 |                              GLint srcX1, | 
 |                              GLint srcY1, | 
 |                              GLint dstX0, | 
 |                              GLint dstY0, | 
 |                              GLint dstX1, | 
 |                              GLint dstY1, | 
 |                              GLbitfield mask, | 
 |                              GLenum filter); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2FramebufferMultisample_1_0 { | 
 |   void (*RenderbufferStorageMultisampleEXT)(PP_Resource context, | 
 |                                             GLenum target, | 
 |                                             GLsizei samples, | 
 |                                             GLenum internalformat, | 
 |                                             GLsizei width, | 
 |                                             GLsizei height); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2FramebufferMultisample { | 
 |   void (*RenderbufferStorageMultisampleEXT)(PP_Resource context, | 
 |                                             GLenum target, | 
 |                                             GLsizei samples, | 
 |                                             GLenum internalformat, | 
 |                                             GLsizei width, | 
 |                                             GLsizei height); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2ChromiumEnableFeature_1_0 { | 
 |   GLboolean (*EnableFeatureCHROMIUM)(PP_Resource context, const char* feature); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2ChromiumEnableFeature { | 
 |   GLboolean (*EnableFeatureCHROMIUM)(PP_Resource context, const char* feature); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2ChromiumMapSub_1_0 { | 
 |   void* (*MapBufferSubDataCHROMIUM)(PP_Resource context, | 
 |                                     GLuint target, | 
 |                                     GLintptr offset, | 
 |                                     GLsizeiptr size, | 
 |                                     GLenum access); | 
 |   void (*UnmapBufferSubDataCHROMIUM)(PP_Resource context, const void* mem); | 
 |   void* (*MapTexSubImage2DCHROMIUM)(PP_Resource context, | 
 |                                     GLenum target, | 
 |                                     GLint level, | 
 |                                     GLint xoffset, | 
 |                                     GLint yoffset, | 
 |                                     GLsizei width, | 
 |                                     GLsizei height, | 
 |                                     GLenum format, | 
 |                                     GLenum type, | 
 |                                     GLenum access); | 
 |   void (*UnmapTexSubImage2DCHROMIUM)(PP_Resource context, const void* mem); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2ChromiumMapSub { | 
 |   void* (*MapBufferSubDataCHROMIUM)(PP_Resource context, | 
 |                                     GLuint target, | 
 |                                     GLintptr offset, | 
 |                                     GLsizeiptr size, | 
 |                                     GLenum access); | 
 |   void (*UnmapBufferSubDataCHROMIUM)(PP_Resource context, const void* mem); | 
 |   void* (*MapTexSubImage2DCHROMIUM)(PP_Resource context, | 
 |                                     GLenum target, | 
 |                                     GLint level, | 
 |                                     GLint xoffset, | 
 |                                     GLint yoffset, | 
 |                                     GLsizei width, | 
 |                                     GLsizei height, | 
 |                                     GLenum format, | 
 |                                     GLenum type, | 
 |                                     GLenum access); | 
 |   void (*UnmapTexSubImage2DCHROMIUM)(PP_Resource context, const void* mem); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2Query_1_0 { | 
 |   void (*GenQueriesEXT)(PP_Resource context, GLsizei n, GLuint* queries); | 
 |   void (*DeleteQueriesEXT)(PP_Resource context, | 
 |                            GLsizei n, | 
 |                            const GLuint* queries); | 
 |   GLboolean (*IsQueryEXT)(PP_Resource context, GLuint id); | 
 |   void (*BeginQueryEXT)(PP_Resource context, GLenum target, GLuint id); | 
 |   void (*EndQueryEXT)(PP_Resource context, GLenum target); | 
 |   void (*GetQueryivEXT)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLenum pname, | 
 |                         GLint* params); | 
 |   void (*GetQueryObjectuivEXT)(PP_Resource context, | 
 |                                GLuint id, | 
 |                                GLenum pname, | 
 |                                GLuint* params); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2Query { | 
 |   void (*GenQueriesEXT)(PP_Resource context, GLsizei n, GLuint* queries); | 
 |   void (*DeleteQueriesEXT)(PP_Resource context, | 
 |                            GLsizei n, | 
 |                            const GLuint* queries); | 
 |   GLboolean (*IsQueryEXT)(PP_Resource context, GLuint id); | 
 |   void (*BeginQueryEXT)(PP_Resource context, GLenum target, GLuint id); | 
 |   void (*EndQueryEXT)(PP_Resource context, GLenum target); | 
 |   void (*GetQueryivEXT)(PP_Resource context, | 
 |                         GLenum target, | 
 |                         GLenum pname, | 
 |                         GLint* params); | 
 |   void (*GetQueryObjectuivEXT)(PP_Resource context, | 
 |                                GLuint id, | 
 |                                GLenum pname, | 
 |                                GLuint* params); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2VertexArrayObject_1_0 { | 
 |   void (*GenVertexArraysOES)(PP_Resource context, GLsizei n, GLuint* arrays); | 
 |   void (*DeleteVertexArraysOES)(PP_Resource context, | 
 |                                 GLsizei n, | 
 |                                 const GLuint* arrays); | 
 |   GLboolean (*IsVertexArrayOES)(PP_Resource context, GLuint array); | 
 |   void (*BindVertexArrayOES)(PP_Resource context, GLuint array); | 
 | }; | 
 |  | 
 | struct PPB_OpenGLES2VertexArrayObject { | 
 |   void (*GenVertexArraysOES)(PP_Resource context, GLsizei n, GLuint* arrays); | 
 |   void (*DeleteVertexArraysOES)(PP_Resource context, | 
 |                                 GLsizei n, | 
 |                                 const GLuint* arrays); | 
 |   GLboolean (*IsVertexArrayOES)(PP_Resource context, GLuint array); | 
 |   void (*BindVertexArrayOES)(PP_Resource context, GLuint array); | 
 | }; | 
 | /** | 
 |  * @} | 
 |  */ | 
 |  | 
 | #endif  /* PPAPI_C_PPB_OPENGLES2_H_ */ | 
 |  |