11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/* Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * found in the LICENSE file. */
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/* From ppb_opengles2.idl modified Fri Sep  5 14:52:51 2014. */
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_C_PPB_OPENGLES2_H_
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_C_PPB_OPENGLES2_H_
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ppapi/c/pp_macros.h"
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ppapi/c/pp_resource.h"
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ppapi/c/pp_stdint.h"
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_INTERFACE_1_0 "PPB_OpenGLES2;1.0"
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_INTERFACE PPB_OPENGLES2_INTERFACE_1_0
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0 \
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "PPB_OpenGLES2InstancedArrays;1.0"
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE \
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0 \
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "PPB_OpenGLES2FramebufferBlit;1.0"
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE \
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0 \
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "PPB_OpenGLES2FramebufferMultisample;1.0"
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE \
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0 \
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "PPB_OpenGLES2ChromiumEnableFeature;1.0"
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE \
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0 \
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "PPB_OpenGLES2ChromiumMapSub;1.0"
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE \
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0
411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_QUERY_INTERFACE_1_0 "PPB_OpenGLES2Query;1.0"
431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_QUERY_INTERFACE PPB_OPENGLES2_QUERY_INTERFACE_1_0
441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE_1_0 \
461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "PPB_OpenGLES2VertexArrayObject;1.0"
471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE \
481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE_1_0
491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/**
511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @file
521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * This file is auto-generated from
531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * gpu/command_buffer/build_gles2_cmd_buffer.py
541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * It's formatted by clang-format using chromium coding style:
551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci *    clang-format -i -style=chromium filename
561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * DO NOT EDIT! */
571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_resource.h"
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __gl2_h_
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void GLvoid;
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLsizei;
645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned short GLushort;
655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef short GLshort;
665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned char GLubyte;
675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned int GLenum;
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLint;
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned char GLboolean;
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned int GLbitfield;
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef float GLfloat;
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef float GLclampf;
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef signed char GLbyte;
745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned int GLuint;
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLfixed;
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLclampx;
775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifdef _WIN64
785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long long int GLintptr;
795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long long int GLsizeiptr;
805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#else
815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long int GLintptr;
825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long int GLsizeiptr;
835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif  // _WIN64
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // __gl2_h_
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/**
881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @addtogroup Interfaces
891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @{
901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */
911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccistruct PPB_OpenGLES2_1_0 {
921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ActiveTexture)(PP_Resource context, GLenum texture);
931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*AttachShader)(PP_Resource context, GLuint program, GLuint shader);
941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BindAttribLocation)(PP_Resource context,
951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLuint program,
961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLuint index,
971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             const char* name);
981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BindBuffer)(PP_Resource context, GLenum target, GLuint buffer);
991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BindFramebuffer)(PP_Resource context,
1001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLenum target,
1011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint framebuffer);
1021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BindRenderbuffer)(PP_Resource context,
1031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLenum target,
1041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLuint renderbuffer);
1051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BindTexture)(PP_Resource context, GLenum target, GLuint texture);
1061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BlendColor)(PP_Resource context,
1071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf red,
1081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf green,
1091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf blue,
1101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf alpha);
1111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BlendEquation)(PP_Resource context, GLenum mode);
1121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BlendEquationSeparate)(PP_Resource context,
1131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                GLenum modeRGB,
1141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                GLenum modeAlpha);
1151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BlendFunc)(PP_Resource context, GLenum sfactor, GLenum dfactor);
1161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BlendFuncSeparate)(PP_Resource context,
1171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum srcRGB,
1181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum dstRGB,
1191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum srcAlpha,
1201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum dstAlpha);
1211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BufferData)(PP_Resource context,
1221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum target,
1231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizeiptr size,
1241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const void* data,
1251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum usage);
1261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*BufferSubData)(PP_Resource context,
1271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum target,
1281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLintptr offset,
1291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLsizeiptr size,
1301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        const void* data);
1311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLenum (*CheckFramebufferStatus)(PP_Resource context, GLenum target);
1321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Clear)(PP_Resource context, GLbitfield mask);
1331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ClearColor)(PP_Resource context,
1341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf red,
1351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf green,
1361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf blue,
1371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLclampf alpha);
1381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ClearDepthf)(PP_Resource context, GLclampf depth);
1391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ClearStencil)(PP_Resource context, GLint s);
1401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ColorMask)(PP_Resource context,
1411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLboolean red,
1421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLboolean green,
1431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLboolean blue,
1441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLboolean alpha);
1451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*CompileShader)(PP_Resource context, GLuint shader);
1461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*CompressedTexImage2D)(PP_Resource context,
1471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum target,
1481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLint level,
1491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum internalformat,
1501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLsizei width,
1511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLsizei height,
1521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLint border,
1531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLsizei imageSize,
1541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               const void* data);
1551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*CompressedTexSubImage2D)(PP_Resource context,
1561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLenum target,
1571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLint level,
1581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLint xoffset,
1591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLint yoffset,
1601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLsizei width,
1611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLsizei height,
1621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLenum format,
1631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLsizei imageSize,
1641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  const void* data);
1651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*CopyTexImage2D)(PP_Resource context,
1661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLenum target,
1671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLint level,
1681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLenum internalformat,
1691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLint x,
1701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLint y,
1711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLsizei width,
1721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLsizei height,
1731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLint border);
1741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*CopyTexSubImage2D)(PP_Resource context,
1751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum target,
1761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint level,
1771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint xoffset,
1781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint yoffset,
1791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint x,
1801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint y,
1811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLsizei width,
1821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLsizei height);
1831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLuint (*CreateProgram)(PP_Resource context);
1841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLuint (*CreateShader)(PP_Resource context, GLenum type);
1851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*CullFace)(PP_Resource context, GLenum mode);
1861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DeleteBuffers)(PP_Resource context, GLsizei n, const GLuint* buffers);
1871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DeleteFramebuffers)(PP_Resource context,
1881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLsizei n,
1891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             const GLuint* framebuffers);
1901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DeleteProgram)(PP_Resource context, GLuint program);
1911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DeleteRenderbuffers)(PP_Resource context,
1921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLsizei n,
1931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              const GLuint* renderbuffers);
1941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DeleteShader)(PP_Resource context, GLuint shader);
1951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DeleteTextures)(PP_Resource context,
1961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLsizei n,
1971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         const GLuint* textures);
1981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DepthFunc)(PP_Resource context, GLenum func);
1991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DepthMask)(PP_Resource context, GLboolean flag);
2001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DepthRangef)(PP_Resource context, GLclampf zNear, GLclampf zFar);
2011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DetachShader)(PP_Resource context, GLuint program, GLuint shader);
2021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Disable)(PP_Resource context, GLenum cap);
2031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DisableVertexAttribArray)(PP_Resource context, GLuint index);
2041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DrawArrays)(PP_Resource context,
2051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum mode,
2061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint first,
2071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count);
2081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*DrawElements)(PP_Resource context,
2091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLenum mode,
2101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLsizei count,
2111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLenum type,
2121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       const void* indices);
2131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Enable)(PP_Resource context, GLenum cap);
2141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*EnableVertexAttribArray)(PP_Resource context, GLuint index);
2151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Finish)(PP_Resource context);
2161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Flush)(PP_Resource context);
2171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*FramebufferRenderbuffer)(PP_Resource context,
2181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLenum target,
2191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLenum attachment,
2201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLenum renderbuffertarget,
2211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLuint renderbuffer);
2221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*FramebufferTexture2D)(PP_Resource context,
2231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum target,
2241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum attachment,
2251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum textarget,
2261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLuint texture,
2271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLint level);
2281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*FrontFace)(PP_Resource context, GLenum mode);
2291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GenBuffers)(PP_Resource context, GLsizei n, GLuint* buffers);
2301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GenerateMipmap)(PP_Resource context, GLenum target);
2311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GenFramebuffers)(PP_Resource context, GLsizei n, GLuint* framebuffers);
2321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GenRenderbuffers)(PP_Resource context,
2331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei n,
2341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLuint* renderbuffers);
2351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GenTextures)(PP_Resource context, GLsizei n, GLuint* textures);
2361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetActiveAttrib)(PP_Resource context,
2371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint program,
2381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint index,
2391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLsizei bufsize,
2401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLsizei* length,
2411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLint* size,
2421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLenum* type,
2431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          char* name);
2441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetActiveUniform)(PP_Resource context,
2451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLuint program,
2461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLuint index,
2471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei bufsize,
2481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei* length,
2491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLint* size,
2501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLenum* type,
2511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           char* name);
2521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetAttachedShaders)(PP_Resource context,
2531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLuint program,
2541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLsizei maxcount,
2551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLsizei* count,
2561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLuint* shaders);
2571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLint (*GetAttribLocation)(PP_Resource context,
2581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             GLuint program,
2591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             const char* name);
2601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetBooleanv)(PP_Resource context, GLenum pname, GLboolean* params);
2611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetBufferParameteriv)(PP_Resource context,
2621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum target,
2631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLenum pname,
2641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                               GLint* params);
2651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLenum (*GetError)(PP_Resource context);
2661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetFloatv)(PP_Resource context, GLenum pname, GLfloat* params);
2671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetFramebufferAttachmentParameteriv)(PP_Resource context,
2681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                              GLenum target,
2691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                              GLenum attachment,
2701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                              GLenum pname,
2711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                              GLint* params);
2721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetIntegerv)(PP_Resource context, GLenum pname, GLint* params);
2731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetProgramiv)(PP_Resource context,
2741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLuint program,
2751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLenum pname,
2761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLint* params);
2771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetProgramInfoLog)(PP_Resource context,
2781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLuint program,
2791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLsizei bufsize,
2801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLsizei* length,
2811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            char* infolog);
2821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetRenderbufferParameteriv)(PP_Resource context,
2831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                     GLenum target,
2841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                     GLenum pname,
2851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                     GLint* params);
2861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetShaderiv)(PP_Resource context,
2871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                      GLuint shader,
2881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                      GLenum pname,
2891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                      GLint* params);
2901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetShaderInfoLog)(PP_Resource context,
2911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLuint shader,
2921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei bufsize,
2931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei* length,
2941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           char* infolog);
2951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetShaderPrecisionFormat)(PP_Resource context,
2961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                   GLenum shadertype,
2971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                   GLenum precisiontype,
2981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                   GLint* range,
2991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                   GLint* precision);
3001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetShaderSource)(PP_Resource context,
3011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint shader,
3021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLsizei bufsize,
3031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLsizei* length,
3041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          char* source);
3051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  const GLubyte* (*GetString)(PP_Resource context, GLenum name);
3061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetTexParameterfv)(PP_Resource context,
3071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum target,
3081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum pname,
3091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLfloat* params);
3101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetTexParameteriv)(PP_Resource context,
3111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum target,
3121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum pname,
3131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint* params);
3141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetUniformfv)(PP_Resource context,
3151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLuint program,
3161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLint location,
3171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLfloat* params);
3181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetUniformiv)(PP_Resource context,
3191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLuint program,
3201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLint location,
3211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLint* params);
3221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLint (*GetUniformLocation)(PP_Resource context,
3231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLuint program,
3241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              const char* name);
3251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetVertexAttribfv)(PP_Resource context,
3261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLuint index,
3271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum pname,
3281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLfloat* params);
3291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetVertexAttribiv)(PP_Resource context,
3301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLuint index,
3311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum pname,
3321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLint* params);
3331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*GetVertexAttribPointerv)(PP_Resource context,
3341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLuint index,
3351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  GLenum pname,
3361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                                  void** pointer);
3371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Hint)(PP_Resource context, GLenum target, GLenum mode);
3381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsBuffer)(PP_Resource context, GLuint buffer);
3391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsEnabled)(PP_Resource context, GLenum cap);
3401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsFramebuffer)(PP_Resource context, GLuint framebuffer);
3411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsProgram)(PP_Resource context, GLuint program);
3421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsRenderbuffer)(PP_Resource context, GLuint renderbuffer);
3431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsShader)(PP_Resource context, GLuint shader);
3441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  GLboolean (*IsTexture)(PP_Resource context, GLuint texture);
3451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*LineWidth)(PP_Resource context, GLfloat width);
3461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*LinkProgram)(PP_Resource context, GLuint program);
3471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*PixelStorei)(PP_Resource context, GLenum pname, GLint param);
3481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*PolygonOffset)(PP_Resource context, GLfloat factor, GLfloat units);
3491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ReadPixels)(PP_Resource context,
3501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint x,
3511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint y,
3521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei width,
3531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei height,
3541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum format,
3551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum type,
3561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     void* pixels);
3571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ReleaseShaderCompiler)(PP_Resource context);
3581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*RenderbufferStorage)(PP_Resource context,
3591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLenum target,
3601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLenum internalformat,
3611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLsizei width,
3621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLsizei height);
3631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*SampleCoverage)(PP_Resource context, GLclampf value, GLboolean invert);
3641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Scissor)(PP_Resource context,
3651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                  GLint x,
3661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                  GLint y,
3671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                  GLsizei width,
3681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                  GLsizei height);
3691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ShaderBinary)(PP_Resource context,
3701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLsizei n,
3711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       const GLuint* shaders,
3721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLenum binaryformat,
3731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       const void* binary,
3741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLsizei length);
3751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ShaderSource)(PP_Resource context,
3761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLuint shader,
3771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       GLsizei count,
3781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       const char** str,
3791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                       const GLint* length);
3801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*StencilFunc)(PP_Resource context, GLenum func, GLint ref, GLuint mask);
3811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*StencilFuncSeparate)(PP_Resource context,
3821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLenum face,
3831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLenum func,
3841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLint ref,
3851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLuint mask);
3861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*StencilMask)(PP_Resource context, GLuint mask);
3871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*StencilMaskSeparate)(PP_Resource context, GLenum face, GLuint mask);
3881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*StencilOp)(PP_Resource context,
3891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLenum fail,
3901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLenum zfail,
3911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLenum zpass);
3921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*StencilOpSeparate)(PP_Resource context,
3931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum face,
3941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum fail,
3951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum zfail,
3961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                            GLenum zpass);
3971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*TexImage2D)(PP_Resource context,
3981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum target,
3991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint level,
4001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint internalformat,
4011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei width,
4021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei height,
4031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint border,
4041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum format,
4051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLenum type,
4061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const void* pixels);
4071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*TexParameterf)(PP_Resource context,
4081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum target,
4091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum pname,
4101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLfloat param);
4111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*TexParameterfv)(PP_Resource context,
4121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLenum target,
4131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLenum pname,
4141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         const GLfloat* params);
4151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*TexParameteri)(PP_Resource context,
4161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum target,
4171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum pname,
4181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLint param);
4191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*TexParameteriv)(PP_Resource context,
4201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLenum target,
4211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLenum pname,
4221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         const GLint* params);
4231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*TexSubImage2D)(PP_Resource context,
4241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum target,
4251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLint level,
4261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLint xoffset,
4271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLint yoffset,
4281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLsizei width,
4291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLsizei height,
4301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum format,
4311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        GLenum type,
4321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                        const void* pixels);
4331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform1f)(PP_Resource context, GLint location, GLfloat x);
4341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform1fv)(PP_Resource context,
4351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLfloat* v);
4381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform1i)(PP_Resource context, GLint location, GLint x);
4391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform1iv)(PP_Resource context,
4401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLint* v);
4431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform2f)(PP_Resource context, GLint location, GLfloat x, GLfloat y);
4441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform2fv)(PP_Resource context,
4451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLfloat* v);
4481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform2i)(PP_Resource context, GLint location, GLint x, GLint y);
4491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform2iv)(PP_Resource context,
4501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLint* v);
4531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform3f)(PP_Resource context,
4541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint location,
4551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat x,
4561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat y,
4571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat z);
4581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform3fv)(PP_Resource context,
4591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLfloat* v);
4621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform3i)(PP_Resource context,
4631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint location,
4641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint x,
4651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint y,
4661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint z);
4671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform3iv)(PP_Resource context,
4681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLint* v);
4711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform4f)(PP_Resource context,
4721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint location,
4731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat x,
4741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat y,
4751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat z,
4761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLfloat w);
4771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform4fv)(PP_Resource context,
4781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLfloat* v);
4811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform4i)(PP_Resource context,
4821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint location,
4831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint x,
4841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint y,
4851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint z,
4861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    GLint w);
4871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Uniform4iv)(PP_Resource context,
4881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLint location,
4891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     GLsizei count,
4901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                     const GLint* v);
4911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*UniformMatrix2fv)(PP_Resource context,
4921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLint location,
4931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei count,
4941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLboolean transpose,
4951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           const GLfloat* value);
4961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*UniformMatrix3fv)(PP_Resource context,
4971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLint location,
4981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei count,
4991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLboolean transpose,
5001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           const GLfloat* value);
5011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*UniformMatrix4fv)(PP_Resource context,
5021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLint location,
5031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLsizei count,
5041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           GLboolean transpose,
5051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                           const GLfloat* value);
5061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*UseProgram)(PP_Resource context, GLuint program);
5071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*ValidateProgram)(PP_Resource context, GLuint program);
5081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib1f)(PP_Resource context, GLuint indx, GLfloat x);
5091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib1fv)(PP_Resource context,
5101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint indx,
5111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          const GLfloat* values);
5121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib2f)(PP_Resource context,
5131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLuint indx,
5141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat x,
5151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat y);
5161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib2fv)(PP_Resource context,
5171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint indx,
5181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          const GLfloat* values);
5191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib3f)(PP_Resource context,
5201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLuint indx,
5211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat x,
5221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat y,
5231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat z);
5241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib3fv)(PP_Resource context,
5251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint indx,
5261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          const GLfloat* values);
5271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib4f)(PP_Resource context,
5281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLuint indx,
5291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat x,
5301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat y,
5311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat z,
5321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                         GLfloat w);
5331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttrib4fv)(PP_Resource context,
5341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          GLuint indx,
5351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          const GLfloat* values);
5361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*VertexAttribPointer)(PP_Resource context,
5371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLuint indx,
5381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLint size,
5391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLenum type,
5401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLboolean normalized,
5411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              GLsizei stride,
5421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                              const void* ptr);
5431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  void (*Viewport)(PP_Resource context,
5441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                   GLint x,
5451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                   GLint y,
5461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                   GLsizei width,
5471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                   GLsizei height);
5481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci};
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2 {
5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ActiveTexture)(PP_Resource context, GLenum texture);
5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*AttachShader)(PP_Resource context, GLuint program, GLuint shader);
553a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BindAttribLocation)(PP_Resource context,
554a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint program,
555a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint index,
556a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             const char* name);
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BindBuffer)(PP_Resource context, GLenum target, GLuint buffer);
558a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BindFramebuffer)(PP_Resource context,
559a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLenum target,
560a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint framebuffer);
561a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BindRenderbuffer)(PP_Resource context,
562a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLenum target,
563a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint renderbuffer);
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BindTexture)(PP_Resource context, GLenum target, GLuint texture);
565a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlendColor)(PP_Resource context,
566a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf red,
567a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf green,
568a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf blue,
569a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf alpha);
5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BlendEquation)(PP_Resource context, GLenum mode);
571a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlendEquationSeparate)(PP_Resource context,
572a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                GLenum modeRGB,
573a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                GLenum modeAlpha);
5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BlendFunc)(PP_Resource context, GLenum sfactor, GLenum dfactor);
575a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlendFuncSeparate)(PP_Resource context,
576a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum srcRGB,
577a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum dstRGB,
578a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum srcAlpha,
579a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum dstAlpha);
580a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BufferData)(PP_Resource context,
581a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum target,
582a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizeiptr size,
583a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const void* data,
584a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum usage);
585a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BufferSubData)(PP_Resource context,
586a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
587a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLintptr offset,
588a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLsizeiptr size,
589a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        const void* data);
5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLenum (*CheckFramebufferStatus)(PP_Resource context, GLenum target);
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Clear)(PP_Resource context, GLbitfield mask);
592a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ClearColor)(PP_Resource context,
593a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf red,
594a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf green,
595a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf blue,
596a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf alpha);
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ClearDepthf)(PP_Resource context, GLclampf depth);
5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ClearStencil)(PP_Resource context, GLint s);
599a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ColorMask)(PP_Resource context,
600a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean red,
601a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean green,
602a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean blue,
603a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean alpha);
6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*CompileShader)(PP_Resource context, GLuint shader);
605a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CompressedTexImage2D)(PP_Resource context,
606a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum target,
607a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint level,
608a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum internalformat,
609a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLsizei width,
610a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLsizei height,
611a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint border,
612a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLsizei imageSize,
613a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               const void* data);
614a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CompressedTexSubImage2D)(PP_Resource context,
615a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum target,
616a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLint level,
617a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLint xoffset,
618a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLint yoffset,
619a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLsizei width,
620a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLsizei height,
621a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum format,
622a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLsizei imageSize,
623a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  const void* data);
624a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CopyTexImage2D)(PP_Resource context,
625a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum target,
626a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint level,
627a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum internalformat,
628a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint x,
629a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint y,
630a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLsizei width,
631a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLsizei height,
632a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint border);
633a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CopyTexSubImage2D)(PP_Resource context,
634a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum target,
635a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint level,
636a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint xoffset,
637a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint yoffset,
638a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint x,
639a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint y,
640a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei width,
641a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei height);
6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLuint (*CreateProgram)(PP_Resource context);
6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLuint (*CreateShader)(PP_Resource context, GLenum type);
6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*CullFace)(PP_Resource context, GLenum mode);
6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DeleteBuffers)(PP_Resource context, GLsizei n, const GLuint* buffers);
646a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteFramebuffers)(PP_Resource context,
647a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLsizei n,
648a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             const GLuint* framebuffers);
6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DeleteProgram)(PP_Resource context, GLuint program);
650a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteRenderbuffers)(PP_Resource context,
651a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei n,
652a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              const GLuint* renderbuffers);
6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DeleteShader)(PP_Resource context, GLuint shader);
654a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteTextures)(PP_Resource context,
655a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLsizei n,
656a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         const GLuint* textures);
6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DepthFunc)(PP_Resource context, GLenum func);
6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DepthMask)(PP_Resource context, GLboolean flag);
6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DepthRangef)(PP_Resource context, GLclampf zNear, GLclampf zFar);
6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DetachShader)(PP_Resource context, GLuint program, GLuint shader);
6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Disable)(PP_Resource context, GLenum cap);
6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DisableVertexAttribArray)(PP_Resource context, GLuint index);
663a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DrawArrays)(PP_Resource context,
664a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum mode,
665a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint first,
666a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count);
667a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DrawElements)(PP_Resource context,
668a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum mode,
669a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei count,
670a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum type,
671a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const void* indices);
6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Enable)(PP_Resource context, GLenum cap);
6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*EnableVertexAttribArray)(PP_Resource context, GLuint index);
6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Finish)(PP_Resource context);
6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Flush)(PP_Resource context);
676a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*FramebufferRenderbuffer)(PP_Resource context,
677a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum target,
678a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum attachment,
679a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum renderbuffertarget,
680a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLuint renderbuffer);
681a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*FramebufferTexture2D)(PP_Resource context,
682a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum target,
683a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum attachment,
684a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum textarget,
685a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLuint texture,
686a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint level);
6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*FrontFace)(PP_Resource context, GLenum mode);
6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenBuffers)(PP_Resource context, GLsizei n, GLuint* buffers);
6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenerateMipmap)(PP_Resource context, GLenum target);
690a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GenFramebuffers)(PP_Resource context, GLsizei n, GLuint* framebuffers);
691a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GenRenderbuffers)(PP_Resource context,
692a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei n,
693a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint* renderbuffers);
6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenTextures)(PP_Resource context, GLsizei n, GLuint* textures);
695a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetActiveAttrib)(PP_Resource context,
696a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint program,
697a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint index,
698a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei bufsize,
699a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei* length,
700a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLint* size,
701a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLenum* type,
702a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          char* name);
703a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetActiveUniform)(PP_Resource context,
704a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint program,
705a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint index,
706a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei bufsize,
707a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei* length,
708a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLint* size,
709a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLenum* type,
710a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           char* name);
711a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetAttachedShaders)(PP_Resource context,
712a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint program,
713a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLsizei maxcount,
714a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLsizei* count,
715a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint* shaders);
716a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  GLint (*GetAttribLocation)(PP_Resource context,
717a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint program,
718a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             const char* name);
7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetBooleanv)(PP_Resource context, GLenum pname, GLboolean* params);
720a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetBufferParameteriv)(PP_Resource context,
721a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum target,
722a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum pname,
723a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint* params);
7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLenum (*GetError)(PP_Resource context);
7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetFloatv)(PP_Resource context, GLenum pname, GLfloat* params);
726a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetFramebufferAttachmentParameteriv)(PP_Resource context,
727a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLenum target,
728a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLenum attachment,
729a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLenum pname,
730a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLint* params);
7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetIntegerv)(PP_Resource context, GLenum pname, GLint* params);
732a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetProgramiv)(PP_Resource context,
733a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint program,
734a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum pname,
735a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint* params);
736a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetProgramInfoLog)(PP_Resource context,
737a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLuint program,
738a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei bufsize,
739a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei* length,
740a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            char* infolog);
741a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetRenderbufferParameteriv)(PP_Resource context,
742a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLenum target,
743a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLenum pname,
744a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLint* params);
745a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderiv)(PP_Resource context,
746a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      GLuint shader,
747a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      GLenum pname,
748a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      GLint* params);
749a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderInfoLog)(PP_Resource context,
750a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint shader,
751a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei bufsize,
752a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei* length,
753a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           char* infolog);
754a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderPrecisionFormat)(PP_Resource context,
755a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLenum shadertype,
756a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLenum precisiontype,
757a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLint* range,
758a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLint* precision);
759a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderSource)(PP_Resource context,
760a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint shader,
761a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei bufsize,
762a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei* length,
763a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          char* source);
7645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  const GLubyte* (*GetString)(PP_Resource context, GLenum name);
765a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetTexParameterfv)(PP_Resource context,
766a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum target,
767a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
768a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLfloat* params);
769a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetTexParameteriv)(PP_Resource context,
770a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum target,
771a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
772a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint* params);
773a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetUniformfv)(PP_Resource context,
774a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint program,
775a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint location,
776a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLfloat* params);
777a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetUniformiv)(PP_Resource context,
778a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint program,
779a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint location,
780a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint* params);
781a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  GLint (*GetUniformLocation)(PP_Resource context,
782a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLuint program,
783a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              const char* name);
784a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetVertexAttribfv)(PP_Resource context,
785a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLuint index,
786a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
787a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLfloat* params);
788a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetVertexAttribiv)(PP_Resource context,
789a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLuint index,
790a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
791a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint* params);
792a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetVertexAttribPointerv)(PP_Resource context,
793a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLuint index,
794a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum pname,
795a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  void** pointer);
7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Hint)(PP_Resource context, GLenum target, GLenum mode);
7975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsBuffer)(PP_Resource context, GLuint buffer);
7985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsEnabled)(PP_Resource context, GLenum cap);
7995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsFramebuffer)(PP_Resource context, GLuint framebuffer);
8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsProgram)(PP_Resource context, GLuint program);
8015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsRenderbuffer)(PP_Resource context, GLuint renderbuffer);
8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsShader)(PP_Resource context, GLuint shader);
8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsTexture)(PP_Resource context, GLuint texture);
8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*LineWidth)(PP_Resource context, GLfloat width);
8055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*LinkProgram)(PP_Resource context, GLuint program);
8065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*PixelStorei)(PP_Resource context, GLenum pname, GLint param);
8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*PolygonOffset)(PP_Resource context, GLfloat factor, GLfloat units);
808a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ReadPixels)(PP_Resource context,
809a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint x,
810a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint y,
811a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei width,
812a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei height,
813a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum format,
814a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum type,
815a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     void* pixels);
8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ReleaseShaderCompiler)(PP_Resource context);
817a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*RenderbufferStorage)(PP_Resource context,
818a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum target,
819a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum internalformat,
820a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei width,
821a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei height);
822a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*SampleCoverage)(PP_Resource context, GLclampf value, GLboolean invert);
823a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Scissor)(PP_Resource context,
824a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLint x,
825a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLint y,
826a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLsizei width,
827a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLsizei height);
828a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ShaderBinary)(PP_Resource context,
829a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei n,
830a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const GLuint* shaders,
831a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum binaryformat,
832a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const void* binary,
833a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei length);
834a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ShaderSource)(PP_Resource context,
835a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint shader,
836a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei count,
837a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const char** str,
838a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const GLint* length);
839a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilFunc)(PP_Resource context, GLenum func, GLint ref, GLuint mask);
840a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilFuncSeparate)(PP_Resource context,
841a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum face,
842a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum func,
843a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLint ref,
844a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLuint mask);
8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*StencilMask)(PP_Resource context, GLuint mask);
8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*StencilMaskSeparate)(PP_Resource context, GLenum face, GLuint mask);
847a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilOp)(PP_Resource context,
848a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLenum fail,
849a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLenum zfail,
850a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLenum zpass);
851a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilOpSeparate)(PP_Resource context,
852a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum face,
853a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum fail,
854a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum zfail,
855a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum zpass);
856a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexImage2D)(PP_Resource context,
857a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum target,
858a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint level,
859a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint internalformat,
860a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei width,
861a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei height,
862a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint border,
863a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum format,
864a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum type,
865a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const void* pixels);
866a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameterf)(PP_Resource context,
867a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
868a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum pname,
869a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLfloat param);
870a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameterfv)(PP_Resource context,
871a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum target,
872a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum pname,
873a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         const GLfloat* params);
874a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameteri)(PP_Resource context,
875a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
876a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum pname,
877a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint param);
878a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameteriv)(PP_Resource context,
879a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum target,
880a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum pname,
881a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         const GLint* params);
882a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexSubImage2D)(PP_Resource context,
883a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
884a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint level,
885a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint xoffset,
886a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint yoffset,
887a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLsizei width,
888a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLsizei height,
889a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum format,
890a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum type,
891a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        const void* pixels);
8925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform1f)(PP_Resource context, GLint location, GLfloat x);
893a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform1fv)(PP_Resource context,
894a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
895a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
896a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
8975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform1i)(PP_Resource context, GLint location, GLint x);
898a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform1iv)(PP_Resource context,
899a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
900a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
901a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
9025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform2f)(PP_Resource context, GLint location, GLfloat x, GLfloat y);
903a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform2fv)(PP_Resource context,
904a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
905a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
906a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
9075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform2i)(PP_Resource context, GLint location, GLint x, GLint y);
908a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform2iv)(PP_Resource context,
909a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
910a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
911a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
912a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3f)(PP_Resource context,
913a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
914a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat x,
915a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat y,
916a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat z);
917a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3fv)(PP_Resource context,
918a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
919a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
920a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
921a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3i)(PP_Resource context,
922a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
923a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint x,
924a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint y,
925a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint z);
926a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3iv)(PP_Resource context,
927a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
928a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
929a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
930a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4f)(PP_Resource context,
931a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
932a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat x,
933a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat y,
934a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat z,
935a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat w);
936a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4fv)(PP_Resource context,
937a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
938a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
939a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
940a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4i)(PP_Resource context,
941a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
942a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint x,
943a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint y,
944a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint z,
945a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint w);
946a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4iv)(PP_Resource context,
947a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
948a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
949a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
950a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*UniformMatrix2fv)(PP_Resource context,
951a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLint location,
952