1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file is auto-generated from
6// gpu/command_buffer/build_gles2_cmd_buffer.py
7// DO NOT EDIT!
8
9#ifndef GL_GLEXT_PROTOTYPES
10#define GL_GLEXT_PROTOTYPES
11#endif
12#include <GLES2/gl2.h>
13#include <GLES2/gl2ext.h>
14#include "ppapi/lib/gl/gles2/gl2ext_ppapi.h"
15
16void GL_APIENTRY glActiveTexture(GLenum texture) {
17  glGetInterfacePPAPI()->ActiveTexture(glGetCurrentContextPPAPI(), texture);
18}
19
20void GL_APIENTRY glAttachShader(GLuint program, GLuint shader) {
21  glGetInterfacePPAPI()->AttachShader(
22      glGetCurrentContextPPAPI(), program, shader);
23}
24
25void GL_APIENTRY glBindAttribLocation(
26    GLuint program, GLuint index, const char* name) {
27  glGetInterfacePPAPI()->BindAttribLocation(
28      glGetCurrentContextPPAPI(), program, index, name);
29}
30
31void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer) {
32  glGetInterfacePPAPI()->BindBuffer(
33      glGetCurrentContextPPAPI(), target, buffer);
34}
35
36void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer) {
37  glGetInterfacePPAPI()->BindFramebuffer(
38      glGetCurrentContextPPAPI(), target, framebuffer);
39}
40
41void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer) {
42  glGetInterfacePPAPI()->BindRenderbuffer(
43      glGetCurrentContextPPAPI(), target, renderbuffer);
44}
45
46void GL_APIENTRY glBindTexture(GLenum target, GLuint texture) {
47  glGetInterfacePPAPI()->BindTexture(
48      glGetCurrentContextPPAPI(), target, texture);
49}
50
51void GL_APIENTRY glBlendColor(
52    GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
53  glGetInterfacePPAPI()->BlendColor(
54      glGetCurrentContextPPAPI(), red, green, blue, alpha);
55}
56
57void GL_APIENTRY glBlendEquation(GLenum mode) {
58  glGetInterfacePPAPI()->BlendEquation(glGetCurrentContextPPAPI(), mode);
59}
60
61void GL_APIENTRY glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) {
62  glGetInterfacePPAPI()->BlendEquationSeparate(
63      glGetCurrentContextPPAPI(), modeRGB, modeAlpha);
64}
65
66void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor) {
67  glGetInterfacePPAPI()->BlendFunc(
68      glGetCurrentContextPPAPI(), sfactor, dfactor);
69}
70
71void GL_APIENTRY glBlendFuncSeparate(
72    GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
73  glGetInterfacePPAPI()->BlendFuncSeparate(
74      glGetCurrentContextPPAPI(), srcRGB, dstRGB, srcAlpha, dstAlpha);
75}
76
77void GL_APIENTRY glBufferData(
78    GLenum target, GLsizeiptr size, const void* data, GLenum usage) {
79  glGetInterfacePPAPI()->BufferData(
80      glGetCurrentContextPPAPI(), target, size, data, usage);
81}
82
83void GL_APIENTRY glBufferSubData(
84    GLenum target, GLintptr offset, GLsizeiptr size, const void* data) {
85  glGetInterfacePPAPI()->BufferSubData(
86      glGetCurrentContextPPAPI(), target, offset, size, data);
87}
88
89GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target) {
90  return glGetInterfacePPAPI()->CheckFramebufferStatus(
91      glGetCurrentContextPPAPI(), target);
92}
93
94void GL_APIENTRY glClear(GLbitfield mask) {
95  glGetInterfacePPAPI()->Clear(glGetCurrentContextPPAPI(), mask);
96}
97
98void GL_APIENTRY glClearColor(
99    GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
100  glGetInterfacePPAPI()->ClearColor(
101      glGetCurrentContextPPAPI(), red, green, blue, alpha);
102}
103
104void GL_APIENTRY glClearDepthf(GLclampf depth) {
105  glGetInterfacePPAPI()->ClearDepthf(glGetCurrentContextPPAPI(), depth);
106}
107
108void GL_APIENTRY glClearStencil(GLint s) {
109  glGetInterfacePPAPI()->ClearStencil(glGetCurrentContextPPAPI(), s);
110}
111
112void GL_APIENTRY glColorMask(
113    GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
114  glGetInterfacePPAPI()->ColorMask(
115      glGetCurrentContextPPAPI(), red, green, blue, alpha);
116}
117
118void GL_APIENTRY glCompileShader(GLuint shader) {
119  glGetInterfacePPAPI()->CompileShader(glGetCurrentContextPPAPI(), shader);
120}
121
122void GL_APIENTRY glCompressedTexImage2D(
123    GLenum target, GLint level, GLenum internalformat, GLsizei width,
124    GLsizei height, GLint border, GLsizei imageSize, const void* data) {
125  glGetInterfacePPAPI()->CompressedTexImage2D(
126      glGetCurrentContextPPAPI(), target, level, internalformat, width, height,
127      border, imageSize, data);
128}
129
130void GL_APIENTRY glCompressedTexSubImage2D(
131    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
132    GLsizei height, GLenum format, GLsizei imageSize, const void* data) {
133  glGetInterfacePPAPI()->CompressedTexSubImage2D(
134      glGetCurrentContextPPAPI(), target, level, xoffset, yoffset, width,
135      height, format, imageSize, data);
136}
137
138void GL_APIENTRY glCopyTexImage2D(
139    GLenum target, GLint level, GLenum internalformat, GLint x, GLint y,
140    GLsizei width, GLsizei height, GLint border) {
141  glGetInterfacePPAPI()->CopyTexImage2D(
142      glGetCurrentContextPPAPI(), target, level, internalformat, x, y, width,
143      height, border);
144}
145
146void GL_APIENTRY glCopyTexSubImage2D(
147    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y,
148    GLsizei width, GLsizei height) {
149  glGetInterfacePPAPI()->CopyTexSubImage2D(
150      glGetCurrentContextPPAPI(), target, level, xoffset, yoffset, x, y, width,
151      height);
152}
153
154GLuint GL_APIENTRY glCreateProgram() {
155  return glGetInterfacePPAPI()->CreateProgram(glGetCurrentContextPPAPI());
156}
157
158GLuint GL_APIENTRY glCreateShader(GLenum type) {
159  return glGetInterfacePPAPI()->CreateShader(glGetCurrentContextPPAPI(), type);
160}
161
162void GL_APIENTRY glCullFace(GLenum mode) {
163  glGetInterfacePPAPI()->CullFace(glGetCurrentContextPPAPI(), mode);
164}
165
166void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint* buffers) {
167  glGetInterfacePPAPI()->DeleteBuffers(glGetCurrentContextPPAPI(), n, buffers);
168}
169
170void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) {
171  glGetInterfacePPAPI()->DeleteFramebuffers(
172      glGetCurrentContextPPAPI(), n, framebuffers);
173}
174
175void GL_APIENTRY glDeleteProgram(GLuint program) {
176  glGetInterfacePPAPI()->DeleteProgram(glGetCurrentContextPPAPI(), program);
177}
178
179void GL_APIENTRY glDeleteRenderbuffers(
180    GLsizei n, const GLuint* renderbuffers) {
181  glGetInterfacePPAPI()->DeleteRenderbuffers(
182      glGetCurrentContextPPAPI(), n, renderbuffers);
183}
184
185void GL_APIENTRY glDeleteShader(GLuint shader) {
186  glGetInterfacePPAPI()->DeleteShader(glGetCurrentContextPPAPI(), shader);
187}
188
189void GL_APIENTRY glDeleteTextures(GLsizei n, const GLuint* textures) {
190  glGetInterfacePPAPI()->DeleteTextures(
191      glGetCurrentContextPPAPI(), n, textures);
192}
193
194void GL_APIENTRY glDepthFunc(GLenum func) {
195  glGetInterfacePPAPI()->DepthFunc(glGetCurrentContextPPAPI(), func);
196}
197
198void GL_APIENTRY glDepthMask(GLboolean flag) {
199  glGetInterfacePPAPI()->DepthMask(glGetCurrentContextPPAPI(), flag);
200}
201
202void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar) {
203  glGetInterfacePPAPI()->DepthRangef(glGetCurrentContextPPAPI(), zNear, zFar);
204}
205
206void GL_APIENTRY glDetachShader(GLuint program, GLuint shader) {
207  glGetInterfacePPAPI()->DetachShader(
208      glGetCurrentContextPPAPI(), program, shader);
209}
210
211void GL_APIENTRY glDisable(GLenum cap) {
212  glGetInterfacePPAPI()->Disable(glGetCurrentContextPPAPI(), cap);
213}
214
215void GL_APIENTRY glDisableVertexAttribArray(GLuint index) {
216  glGetInterfacePPAPI()->DisableVertexAttribArray(
217      glGetCurrentContextPPAPI(), index);
218}
219
220void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count) {
221  glGetInterfacePPAPI()->DrawArrays(
222      glGetCurrentContextPPAPI(), mode, first, count);
223}
224
225void GL_APIENTRY glDrawElements(
226    GLenum mode, GLsizei count, GLenum type, const void* indices) {
227  glGetInterfacePPAPI()->DrawElements(
228      glGetCurrentContextPPAPI(), mode, count, type, indices);
229}
230
231void GL_APIENTRY glEnable(GLenum cap) {
232  glGetInterfacePPAPI()->Enable(glGetCurrentContextPPAPI(), cap);
233}
234
235void GL_APIENTRY glEnableVertexAttribArray(GLuint index) {
236  glGetInterfacePPAPI()->EnableVertexAttribArray(
237      glGetCurrentContextPPAPI(), index);
238}
239
240void GL_APIENTRY glFinish() {
241  glGetInterfacePPAPI()->Finish(glGetCurrentContextPPAPI());
242}
243
244void GL_APIENTRY glFlush() {
245  glGetInterfacePPAPI()->Flush(glGetCurrentContextPPAPI());
246}
247
248void GL_APIENTRY glFramebufferRenderbuffer(
249    GLenum target, GLenum attachment, GLenum renderbuffertarget,
250    GLuint renderbuffer) {
251  glGetInterfacePPAPI()->FramebufferRenderbuffer(
252      glGetCurrentContextPPAPI(), target, attachment, renderbuffertarget,
253      renderbuffer);
254}
255
256void GL_APIENTRY glFramebufferTexture2D(
257    GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
258    GLint level) {
259  glGetInterfacePPAPI()->FramebufferTexture2D(
260      glGetCurrentContextPPAPI(), target, attachment, textarget, texture,
261      level);
262}
263
264void GL_APIENTRY glFrontFace(GLenum mode) {
265  glGetInterfacePPAPI()->FrontFace(glGetCurrentContextPPAPI(), mode);
266}
267
268void GL_APIENTRY glGenBuffers(GLsizei n, GLuint* buffers) {
269  glGetInterfacePPAPI()->GenBuffers(glGetCurrentContextPPAPI(), n, buffers);
270}
271
272void GL_APIENTRY glGenerateMipmap(GLenum target) {
273  glGetInterfacePPAPI()->GenerateMipmap(glGetCurrentContextPPAPI(), target);
274}
275
276void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers) {
277  glGetInterfacePPAPI()->GenFramebuffers(
278      glGetCurrentContextPPAPI(), n, framebuffers);
279}
280
281void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) {
282  glGetInterfacePPAPI()->GenRenderbuffers(
283      glGetCurrentContextPPAPI(), n, renderbuffers);
284}
285
286void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures) {
287  glGetInterfacePPAPI()->GenTextures(glGetCurrentContextPPAPI(), n, textures);
288}
289
290void GL_APIENTRY glGetActiveAttrib(
291    GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
292    GLenum* type, char* name) {
293  glGetInterfacePPAPI()->GetActiveAttrib(
294      glGetCurrentContextPPAPI(), program, index, bufsize, length, size, type,
295      name);
296}
297
298void GL_APIENTRY glGetActiveUniform(
299    GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
300    GLenum* type, char* name) {
301  glGetInterfacePPAPI()->GetActiveUniform(
302      glGetCurrentContextPPAPI(), program, index, bufsize, length, size, type,
303      name);
304}
305
306void GL_APIENTRY glGetAttachedShaders(
307    GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) {
308  glGetInterfacePPAPI()->GetAttachedShaders(
309      glGetCurrentContextPPAPI(), program, maxcount, count, shaders);
310}
311
312GLint GL_APIENTRY glGetAttribLocation(GLuint program, const char* name) {
313  return glGetInterfacePPAPI()->GetAttribLocation(
314      glGetCurrentContextPPAPI(), program, name);
315}
316
317void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean* params) {
318  glGetInterfacePPAPI()->GetBooleanv(
319      glGetCurrentContextPPAPI(), pname, params);
320}
321
322void GL_APIENTRY glGetBufferParameteriv(
323    GLenum target, GLenum pname, GLint* params) {
324  glGetInterfacePPAPI()->GetBufferParameteriv(
325      glGetCurrentContextPPAPI(), target, pname, params);
326}
327
328GLenum GL_APIENTRY glGetError() {
329  return glGetInterfacePPAPI()->GetError(glGetCurrentContextPPAPI());
330}
331
332void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat* params) {
333  glGetInterfacePPAPI()->GetFloatv(glGetCurrentContextPPAPI(), pname, params);
334}
335
336void GL_APIENTRY glGetFramebufferAttachmentParameteriv(
337    GLenum target, GLenum attachment, GLenum pname, GLint* params) {
338  glGetInterfacePPAPI()->GetFramebufferAttachmentParameteriv(
339      glGetCurrentContextPPAPI(), target, attachment, pname, params);
340}
341
342void GL_APIENTRY glGetIntegerv(GLenum pname, GLint* params) {
343  glGetInterfacePPAPI()->GetIntegerv(
344      glGetCurrentContextPPAPI(), pname, params);
345}
346
347void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint* params) {
348  glGetInterfacePPAPI()->GetProgramiv(
349      glGetCurrentContextPPAPI(), program, pname, params);
350}
351
352void GL_APIENTRY glGetProgramInfoLog(
353    GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) {
354  glGetInterfacePPAPI()->GetProgramInfoLog(
355      glGetCurrentContextPPAPI(), program, bufsize, length, infolog);
356}
357
358void GL_APIENTRY glGetRenderbufferParameteriv(
359    GLenum target, GLenum pname, GLint* params) {
360  glGetInterfacePPAPI()->GetRenderbufferParameteriv(
361      glGetCurrentContextPPAPI(), target, pname, params);
362}
363
364void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params) {
365  glGetInterfacePPAPI()->GetShaderiv(
366      glGetCurrentContextPPAPI(), shader, pname, params);
367}
368
369void GL_APIENTRY glGetShaderInfoLog(
370    GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) {
371  glGetInterfacePPAPI()->GetShaderInfoLog(
372      glGetCurrentContextPPAPI(), shader, bufsize, length, infolog);
373}
374
375void GL_APIENTRY glGetShaderPrecisionFormat(
376    GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) {
377  glGetInterfacePPAPI()->GetShaderPrecisionFormat(
378      glGetCurrentContextPPAPI(), shadertype, precisiontype, range, precision);
379}
380
381void GL_APIENTRY glGetShaderSource(
382    GLuint shader, GLsizei bufsize, GLsizei* length, char* source) {
383  glGetInterfacePPAPI()->GetShaderSource(
384      glGetCurrentContextPPAPI(), shader, bufsize, length, source);
385}
386
387const GLubyte* GL_APIENTRY glGetString(GLenum name) {
388  return glGetInterfacePPAPI()->GetString(glGetCurrentContextPPAPI(), name);
389}
390
391void GL_APIENTRY glGetTexParameterfv(
392    GLenum target, GLenum pname, GLfloat* params) {
393  glGetInterfacePPAPI()->GetTexParameterfv(
394      glGetCurrentContextPPAPI(), target, pname, params);
395}
396
397void GL_APIENTRY glGetTexParameteriv(
398    GLenum target, GLenum pname, GLint* params) {
399  glGetInterfacePPAPI()->GetTexParameteriv(
400      glGetCurrentContextPPAPI(), target, pname, params);
401}
402
403void GL_APIENTRY glGetUniformfv(
404    GLuint program, GLint location, GLfloat* params) {
405  glGetInterfacePPAPI()->GetUniformfv(
406      glGetCurrentContextPPAPI(), program, location, params);
407}
408
409void GL_APIENTRY glGetUniformiv(
410    GLuint program, GLint location, GLint* params) {
411  glGetInterfacePPAPI()->GetUniformiv(
412      glGetCurrentContextPPAPI(), program, location, params);
413}
414
415GLint GL_APIENTRY glGetUniformLocation(GLuint program, const char* name) {
416  return glGetInterfacePPAPI()->GetUniformLocation(
417      glGetCurrentContextPPAPI(), program, name);
418}
419
420void GL_APIENTRY glGetVertexAttribfv(
421    GLuint index, GLenum pname, GLfloat* params) {
422  glGetInterfacePPAPI()->GetVertexAttribfv(
423      glGetCurrentContextPPAPI(), index, pname, params);
424}
425
426void GL_APIENTRY glGetVertexAttribiv(
427    GLuint index, GLenum pname, GLint* params) {
428  glGetInterfacePPAPI()->GetVertexAttribiv(
429      glGetCurrentContextPPAPI(), index, pname, params);
430}
431
432void GL_APIENTRY glGetVertexAttribPointerv(
433    GLuint index, GLenum pname, void** pointer) {
434  glGetInterfacePPAPI()->GetVertexAttribPointerv(
435      glGetCurrentContextPPAPI(), index, pname, pointer);
436}
437
438void GL_APIENTRY glHint(GLenum target, GLenum mode) {
439  glGetInterfacePPAPI()->Hint(glGetCurrentContextPPAPI(), target, mode);
440}
441
442GLboolean GL_APIENTRY glIsBuffer(GLuint buffer) {
443  return glGetInterfacePPAPI()->IsBuffer(glGetCurrentContextPPAPI(), buffer);
444}
445
446GLboolean GL_APIENTRY glIsEnabled(GLenum cap) {
447  return glGetInterfacePPAPI()->IsEnabled(glGetCurrentContextPPAPI(), cap);
448}
449
450GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer) {
451  return glGetInterfacePPAPI()->IsFramebuffer(
452      glGetCurrentContextPPAPI(), framebuffer);
453}
454
455GLboolean GL_APIENTRY glIsProgram(GLuint program) {
456  return glGetInterfacePPAPI()->IsProgram(glGetCurrentContextPPAPI(), program);
457}
458
459GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer) {
460  return glGetInterfacePPAPI()->IsRenderbuffer(
461      glGetCurrentContextPPAPI(), renderbuffer);
462}
463
464GLboolean GL_APIENTRY glIsShader(GLuint shader) {
465  return glGetInterfacePPAPI()->IsShader(glGetCurrentContextPPAPI(), shader);
466}
467
468GLboolean GL_APIENTRY glIsTexture(GLuint texture) {
469  return glGetInterfacePPAPI()->IsTexture(glGetCurrentContextPPAPI(), texture);
470}
471
472void GL_APIENTRY glLineWidth(GLfloat width) {
473  glGetInterfacePPAPI()->LineWidth(glGetCurrentContextPPAPI(), width);
474}
475
476void GL_APIENTRY glLinkProgram(GLuint program) {
477  glGetInterfacePPAPI()->LinkProgram(glGetCurrentContextPPAPI(), program);
478}
479
480void GL_APIENTRY glPixelStorei(GLenum pname, GLint param) {
481  glGetInterfacePPAPI()->PixelStorei(glGetCurrentContextPPAPI(), pname, param);
482}
483
484void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units) {
485  glGetInterfacePPAPI()->PolygonOffset(
486      glGetCurrentContextPPAPI(), factor, units);
487}
488
489void GL_APIENTRY glReadPixels(
490    GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
491    void* pixels) {
492  glGetInterfacePPAPI()->ReadPixels(
493      glGetCurrentContextPPAPI(), x, y, width, height, format, type, pixels);
494}
495
496void GL_APIENTRY glReleaseShaderCompiler() {
497  glGetInterfacePPAPI()->ReleaseShaderCompiler(glGetCurrentContextPPAPI());
498}
499
500void GL_APIENTRY glRenderbufferStorage(
501    GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
502  glGetInterfacePPAPI()->RenderbufferStorage(
503      glGetCurrentContextPPAPI(), target, internalformat, width, height);
504}
505
506void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert) {
507  glGetInterfacePPAPI()->SampleCoverage(
508      glGetCurrentContextPPAPI(), value, invert);
509}
510
511void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height) {
512  glGetInterfacePPAPI()->Scissor(
513      glGetCurrentContextPPAPI(), x, y, width, height);
514}
515
516void GL_APIENTRY glShaderBinary(
517    GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
518    GLsizei length) {
519  glGetInterfacePPAPI()->ShaderBinary(
520      glGetCurrentContextPPAPI(), n, shaders, binaryformat, binary, length);
521}
522
523void GL_APIENTRY glShaderSource(
524    GLuint shader, GLsizei count, const char** str, const GLint* length) {
525  glGetInterfacePPAPI()->ShaderSource(
526      glGetCurrentContextPPAPI(), shader, count, str, length);
527}
528
529void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, GLuint mask) {
530  glGetInterfacePPAPI()->StencilFunc(
531      glGetCurrentContextPPAPI(), func, ref, mask);
532}
533
534void GL_APIENTRY glStencilFuncSeparate(
535    GLenum face, GLenum func, GLint ref, GLuint mask) {
536  glGetInterfacePPAPI()->StencilFuncSeparate(
537      glGetCurrentContextPPAPI(), face, func, ref, mask);
538}
539
540void GL_APIENTRY glStencilMask(GLuint mask) {
541  glGetInterfacePPAPI()->StencilMask(glGetCurrentContextPPAPI(), mask);
542}
543
544void GL_APIENTRY glStencilMaskSeparate(GLenum face, GLuint mask) {
545  glGetInterfacePPAPI()->StencilMaskSeparate(
546      glGetCurrentContextPPAPI(), face, mask);
547}
548
549void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) {
550  glGetInterfacePPAPI()->StencilOp(
551      glGetCurrentContextPPAPI(), fail, zfail, zpass);
552}
553
554void GL_APIENTRY glStencilOpSeparate(
555    GLenum face, GLenum fail, GLenum zfail, GLenum zpass) {
556  glGetInterfacePPAPI()->StencilOpSeparate(
557      glGetCurrentContextPPAPI(), face, fail, zfail, zpass);
558}
559
560void GL_APIENTRY glTexImage2D(
561    GLenum target, GLint level, GLint internalformat, GLsizei width,
562    GLsizei height, GLint border, GLenum format, GLenum type,
563    const void* pixels) {
564  glGetInterfacePPAPI()->TexImage2D(
565      glGetCurrentContextPPAPI(), target, level, internalformat, width, height,
566      border, format, type, pixels);
567}
568
569void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param) {
570  glGetInterfacePPAPI()->TexParameterf(
571      glGetCurrentContextPPAPI(), target, pname, param);
572}
573
574void GL_APIENTRY glTexParameterfv(
575    GLenum target, GLenum pname, const GLfloat* params) {
576  glGetInterfacePPAPI()->TexParameterfv(
577      glGetCurrentContextPPAPI(), target, pname, params);
578}
579
580void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param) {
581  glGetInterfacePPAPI()->TexParameteri(
582      glGetCurrentContextPPAPI(), target, pname, param);
583}
584
585void GL_APIENTRY glTexParameteriv(
586    GLenum target, GLenum pname, const GLint* params) {
587  glGetInterfacePPAPI()->TexParameteriv(
588      glGetCurrentContextPPAPI(), target, pname, params);
589}
590
591void GL_APIENTRY glTexSubImage2D(
592    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
593    GLsizei height, GLenum format, GLenum type, const void* pixels) {
594  glGetInterfacePPAPI()->TexSubImage2D(
595      glGetCurrentContextPPAPI(), target, level, xoffset, yoffset, width,
596      height, format, type, pixels);
597}
598
599void GL_APIENTRY glUniform1f(GLint location, GLfloat x) {
600  glGetInterfacePPAPI()->Uniform1f(glGetCurrentContextPPAPI(), location, x);
601}
602
603void GL_APIENTRY glUniform1fv(
604    GLint location, GLsizei count, const GLfloat* v) {
605  glGetInterfacePPAPI()->Uniform1fv(
606      glGetCurrentContextPPAPI(), location, count, v);
607}
608
609void GL_APIENTRY glUniform1i(GLint location, GLint x) {
610  glGetInterfacePPAPI()->Uniform1i(glGetCurrentContextPPAPI(), location, x);
611}
612
613void GL_APIENTRY glUniform1iv(GLint location, GLsizei count, const GLint* v) {
614  glGetInterfacePPAPI()->Uniform1iv(
615      glGetCurrentContextPPAPI(), location, count, v);
616}
617
618void GL_APIENTRY glUniform2f(GLint location, GLfloat x, GLfloat y) {
619  glGetInterfacePPAPI()->Uniform2f(glGetCurrentContextPPAPI(), location, x, y);
620}
621
622void GL_APIENTRY glUniform2fv(
623    GLint location, GLsizei count, const GLfloat* v) {
624  glGetInterfacePPAPI()->Uniform2fv(
625      glGetCurrentContextPPAPI(), location, count, v);
626}
627
628void GL_APIENTRY glUniform2i(GLint location, GLint x, GLint y) {
629  glGetInterfacePPAPI()->Uniform2i(glGetCurrentContextPPAPI(), location, x, y);
630}
631
632void GL_APIENTRY glUniform2iv(GLint location, GLsizei count, const GLint* v) {
633  glGetInterfacePPAPI()->Uniform2iv(
634      glGetCurrentContextPPAPI(), location, count, v);
635}
636
637void GL_APIENTRY glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) {
638  glGetInterfacePPAPI()->Uniform3f(
639      glGetCurrentContextPPAPI(), location, x, y, z);
640}
641
642void GL_APIENTRY glUniform3fv(
643    GLint location, GLsizei count, const GLfloat* v) {
644  glGetInterfacePPAPI()->Uniform3fv(
645      glGetCurrentContextPPAPI(), location, count, v);
646}
647
648void GL_APIENTRY glUniform3i(GLint location, GLint x, GLint y, GLint z) {
649  glGetInterfacePPAPI()->Uniform3i(
650      glGetCurrentContextPPAPI(), location, x, y, z);
651}
652
653void GL_APIENTRY glUniform3iv(GLint location, GLsizei count, const GLint* v) {
654  glGetInterfacePPAPI()->Uniform3iv(
655      glGetCurrentContextPPAPI(), location, count, v);
656}
657
658void GL_APIENTRY glUniform4f(
659    GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
660  glGetInterfacePPAPI()->Uniform4f(
661      glGetCurrentContextPPAPI(), location, x, y, z, w);
662}
663
664void GL_APIENTRY glUniform4fv(
665    GLint location, GLsizei count, const GLfloat* v) {
666  glGetInterfacePPAPI()->Uniform4fv(
667      glGetCurrentContextPPAPI(), location, count, v);
668}
669
670void GL_APIENTRY glUniform4i(
671    GLint location, GLint x, GLint y, GLint z, GLint w) {
672  glGetInterfacePPAPI()->Uniform4i(
673      glGetCurrentContextPPAPI(), location, x, y, z, w);
674}
675
676void GL_APIENTRY glUniform4iv(GLint location, GLsizei count, const GLint* v) {
677  glGetInterfacePPAPI()->Uniform4iv(
678      glGetCurrentContextPPAPI(), location, count, v);
679}
680
681void GL_APIENTRY glUniformMatrix2fv(
682    GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
683  glGetInterfacePPAPI()->UniformMatrix2fv(
684      glGetCurrentContextPPAPI(), location, count, transpose, value);
685}
686
687void GL_APIENTRY glUniformMatrix3fv(
688    GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
689  glGetInterfacePPAPI()->UniformMatrix3fv(
690      glGetCurrentContextPPAPI(), location, count, transpose, value);
691}
692
693void GL_APIENTRY glUniformMatrix4fv(
694    GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
695  glGetInterfacePPAPI()->UniformMatrix4fv(
696      glGetCurrentContextPPAPI(), location, count, transpose, value);
697}
698
699void GL_APIENTRY glUseProgram(GLuint program) {
700  glGetInterfacePPAPI()->UseProgram(glGetCurrentContextPPAPI(), program);
701}
702
703void GL_APIENTRY glValidateProgram(GLuint program) {
704  glGetInterfacePPAPI()->ValidateProgram(glGetCurrentContextPPAPI(), program);
705}
706
707void GL_APIENTRY glVertexAttrib1f(GLuint indx, GLfloat x) {
708  glGetInterfacePPAPI()->VertexAttrib1f(glGetCurrentContextPPAPI(), indx, x);
709}
710
711void GL_APIENTRY glVertexAttrib1fv(GLuint indx, const GLfloat* values) {
712  glGetInterfacePPAPI()->VertexAttrib1fv(
713      glGetCurrentContextPPAPI(), indx, values);
714}
715
716void GL_APIENTRY glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) {
717  glGetInterfacePPAPI()->VertexAttrib2f(
718      glGetCurrentContextPPAPI(), indx, x, y);
719}
720
721void GL_APIENTRY glVertexAttrib2fv(GLuint indx, const GLfloat* values) {
722  glGetInterfacePPAPI()->VertexAttrib2fv(
723      glGetCurrentContextPPAPI(), indx, values);
724}
725
726void GL_APIENTRY glVertexAttrib3f(
727    GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
728  glGetInterfacePPAPI()->VertexAttrib3f(
729      glGetCurrentContextPPAPI(), indx, x, y, z);
730}
731
732void GL_APIENTRY glVertexAttrib3fv(GLuint indx, const GLfloat* values) {
733  glGetInterfacePPAPI()->VertexAttrib3fv(
734      glGetCurrentContextPPAPI(), indx, values);
735}
736
737void GL_APIENTRY glVertexAttrib4f(
738    GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
739  glGetInterfacePPAPI()->VertexAttrib4f(
740      glGetCurrentContextPPAPI(), indx, x, y, z, w);
741}
742
743void GL_APIENTRY glVertexAttrib4fv(GLuint indx, const GLfloat* values) {
744  glGetInterfacePPAPI()->VertexAttrib4fv(
745      glGetCurrentContextPPAPI(), indx, values);
746}
747
748void GL_APIENTRY glVertexAttribPointer(
749    GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride,
750    const void* ptr) {
751  glGetInterfacePPAPI()->VertexAttribPointer(
752      glGetCurrentContextPPAPI(), indx, size, type, normalized, stride, ptr);
753}
754
755void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height) {
756  glGetInterfacePPAPI()->Viewport(
757      glGetCurrentContextPPAPI(), x, y, width, height);
758}
759
760void GL_APIENTRY glBlitFramebufferEXT(
761    GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
762    GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {
763  const struct PPB_OpenGLES2FramebufferBlit* ext =
764      glGetFramebufferBlitInterfacePPAPI();
765  if (ext)
766    ext->BlitFramebufferEXT(
767        glGetCurrentContextPPAPI(), srcX0, srcY0, srcX1, srcY1, dstX0, dstY0,
768        dstX1, dstY1, mask, filter);
769}
770
771void GL_APIENTRY glRenderbufferStorageMultisampleEXT(
772    GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
773    GLsizei height) {
774  const struct PPB_OpenGLES2FramebufferMultisample* ext =
775      glGetFramebufferMultisampleInterfacePPAPI();
776  if (ext)
777    ext->RenderbufferStorageMultisampleEXT(
778        glGetCurrentContextPPAPI(), target, samples, internalformat, width,
779        height);
780}
781
782void GL_APIENTRY glGenQueriesEXT(GLsizei n, GLuint* queries) {
783  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
784  if (ext)
785    ext->GenQueriesEXT(glGetCurrentContextPPAPI(), n, queries);
786}
787
788void GL_APIENTRY glDeleteQueriesEXT(GLsizei n, const GLuint* queries) {
789  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
790  if (ext)
791    ext->DeleteQueriesEXT(glGetCurrentContextPPAPI(), n, queries);
792}
793
794GLboolean GL_APIENTRY glIsQueryEXT(GLuint id) {
795  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
796  if (ext)
797    return ext->IsQueryEXT(glGetCurrentContextPPAPI(), id);
798  return 0;
799}
800
801void GL_APIENTRY glBeginQueryEXT(GLenum target, GLuint id) {
802  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
803  if (ext)
804    ext->BeginQueryEXT(glGetCurrentContextPPAPI(), target, id);
805}
806
807void GL_APIENTRY glEndQueryEXT(GLenum target) {
808  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
809  if (ext)
810    ext->EndQueryEXT(glGetCurrentContextPPAPI(), target);
811}
812
813void GL_APIENTRY glGetQueryivEXT(GLenum target, GLenum pname, GLint* params) {
814  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
815  if (ext)
816    ext->GetQueryivEXT(glGetCurrentContextPPAPI(), target, pname, params);
817}
818
819void GL_APIENTRY glGetQueryObjectuivEXT(
820    GLuint id, GLenum pname, GLuint* params) {
821  const struct PPB_OpenGLES2Query* ext = glGetQueryInterfacePPAPI();
822  if (ext)
823    ext->GetQueryObjectuivEXT(glGetCurrentContextPPAPI(), id, pname, params);
824}
825
826GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature) {
827  const struct PPB_OpenGLES2ChromiumEnableFeature* ext =
828      glGetChromiumEnableFeatureInterfacePPAPI();
829  if (ext)
830    return ext->EnableFeatureCHROMIUM(glGetCurrentContextPPAPI(), feature);
831  return 0;
832}
833
834void* GL_APIENTRY glMapBufferSubDataCHROMIUM(
835    GLuint target, GLintptr offset, GLsizeiptr size, GLenum access) {
836  const struct PPB_OpenGLES2ChromiumMapSub* ext =
837      glGetChromiumMapSubInterfacePPAPI();
838  if (ext)
839    return ext->MapBufferSubDataCHROMIUM(
840        glGetCurrentContextPPAPI(), target, offset, size, access);
841  return 0;
842}
843
844void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem) {
845  const struct PPB_OpenGLES2ChromiumMapSub* ext =
846      glGetChromiumMapSubInterfacePPAPI();
847  if (ext)
848    ext->UnmapBufferSubDataCHROMIUM(glGetCurrentContextPPAPI(), mem);
849}
850
851void* GL_APIENTRY glMapTexSubImage2DCHROMIUM(
852    GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
853    GLsizei height, GLenum format, GLenum type, GLenum access) {
854  const struct PPB_OpenGLES2ChromiumMapSub* ext =
855      glGetChromiumMapSubInterfacePPAPI();
856  if (ext)
857    return ext->MapTexSubImage2DCHROMIUM(
858        glGetCurrentContextPPAPI(), target, level, xoffset, yoffset, width,
859        height, format, type, access);
860  return 0;
861}
862
863void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem) {
864  const struct PPB_OpenGLES2ChromiumMapSub* ext =
865      glGetChromiumMapSubInterfacePPAPI();
866  if (ext)
867    ext->UnmapTexSubImage2DCHROMIUM(glGetCurrentContextPPAPI(), mem);
868}
869
870void GL_APIENTRY glDrawArraysInstancedANGLE(
871    GLenum mode, GLint first, GLsizei count, GLsizei primcount) {
872  const struct PPB_OpenGLES2InstancedArrays* ext =
873      glGetInstancedArraysInterfacePPAPI();
874  if (ext)
875    ext->DrawArraysInstancedANGLE(
876        glGetCurrentContextPPAPI(), mode, first, count, primcount);
877}
878
879void GL_APIENTRY glDrawElementsInstancedANGLE(
880    GLenum mode, GLsizei count, GLenum type, const void* indices,
881    GLsizei primcount) {
882  const struct PPB_OpenGLES2InstancedArrays* ext =
883      glGetInstancedArraysInterfacePPAPI();
884  if (ext)
885    ext->DrawElementsInstancedANGLE(
886        glGetCurrentContextPPAPI(), mode, count, type, indices, primcount);
887}
888
889void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) {
890  const struct PPB_OpenGLES2InstancedArrays* ext =
891      glGetInstancedArraysInterfacePPAPI();
892  if (ext)
893    ext->VertexAttribDivisorANGLE(glGetCurrentContextPPAPI(), index, divisor);
894}
895
896