ppb_opengles2.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright (c) 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is auto-generated from
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// gpu/command_buffer/build_gles2_cmd_buffer.py
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// It's formatted by clang-format using chromium coding style:
8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)//    clang-format -i -style=chromium filename
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// DO NOT EDIT!
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// OpenGL ES interface.
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_C_PPB_OPENGLES2_H_
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_C_PPB_OPENGLES2_H_
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_resource.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __gl2_h_
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void GLvoid;
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLsizei;
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned short GLushort;
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef short GLshort;
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned char GLubyte;
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned int GLenum;
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLint;
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned char GLboolean;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned int GLbitfield;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef float GLfloat;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef float GLclampf;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef signed char GLbyte;
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef unsigned int GLuint;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLfixed;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int GLclampx;
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifdef _WIN64
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long long int GLintptr;
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long long int GLsizeiptr;
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#else
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long int GLintptr;
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef long int GLsizeiptr;
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif  // _WIN64
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // __gl2_h_
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPB_OPENGLES2_INTERFACE_1_0 "PPB_OpenGLES2;1.0"
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPB_OPENGLES2_INTERFACE PPB_OPENGLES2_INTERFACE_1_0
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2 {
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ActiveTexture)(PP_Resource context, GLenum texture);
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*AttachShader)(PP_Resource context, GLuint program, GLuint shader);
48a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BindAttribLocation)(PP_Resource context,
49a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint program,
50a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint index,
51a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             const char* name);
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BindBuffer)(PP_Resource context, GLenum target, GLuint buffer);
53a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BindFramebuffer)(PP_Resource context,
54a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLenum target,
55a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint framebuffer);
56a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BindRenderbuffer)(PP_Resource context,
57a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLenum target,
58a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint renderbuffer);
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BindTexture)(PP_Resource context, GLenum target, GLuint texture);
60a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlendColor)(PP_Resource context,
61a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf red,
62a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf green,
63a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf blue,
64a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf alpha);
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BlendEquation)(PP_Resource context, GLenum mode);
66a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlendEquationSeparate)(PP_Resource context,
67a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                GLenum modeRGB,
68a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                GLenum modeAlpha);
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BlendFunc)(PP_Resource context, GLenum sfactor, GLenum dfactor);
70a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlendFuncSeparate)(PP_Resource context,
71a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum srcRGB,
72a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum dstRGB,
73a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum srcAlpha,
74a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum dstAlpha);
75a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BufferData)(PP_Resource context,
76a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum target,
77a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizeiptr size,
78a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const void* data,
79a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum usage);
80a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BufferSubData)(PP_Resource context,
81a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
82a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLintptr offset,
83a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLsizeiptr size,
84a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        const void* data);
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLenum (*CheckFramebufferStatus)(PP_Resource context, GLenum target);
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Clear)(PP_Resource context, GLbitfield mask);
87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ClearColor)(PP_Resource context,
88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf red,
89a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf green,
90a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf blue,
91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLclampf alpha);
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ClearDepthf)(PP_Resource context, GLclampf depth);
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ClearStencil)(PP_Resource context, GLint s);
94a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ColorMask)(PP_Resource context,
95a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean red,
96a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean green,
97a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean blue,
98a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLboolean alpha);
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*CompileShader)(PP_Resource context, GLuint shader);
100a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CompressedTexImage2D)(PP_Resource context,
101a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum target,
102a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint level,
103a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum internalformat,
104a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLsizei width,
105a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLsizei height,
106a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint border,
107a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLsizei imageSize,
108a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               const void* data);
109a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CompressedTexSubImage2D)(PP_Resource context,
110a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum target,
111a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLint level,
112a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLint xoffset,
113a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLint yoffset,
114a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLsizei width,
115a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLsizei height,
116a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum format,
117a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLsizei imageSize,
118a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  const void* data);
119a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CopyTexImage2D)(PP_Resource context,
120a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum target,
121a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint level,
122a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum internalformat,
123a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint x,
124a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint y,
125a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLsizei width,
126a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLsizei height,
127a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLint border);
128a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*CopyTexSubImage2D)(PP_Resource context,
129a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum target,
130a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint level,
131a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint xoffset,
132a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint yoffset,
133a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint x,
134a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint y,
135a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei width,
136a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei height);
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLuint (*CreateProgram)(PP_Resource context);
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLuint (*CreateShader)(PP_Resource context, GLenum type);
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*CullFace)(PP_Resource context, GLenum mode);
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DeleteBuffers)(PP_Resource context, GLsizei n, const GLuint* buffers);
141a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteFramebuffers)(PP_Resource context,
142a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLsizei n,
143a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             const GLuint* framebuffers);
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DeleteProgram)(PP_Resource context, GLuint program);
145a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteRenderbuffers)(PP_Resource context,
146a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei n,
147a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              const GLuint* renderbuffers);
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DeleteShader)(PP_Resource context, GLuint shader);
149a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteTextures)(PP_Resource context,
150a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLsizei n,
151a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         const GLuint* textures);
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DepthFunc)(PP_Resource context, GLenum func);
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DepthMask)(PP_Resource context, GLboolean flag);
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DepthRangef)(PP_Resource context, GLclampf zNear, GLclampf zFar);
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DetachShader)(PP_Resource context, GLuint program, GLuint shader);
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Disable)(PP_Resource context, GLenum cap);
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*DisableVertexAttribArray)(PP_Resource context, GLuint index);
158a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DrawArrays)(PP_Resource context,
159a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum mode,
160a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint first,
161a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count);
162a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DrawElements)(PP_Resource context,
163a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum mode,
164a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei count,
165a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum type,
166a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const void* indices);
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Enable)(PP_Resource context, GLenum cap);
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*EnableVertexAttribArray)(PP_Resource context, GLuint index);
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Finish)(PP_Resource context);
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Flush)(PP_Resource context);
171a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*FramebufferRenderbuffer)(PP_Resource context,
172a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum target,
173a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum attachment,
174a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum renderbuffertarget,
175a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLuint renderbuffer);
176a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*FramebufferTexture2D)(PP_Resource context,
177a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum target,
178a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum attachment,
179a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum textarget,
180a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLuint texture,
181a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint level);
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*FrontFace)(PP_Resource context, GLenum mode);
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenBuffers)(PP_Resource context, GLsizei n, GLuint* buffers);
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenerateMipmap)(PP_Resource context, GLenum target);
185a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GenFramebuffers)(PP_Resource context, GLsizei n, GLuint* framebuffers);
186a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GenRenderbuffers)(PP_Resource context,
187a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei n,
188a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint* renderbuffers);
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenTextures)(PP_Resource context, GLsizei n, GLuint* textures);
190a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetActiveAttrib)(PP_Resource context,
191a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint program,
192a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint index,
193a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei bufsize,
194a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei* length,
195a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLint* size,
196a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLenum* type,
197a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          char* name);
198a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetActiveUniform)(PP_Resource context,
199a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint program,
200a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint index,
201a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei bufsize,
202a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei* length,
203a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLint* size,
204a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLenum* type,
205a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           char* name);
206a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetAttachedShaders)(PP_Resource context,
207a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint program,
208a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLsizei maxcount,
209a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLsizei* count,
210a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint* shaders);
211a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  GLint (*GetAttribLocation)(PP_Resource context,
212a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLuint program,
213a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             const char* name);
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetBooleanv)(PP_Resource context, GLenum pname, GLboolean* params);
215a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetBufferParameteriv)(PP_Resource context,
216a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum target,
217a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum pname,
218a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLint* params);
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLenum (*GetError)(PP_Resource context);
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetFloatv)(PP_Resource context, GLenum pname, GLfloat* params);
221a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetFramebufferAttachmentParameteriv)(PP_Resource context,
222a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLenum target,
223a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLenum attachment,
224a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLenum pname,
225a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                              GLint* params);
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetIntegerv)(PP_Resource context, GLenum pname, GLint* params);
227a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetProgramiv)(PP_Resource context,
228a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint program,
229a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum pname,
230a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint* params);
231a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetProgramInfoLog)(PP_Resource context,
232a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLuint program,
233a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei bufsize,
234a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLsizei* length,
235a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            char* infolog);
236a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetRenderbufferParameteriv)(PP_Resource context,
237a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLenum target,
238a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLenum pname,
239a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLint* params);
240a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderiv)(PP_Resource context,
241a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      GLuint shader,
242a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      GLenum pname,
243a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                      GLint* params);
244a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderInfoLog)(PP_Resource context,
245a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLuint shader,
246a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei bufsize,
247a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei* length,
248a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           char* infolog);
249a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderPrecisionFormat)(PP_Resource context,
250a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLenum shadertype,
251a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLenum precisiontype,
252a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLint* range,
253a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLint* precision);
254a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetShaderSource)(PP_Resource context,
255a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint shader,
256a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei bufsize,
257a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLsizei* length,
258a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          char* source);
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  const GLubyte* (*GetString)(PP_Resource context, GLenum name);
260a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetTexParameterfv)(PP_Resource context,
261a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum target,
262a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
263a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLfloat* params);
264a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetTexParameteriv)(PP_Resource context,
265a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum target,
266a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
267a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint* params);
268a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetUniformfv)(PP_Resource context,
269a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint program,
270a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint location,
271a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLfloat* params);
272a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetUniformiv)(PP_Resource context,
273a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint program,
274a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint location,
275a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLint* params);
276a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  GLint (*GetUniformLocation)(PP_Resource context,
277a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLuint program,
278a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              const char* name);
279a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetVertexAttribfv)(PP_Resource context,
280a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLuint index,
281a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
282a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLfloat* params);
283a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetVertexAttribiv)(PP_Resource context,
284a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLuint index,
285a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum pname,
286a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLint* params);
287a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetVertexAttribPointerv)(PP_Resource context,
288a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLuint index,
289a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  GLenum pname,
290a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                  void** pointer);
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Hint)(PP_Resource context, GLenum target, GLenum mode);
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsBuffer)(PP_Resource context, GLuint buffer);
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsEnabled)(PP_Resource context, GLenum cap);
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsFramebuffer)(PP_Resource context, GLuint framebuffer);
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsProgram)(PP_Resource context, GLuint program);
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsRenderbuffer)(PP_Resource context, GLuint renderbuffer);
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsShader)(PP_Resource context, GLuint shader);
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsTexture)(PP_Resource context, GLuint texture);
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*LineWidth)(PP_Resource context, GLfloat width);
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*LinkProgram)(PP_Resource context, GLuint program);
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*PixelStorei)(PP_Resource context, GLenum pname, GLint param);
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*PolygonOffset)(PP_Resource context, GLfloat factor, GLfloat units);
303a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ReadPixels)(PP_Resource context,
304a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint x,
305a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint y,
306a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei width,
307a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei height,
308a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum format,
309a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum type,
310a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     void* pixels);
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ReleaseShaderCompiler)(PP_Resource context);
312a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*RenderbufferStorage)(PP_Resource context,
313a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum target,
314a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum internalformat,
315a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei width,
316a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei height);
317a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*SampleCoverage)(PP_Resource context, GLclampf value, GLboolean invert);
318a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Scissor)(PP_Resource context,
319a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLint x,
320a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLint y,
321a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLsizei width,
322a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                  GLsizei height);
323a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ShaderBinary)(PP_Resource context,
324a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei n,
325a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const GLuint* shaders,
326a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLenum binaryformat,
327a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const void* binary,
328a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei length);
329a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*ShaderSource)(PP_Resource context,
330a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLuint shader,
331a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       GLsizei count,
332a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const char** str,
333a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                       const GLint* length);
334a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilFunc)(PP_Resource context, GLenum func, GLint ref, GLuint mask);
335a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilFuncSeparate)(PP_Resource context,
336a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum face,
337a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum func,
338a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLint ref,
339a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLuint mask);
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*StencilMask)(PP_Resource context, GLuint mask);
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*StencilMaskSeparate)(PP_Resource context, GLenum face, GLuint mask);
342a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilOp)(PP_Resource context,
343a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLenum fail,
344a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLenum zfail,
345a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLenum zpass);
346a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*StencilOpSeparate)(PP_Resource context,
347a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum face,
348a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum fail,
349a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum zfail,
350a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            GLenum zpass);
351a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexImage2D)(PP_Resource context,
352a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum target,
353a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint level,
354a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint internalformat,
355a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei width,
356a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei height,
357a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint border,
358a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum format,
359a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLenum type,
360a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const void* pixels);
361a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameterf)(PP_Resource context,
362a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
363a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum pname,
364a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLfloat param);
365a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameterfv)(PP_Resource context,
366a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum target,
367a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum pname,
368a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         const GLfloat* params);
369a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameteri)(PP_Resource context,
370a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
371a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum pname,
372a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint param);
373a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexParameteriv)(PP_Resource context,
374a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum target,
375a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLenum pname,
376a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         const GLint* params);
377a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*TexSubImage2D)(PP_Resource context,
378a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
379a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint level,
380a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint xoffset,
381a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint yoffset,
382a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLsizei width,
383a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLsizei height,
384a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum format,
385a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum type,
386a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        const void* pixels);
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform1f)(PP_Resource context, GLint location, GLfloat x);
388a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform1fv)(PP_Resource context,
389a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
390a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
391a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform1i)(PP_Resource context, GLint location, GLint x);
393a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform1iv)(PP_Resource context,
394a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
395a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
396a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform2f)(PP_Resource context, GLint location, GLfloat x, GLfloat y);
398a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform2fv)(PP_Resource context,
399a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
400a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
401a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*Uniform2i)(PP_Resource context, GLint location, GLint x, GLint y);
403a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform2iv)(PP_Resource context,
404a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
405a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
406a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
407a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3f)(PP_Resource context,
408a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
409a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat x,
410a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat y,
411a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat z);
412a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3fv)(PP_Resource context,
413a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
414a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
415a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
416a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3i)(PP_Resource context,
417a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
418a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint x,
419a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint y,
420a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint z);
421a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform3iv)(PP_Resource context,
422a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
423a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
424a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
425a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4f)(PP_Resource context,
426a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
427a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat x,
428a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat y,
429a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat z,
430a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLfloat w);
431a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4fv)(PP_Resource context,
432a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
433a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
434a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLfloat* v);
435a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4i)(PP_Resource context,
436a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint location,
437a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint x,
438a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint y,
439a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint z,
440a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                    GLint w);
441a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Uniform4iv)(PP_Resource context,
442a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLint location,
443a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     GLsizei count,
444a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     const GLint* v);
445a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*UniformMatrix2fv)(PP_Resource context,
446a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLint location,
447a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei count,
448a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLboolean transpose,
449a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           const GLfloat* value);
450a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*UniformMatrix3fv)(PP_Resource context,
451a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLint location,
452a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei count,
453a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLboolean transpose,
454a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           const GLfloat* value);
455a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*UniformMatrix4fv)(PP_Resource context,
456a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLint location,
457a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei count,
458a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLboolean transpose,
459a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           const GLfloat* value);
4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*UseProgram)(PP_Resource context, GLuint program);
4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*ValidateProgram)(PP_Resource context, GLuint program);
4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*VertexAttrib1f)(PP_Resource context, GLuint indx, GLfloat x);
463a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib1fv)(PP_Resource context,
464a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint indx,
465a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          const GLfloat* values);
466a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib2f)(PP_Resource context,
467a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLuint indx,
468a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat x,
469a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat y);
470a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib2fv)(PP_Resource context,
471a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint indx,
472a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          const GLfloat* values);
473a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib3f)(PP_Resource context,
474a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLuint indx,
475a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat x,
476a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat y,
477a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat z);
478a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib3fv)(PP_Resource context,
479a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint indx,
480a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          const GLfloat* values);
481a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib4f)(PP_Resource context,
482a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLuint indx,
483a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat x,
484a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat y,
485a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat z,
486a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                         GLfloat w);
487a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttrib4fv)(PP_Resource context,
488a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          GLuint indx,
489a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                          const GLfloat* values);
490a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttribPointer)(PP_Resource context,
491a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLuint indx,
492a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLint size,
493a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLenum type,
494a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLboolean normalized,
495a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              GLsizei stride,
496a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                              const void* ptr);
497a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*Viewport)(PP_Resource context,
498a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   GLint x,
499a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   GLint y,
500a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   GLsizei width,
501a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                   GLsizei height);
5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
504a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0 \
505a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  "PPB_OpenGLES2InstancedArrays;1.0"
506a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE \
507a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0
5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2InstancedArrays {
510a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DrawArraysInstancedANGLE)(PP_Resource context,
511a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLenum mode,
512a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLint first,
513a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLsizei count,
514a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLsizei primcount);
515a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DrawElementsInstancedANGLE)(PP_Resource context,
516a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLenum mode,
517a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLsizei count,
518a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLenum type,
519a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     const void* indices,
520a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                     GLsizei primcount);
521a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*VertexAttribDivisorANGLE)(PP_Resource context,
522a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLuint index,
523a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   GLuint divisor);
5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
526a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0 \
527a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  "PPB_OpenGLES2FramebufferBlit;1.0"
528a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE \
529a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0
5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2FramebufferBlit {
532a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*BlitFramebufferEXT)(PP_Resource context,
533a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint srcX0,
534a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint srcY0,
535a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint srcX1,
536a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint srcY1,
537a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint dstX0,
538a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint dstY0,
539a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint dstX1,
540a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLint dstY1,
541a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLbitfield mask,
542a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                             GLenum filter);
5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
545a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0 \
546a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  "PPB_OpenGLES2FramebufferMultisample;1.0"
547a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE \
548a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2FramebufferMultisample {
551a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*RenderbufferStorageMultisampleEXT)(PP_Resource context,
552a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                            GLenum target,
553a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                            GLsizei samples,
554a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                            GLenum internalformat,
555a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                            GLsizei width,
556a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                            GLsizei height);
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
559a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0 \
560a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  "PPB_OpenGLES2ChromiumEnableFeature;1.0"
561a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE \
562a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0
5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2ChromiumEnableFeature {
5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*EnableFeatureCHROMIUM)(PP_Resource context, const char* feature);
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
568a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0 \
569a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  "PPB_OpenGLES2ChromiumMapSub;1.0"
570a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE \
571a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0
5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2ChromiumMapSub {
574a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void* (*MapBufferSubDataCHROMIUM)(PP_Resource context,
575a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLuint target,
576a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLintptr offset,
577a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLsizeiptr size,
578a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLenum access);
5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*UnmapBufferSubDataCHROMIUM)(PP_Resource context, const void* mem);
580a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void* (*MapTexSubImage2DCHROMIUM)(PP_Resource context,
581a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLenum target,
582a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLint level,
583a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLint xoffset,
584a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLint yoffset,
585a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLsizei width,
586a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLsizei height,
587a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLenum format,
588a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLenum type,
589a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                    GLenum access);
5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*UnmapTexSubImage2DCHROMIUM)(PP_Resource context, const void* mem);
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPB_OPENGLES2_QUERY_INTERFACE_1_0 "PPB_OpenGLES2Query;1.0"
5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPB_OPENGLES2_QUERY_INTERFACE PPB_OPENGLES2_QUERY_INTERFACE_1_0
5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPB_OpenGLES2Query {
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GenQueriesEXT)(PP_Resource context, GLsizei n, GLuint* queries);
598a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*DeleteQueriesEXT)(PP_Resource context,
599a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           GLsizei n,
600a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                           const GLuint* queries);
6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GLboolean (*IsQueryEXT)(PP_Resource context, GLuint id);
6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*BeginQueryEXT)(PP_Resource context, GLenum target, GLuint id);
6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*EndQueryEXT)(PP_Resource context, GLenum target);
604a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetQueryivEXT)(PP_Resource context,
605a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum target,
606a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLenum pname,
607a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                        GLint* params);
608a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  void (*GetQueryObjectuivEXT)(PP_Resource context,
609a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLuint id,
610a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLenum pname,
611a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                               GLuint* params);
6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // PPAPI_C_PPB_OPENGLES2_H_
615