- add sources.
[platform/framework/web/crosswalk.git] / src / gpu / command_buffer / client / gles2_c_lib_autogen.h
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 // These functions emulate GLES2 over command buffers.
10 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_C_LIB_AUTOGEN_H_
11 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_C_LIB_AUTOGEN_H_
12
13 void GLES2ActiveTexture(GLenum texture) {
14   gles2::GetGLContext()->ActiveTexture(texture);
15 }
16 void GLES2AttachShader(GLuint program, GLuint shader) {
17   gles2::GetGLContext()->AttachShader(program, shader);
18 }
19 void GLES2BindAttribLocation(GLuint program, GLuint index, const char* name) {
20   gles2::GetGLContext()->BindAttribLocation(program, index, name);
21 }
22 void GLES2BindBuffer(GLenum target, GLuint buffer) {
23   gles2::GetGLContext()->BindBuffer(target, buffer);
24 }
25 void GLES2BindFramebuffer(GLenum target, GLuint framebuffer) {
26   gles2::GetGLContext()->BindFramebuffer(target, framebuffer);
27 }
28 void GLES2BindRenderbuffer(GLenum target, GLuint renderbuffer) {
29   gles2::GetGLContext()->BindRenderbuffer(target, renderbuffer);
30 }
31 void GLES2BindTexture(GLenum target, GLuint texture) {
32   gles2::GetGLContext()->BindTexture(target, texture);
33 }
34 void GLES2BlendColor(
35     GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
36   gles2::GetGLContext()->BlendColor(red, green, blue, alpha);
37 }
38 void GLES2BlendEquation(GLenum mode) {
39   gles2::GetGLContext()->BlendEquation(mode);
40 }
41 void GLES2BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) {
42   gles2::GetGLContext()->BlendEquationSeparate(modeRGB, modeAlpha);
43 }
44 void GLES2BlendFunc(GLenum sfactor, GLenum dfactor) {
45   gles2::GetGLContext()->BlendFunc(sfactor, dfactor);
46 }
47 void GLES2BlendFuncSeparate(
48     GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
49   gles2::GetGLContext()->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
50 }
51 void GLES2BufferData(
52     GLenum target, GLsizeiptr size, const void* data, GLenum usage) {
53   gles2::GetGLContext()->BufferData(target, size, data, usage);
54 }
55 void GLES2BufferSubData(
56     GLenum target, GLintptr offset, GLsizeiptr size, const void* data) {
57   gles2::GetGLContext()->BufferSubData(target, offset, size, data);
58 }
59 GLenum GLES2CheckFramebufferStatus(GLenum target) {
60   return gles2::GetGLContext()->CheckFramebufferStatus(target);
61 }
62 void GLES2Clear(GLbitfield mask) {
63   gles2::GetGLContext()->Clear(mask);
64 }
65 void GLES2ClearColor(
66     GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
67   gles2::GetGLContext()->ClearColor(red, green, blue, alpha);
68 }
69 void GLES2ClearDepthf(GLclampf depth) {
70   gles2::GetGLContext()->ClearDepthf(depth);
71 }
72 void GLES2ClearStencil(GLint s) {
73   gles2::GetGLContext()->ClearStencil(s);
74 }
75 void GLES2ColorMask(
76     GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
77   gles2::GetGLContext()->ColorMask(red, green, blue, alpha);
78 }
79 void GLES2CompileShader(GLuint shader) {
80   gles2::GetGLContext()->CompileShader(shader);
81 }
82 void GLES2CompressedTexImage2D(
83     GLenum target, GLint level, GLenum internalformat, GLsizei width,
84     GLsizei height, GLint border, GLsizei imageSize, const void* data) {
85   gles2::GetGLContext()->CompressedTexImage2D(
86       target, level, internalformat, width, height, border, imageSize, data);
87 }
88 void GLES2CompressedTexSubImage2D(
89     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
90     GLsizei height, GLenum format, GLsizei imageSize, const void* data) {
91   gles2::GetGLContext()->CompressedTexSubImage2D(
92       target, level, xoffset, yoffset, width, height, format, imageSize, data);
93 }
94 void GLES2CopyTexImage2D(
95     GLenum target, GLint level, GLenum internalformat, GLint x, GLint y,
96     GLsizei width, GLsizei height, GLint border) {
97   gles2::GetGLContext()->CopyTexImage2D(
98       target, level, internalformat, x, y, width, height, border);
99 }
100 void GLES2CopyTexSubImage2D(
101     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y,
102     GLsizei width, GLsizei height) {
103   gles2::GetGLContext()->CopyTexSubImage2D(
104       target, level, xoffset, yoffset, x, y, width, height);
105 }
106 GLuint GLES2CreateProgram() {
107   return gles2::GetGLContext()->CreateProgram();
108 }
109 GLuint GLES2CreateShader(GLenum type) {
110   return gles2::GetGLContext()->CreateShader(type);
111 }
112 void GLES2CullFace(GLenum mode) {
113   gles2::GetGLContext()->CullFace(mode);
114 }
115 void GLES2DeleteBuffers(GLsizei n, const GLuint* buffers) {
116   gles2::GetGLContext()->DeleteBuffers(n, buffers);
117 }
118 void GLES2DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) {
119   gles2::GetGLContext()->DeleteFramebuffers(n, framebuffers);
120 }
121 void GLES2DeleteProgram(GLuint program) {
122   gles2::GetGLContext()->DeleteProgram(program);
123 }
124 void GLES2DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) {
125   gles2::GetGLContext()->DeleteRenderbuffers(n, renderbuffers);
126 }
127 void GLES2DeleteShader(GLuint shader) {
128   gles2::GetGLContext()->DeleteShader(shader);
129 }
130 void GLES2DeleteTextures(GLsizei n, const GLuint* textures) {
131   gles2::GetGLContext()->DeleteTextures(n, textures);
132 }
133 void GLES2DepthFunc(GLenum func) {
134   gles2::GetGLContext()->DepthFunc(func);
135 }
136 void GLES2DepthMask(GLboolean flag) {
137   gles2::GetGLContext()->DepthMask(flag);
138 }
139 void GLES2DepthRangef(GLclampf zNear, GLclampf zFar) {
140   gles2::GetGLContext()->DepthRangef(zNear, zFar);
141 }
142 void GLES2DetachShader(GLuint program, GLuint shader) {
143   gles2::GetGLContext()->DetachShader(program, shader);
144 }
145 void GLES2Disable(GLenum cap) {
146   gles2::GetGLContext()->Disable(cap);
147 }
148 void GLES2DisableVertexAttribArray(GLuint index) {
149   gles2::GetGLContext()->DisableVertexAttribArray(index);
150 }
151 void GLES2DrawArrays(GLenum mode, GLint first, GLsizei count) {
152   gles2::GetGLContext()->DrawArrays(mode, first, count);
153 }
154 void GLES2DrawElements(
155     GLenum mode, GLsizei count, GLenum type, const void* indices) {
156   gles2::GetGLContext()->DrawElements(mode, count, type, indices);
157 }
158 void GLES2Enable(GLenum cap) {
159   gles2::GetGLContext()->Enable(cap);
160 }
161 void GLES2EnableVertexAttribArray(GLuint index) {
162   gles2::GetGLContext()->EnableVertexAttribArray(index);
163 }
164 void GLES2Finish() {
165   gles2::GetGLContext()->Finish();
166 }
167 void GLES2Flush() {
168   gles2::GetGLContext()->Flush();
169 }
170 void GLES2FramebufferRenderbuffer(
171     GLenum target, GLenum attachment, GLenum renderbuffertarget,
172     GLuint renderbuffer) {
173   gles2::GetGLContext()->FramebufferRenderbuffer(
174       target, attachment, renderbuffertarget, renderbuffer);
175 }
176 void GLES2FramebufferTexture2D(
177     GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
178     GLint level) {
179   gles2::GetGLContext()->FramebufferTexture2D(
180       target, attachment, textarget, texture, level);
181 }
182 void GLES2FrontFace(GLenum mode) {
183   gles2::GetGLContext()->FrontFace(mode);
184 }
185 void GLES2GenBuffers(GLsizei n, GLuint* buffers) {
186   gles2::GetGLContext()->GenBuffers(n, buffers);
187 }
188 void GLES2GenerateMipmap(GLenum target) {
189   gles2::GetGLContext()->GenerateMipmap(target);
190 }
191 void GLES2GenFramebuffers(GLsizei n, GLuint* framebuffers) {
192   gles2::GetGLContext()->GenFramebuffers(n, framebuffers);
193 }
194 void GLES2GenRenderbuffers(GLsizei n, GLuint* renderbuffers) {
195   gles2::GetGLContext()->GenRenderbuffers(n, renderbuffers);
196 }
197 void GLES2GenTextures(GLsizei n, GLuint* textures) {
198   gles2::GetGLContext()->GenTextures(n, textures);
199 }
200 void GLES2GetActiveAttrib(
201     GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
202     GLenum* type, char* name) {
203   gles2::GetGLContext()->GetActiveAttrib(
204       program, index, bufsize, length, size, type, name);
205 }
206 void GLES2GetActiveUniform(
207     GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
208     GLenum* type, char* name) {
209   gles2::GetGLContext()->GetActiveUniform(
210       program, index, bufsize, length, size, type, name);
211 }
212 void GLES2GetAttachedShaders(
213     GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) {
214   gles2::GetGLContext()->GetAttachedShaders(program, maxcount, count, shaders);
215 }
216 GLint GLES2GetAttribLocation(GLuint program, const char* name) {
217   return gles2::GetGLContext()->GetAttribLocation(program, name);
218 }
219 void GLES2GetBooleanv(GLenum pname, GLboolean* params) {
220   gles2::GetGLContext()->GetBooleanv(pname, params);
221 }
222 void GLES2GetBufferParameteriv(GLenum target, GLenum pname, GLint* params) {
223   gles2::GetGLContext()->GetBufferParameteriv(target, pname, params);
224 }
225 GLenum GLES2GetError() {
226   return gles2::GetGLContext()->GetError();
227 }
228 void GLES2GetFloatv(GLenum pname, GLfloat* params) {
229   gles2::GetGLContext()->GetFloatv(pname, params);
230 }
231 void GLES2GetFramebufferAttachmentParameteriv(
232     GLenum target, GLenum attachment, GLenum pname, GLint* params) {
233   gles2::GetGLContext()->GetFramebufferAttachmentParameteriv(
234       target, attachment, pname, params);
235 }
236 void GLES2GetIntegerv(GLenum pname, GLint* params) {
237   gles2::GetGLContext()->GetIntegerv(pname, params);
238 }
239 void GLES2GetProgramiv(GLuint program, GLenum pname, GLint* params) {
240   gles2::GetGLContext()->GetProgramiv(program, pname, params);
241 }
242 void GLES2GetProgramInfoLog(
243     GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) {
244   gles2::GetGLContext()->GetProgramInfoLog(program, bufsize, length, infolog);
245 }
246 void GLES2GetRenderbufferParameteriv(
247     GLenum target, GLenum pname, GLint* params) {
248   gles2::GetGLContext()->GetRenderbufferParameteriv(target, pname, params);
249 }
250 void GLES2GetShaderiv(GLuint shader, GLenum pname, GLint* params) {
251   gles2::GetGLContext()->GetShaderiv(shader, pname, params);
252 }
253 void GLES2GetShaderInfoLog(
254     GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) {
255   gles2::GetGLContext()->GetShaderInfoLog(shader, bufsize, length, infolog);
256 }
257 void GLES2GetShaderPrecisionFormat(
258     GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) {
259   gles2::GetGLContext()->GetShaderPrecisionFormat(
260       shadertype, precisiontype, range, precision);
261 }
262 void GLES2GetShaderSource(
263     GLuint shader, GLsizei bufsize, GLsizei* length, char* source) {
264   gles2::GetGLContext()->GetShaderSource(shader, bufsize, length, source);
265 }
266 const GLubyte* GLES2GetString(GLenum name) {
267   return gles2::GetGLContext()->GetString(name);
268 }
269 void GLES2GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) {
270   gles2::GetGLContext()->GetTexParameterfv(target, pname, params);
271 }
272 void GLES2GetTexParameteriv(GLenum target, GLenum pname, GLint* params) {
273   gles2::GetGLContext()->GetTexParameteriv(target, pname, params);
274 }
275 void GLES2GetUniformfv(GLuint program, GLint location, GLfloat* params) {
276   gles2::GetGLContext()->GetUniformfv(program, location, params);
277 }
278 void GLES2GetUniformiv(GLuint program, GLint location, GLint* params) {
279   gles2::GetGLContext()->GetUniformiv(program, location, params);
280 }
281 GLint GLES2GetUniformLocation(GLuint program, const char* name) {
282   return gles2::GetGLContext()->GetUniformLocation(program, name);
283 }
284 void GLES2GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) {
285   gles2::GetGLContext()->GetVertexAttribfv(index, pname, params);
286 }
287 void GLES2GetVertexAttribiv(GLuint index, GLenum pname, GLint* params) {
288   gles2::GetGLContext()->GetVertexAttribiv(index, pname, params);
289 }
290 void GLES2GetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer) {
291   gles2::GetGLContext()->GetVertexAttribPointerv(index, pname, pointer);
292 }
293 void GLES2Hint(GLenum target, GLenum mode) {
294   gles2::GetGLContext()->Hint(target, mode);
295 }
296 GLboolean GLES2IsBuffer(GLuint buffer) {
297   return gles2::GetGLContext()->IsBuffer(buffer);
298 }
299 GLboolean GLES2IsEnabled(GLenum cap) {
300   return gles2::GetGLContext()->IsEnabled(cap);
301 }
302 GLboolean GLES2IsFramebuffer(GLuint framebuffer) {
303   return gles2::GetGLContext()->IsFramebuffer(framebuffer);
304 }
305 GLboolean GLES2IsProgram(GLuint program) {
306   return gles2::GetGLContext()->IsProgram(program);
307 }
308 GLboolean GLES2IsRenderbuffer(GLuint renderbuffer) {
309   return gles2::GetGLContext()->IsRenderbuffer(renderbuffer);
310 }
311 GLboolean GLES2IsShader(GLuint shader) {
312   return gles2::GetGLContext()->IsShader(shader);
313 }
314 GLboolean GLES2IsTexture(GLuint texture) {
315   return gles2::GetGLContext()->IsTexture(texture);
316 }
317 void GLES2LineWidth(GLfloat width) {
318   gles2::GetGLContext()->LineWidth(width);
319 }
320 void GLES2LinkProgram(GLuint program) {
321   gles2::GetGLContext()->LinkProgram(program);
322 }
323 void GLES2PixelStorei(GLenum pname, GLint param) {
324   gles2::GetGLContext()->PixelStorei(pname, param);
325 }
326 void GLES2PolygonOffset(GLfloat factor, GLfloat units) {
327   gles2::GetGLContext()->PolygonOffset(factor, units);
328 }
329 void GLES2ReadPixels(
330     GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
331     void* pixels) {
332   gles2::GetGLContext()->ReadPixels(x, y, width, height, format, type, pixels);
333 }
334 void GLES2ReleaseShaderCompiler() {
335   gles2::GetGLContext()->ReleaseShaderCompiler();
336 }
337 void GLES2RenderbufferStorage(
338     GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
339   gles2::GetGLContext()->RenderbufferStorage(
340       target, internalformat, width, height);
341 }
342 void GLES2SampleCoverage(GLclampf value, GLboolean invert) {
343   gles2::GetGLContext()->SampleCoverage(value, invert);
344 }
345 void GLES2Scissor(GLint x, GLint y, GLsizei width, GLsizei height) {
346   gles2::GetGLContext()->Scissor(x, y, width, height);
347 }
348 void GLES2ShaderBinary(
349     GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
350     GLsizei length) {
351   gles2::GetGLContext()->ShaderBinary(
352       n, shaders, binaryformat, binary, length);
353 }
354 void GLES2ShaderSource(
355     GLuint shader, GLsizei count, const GLchar* const* str,
356     const GLint* length) {
357   gles2::GetGLContext()->ShaderSource(shader, count, str, length);
358 }
359 void GLES2ShallowFinishCHROMIUM() {
360   gles2::GetGLContext()->ShallowFinishCHROMIUM();
361 }
362 void GLES2ShallowFlushCHROMIUM() {
363   gles2::GetGLContext()->ShallowFlushCHROMIUM();
364 }
365 void GLES2StencilFunc(GLenum func, GLint ref, GLuint mask) {
366   gles2::GetGLContext()->StencilFunc(func, ref, mask);
367 }
368 void GLES2StencilFuncSeparate(
369     GLenum face, GLenum func, GLint ref, GLuint mask) {
370   gles2::GetGLContext()->StencilFuncSeparate(face, func, ref, mask);
371 }
372 void GLES2StencilMask(GLuint mask) {
373   gles2::GetGLContext()->StencilMask(mask);
374 }
375 void GLES2StencilMaskSeparate(GLenum face, GLuint mask) {
376   gles2::GetGLContext()->StencilMaskSeparate(face, mask);
377 }
378 void GLES2StencilOp(GLenum fail, GLenum zfail, GLenum zpass) {
379   gles2::GetGLContext()->StencilOp(fail, zfail, zpass);
380 }
381 void GLES2StencilOpSeparate(
382     GLenum face, GLenum fail, GLenum zfail, GLenum zpass) {
383   gles2::GetGLContext()->StencilOpSeparate(face, fail, zfail, zpass);
384 }
385 void GLES2TexImage2D(
386     GLenum target, GLint level, GLint internalformat, GLsizei width,
387     GLsizei height, GLint border, GLenum format, GLenum type,
388     const void* pixels) {
389   gles2::GetGLContext()->TexImage2D(
390       target, level, internalformat, width, height, border, format, type,
391       pixels);
392 }
393 void GLES2TexParameterf(GLenum target, GLenum pname, GLfloat param) {
394   gles2::GetGLContext()->TexParameterf(target, pname, param);
395 }
396 void GLES2TexParameterfv(GLenum target, GLenum pname, const GLfloat* params) {
397   gles2::GetGLContext()->TexParameterfv(target, pname, params);
398 }
399 void GLES2TexParameteri(GLenum target, GLenum pname, GLint param) {
400   gles2::GetGLContext()->TexParameteri(target, pname, param);
401 }
402 void GLES2TexParameteriv(GLenum target, GLenum pname, const GLint* params) {
403   gles2::GetGLContext()->TexParameteriv(target, pname, params);
404 }
405 void GLES2TexSubImage2D(
406     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
407     GLsizei height, GLenum format, GLenum type, const void* pixels) {
408   gles2::GetGLContext()->TexSubImage2D(
409       target, level, xoffset, yoffset, width, height, format, type, pixels);
410 }
411 void GLES2Uniform1f(GLint location, GLfloat x) {
412   gles2::GetGLContext()->Uniform1f(location, x);
413 }
414 void GLES2Uniform1fv(GLint location, GLsizei count, const GLfloat* v) {
415   gles2::GetGLContext()->Uniform1fv(location, count, v);
416 }
417 void GLES2Uniform1i(GLint location, GLint x) {
418   gles2::GetGLContext()->Uniform1i(location, x);
419 }
420 void GLES2Uniform1iv(GLint location, GLsizei count, const GLint* v) {
421   gles2::GetGLContext()->Uniform1iv(location, count, v);
422 }
423 void GLES2Uniform2f(GLint location, GLfloat x, GLfloat y) {
424   gles2::GetGLContext()->Uniform2f(location, x, y);
425 }
426 void GLES2Uniform2fv(GLint location, GLsizei count, const GLfloat* v) {
427   gles2::GetGLContext()->Uniform2fv(location, count, v);
428 }
429 void GLES2Uniform2i(GLint location, GLint x, GLint y) {
430   gles2::GetGLContext()->Uniform2i(location, x, y);
431 }
432 void GLES2Uniform2iv(GLint location, GLsizei count, const GLint* v) {
433   gles2::GetGLContext()->Uniform2iv(location, count, v);
434 }
435 void GLES2Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) {
436   gles2::GetGLContext()->Uniform3f(location, x, y, z);
437 }
438 void GLES2Uniform3fv(GLint location, GLsizei count, const GLfloat* v) {
439   gles2::GetGLContext()->Uniform3fv(location, count, v);
440 }
441 void GLES2Uniform3i(GLint location, GLint x, GLint y, GLint z) {
442   gles2::GetGLContext()->Uniform3i(location, x, y, z);
443 }
444 void GLES2Uniform3iv(GLint location, GLsizei count, const GLint* v) {
445   gles2::GetGLContext()->Uniform3iv(location, count, v);
446 }
447 void GLES2Uniform4f(
448     GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
449   gles2::GetGLContext()->Uniform4f(location, x, y, z, w);
450 }
451 void GLES2Uniform4fv(GLint location, GLsizei count, const GLfloat* v) {
452   gles2::GetGLContext()->Uniform4fv(location, count, v);
453 }
454 void GLES2Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) {
455   gles2::GetGLContext()->Uniform4i(location, x, y, z, w);
456 }
457 void GLES2Uniform4iv(GLint location, GLsizei count, const GLint* v) {
458   gles2::GetGLContext()->Uniform4iv(location, count, v);
459 }
460 void GLES2UniformMatrix2fv(
461     GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
462   gles2::GetGLContext()->UniformMatrix2fv(location, count, transpose, value);
463 }
464 void GLES2UniformMatrix3fv(
465     GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
466   gles2::GetGLContext()->UniformMatrix3fv(location, count, transpose, value);
467 }
468 void GLES2UniformMatrix4fv(
469     GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
470   gles2::GetGLContext()->UniformMatrix4fv(location, count, transpose, value);
471 }
472 void GLES2UseProgram(GLuint program) {
473   gles2::GetGLContext()->UseProgram(program);
474 }
475 void GLES2ValidateProgram(GLuint program) {
476   gles2::GetGLContext()->ValidateProgram(program);
477 }
478 void GLES2VertexAttrib1f(GLuint indx, GLfloat x) {
479   gles2::GetGLContext()->VertexAttrib1f(indx, x);
480 }
481 void GLES2VertexAttrib1fv(GLuint indx, const GLfloat* values) {
482   gles2::GetGLContext()->VertexAttrib1fv(indx, values);
483 }
484 void GLES2VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) {
485   gles2::GetGLContext()->VertexAttrib2f(indx, x, y);
486 }
487 void GLES2VertexAttrib2fv(GLuint indx, const GLfloat* values) {
488   gles2::GetGLContext()->VertexAttrib2fv(indx, values);
489 }
490 void GLES2VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
491   gles2::GetGLContext()->VertexAttrib3f(indx, x, y, z);
492 }
493 void GLES2VertexAttrib3fv(GLuint indx, const GLfloat* values) {
494   gles2::GetGLContext()->VertexAttrib3fv(indx, values);
495 }
496 void GLES2VertexAttrib4f(
497     GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
498   gles2::GetGLContext()->VertexAttrib4f(indx, x, y, z, w);
499 }
500 void GLES2VertexAttrib4fv(GLuint indx, const GLfloat* values) {
501   gles2::GetGLContext()->VertexAttrib4fv(indx, values);
502 }
503 void GLES2VertexAttribPointer(
504     GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride,
505     const void* ptr) {
506   gles2::GetGLContext()->VertexAttribPointer(
507       indx, size, type, normalized, stride, ptr);
508 }
509 void GLES2Viewport(GLint x, GLint y, GLsizei width, GLsizei height) {
510   gles2::GetGLContext()->Viewport(x, y, width, height);
511 }
512 void GLES2BlitFramebufferEXT(
513     GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
514     GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {
515   gles2::GetGLContext()->BlitFramebufferEXT(
516       srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
517 }
518 void GLES2RenderbufferStorageMultisampleEXT(
519     GLenum target, GLsizei samples, GLenum internalformat, GLsizei width,
520     GLsizei height) {
521   gles2::GetGLContext()->RenderbufferStorageMultisampleEXT(
522       target, samples, internalformat, width, height);
523 }
524 void GLES2FramebufferTexture2DMultisampleEXT(
525     GLenum target, GLenum attachment, GLenum textarget, GLuint texture,
526     GLint level, GLsizei samples) {
527   gles2::GetGLContext()->FramebufferTexture2DMultisampleEXT(
528       target, attachment, textarget, texture, level, samples);
529 }
530 void GLES2TexStorage2DEXT(
531     GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width,
532     GLsizei height) {
533   gles2::GetGLContext()->TexStorage2DEXT(
534       target, levels, internalFormat, width, height);
535 }
536 void GLES2GenQueriesEXT(GLsizei n, GLuint* queries) {
537   gles2::GetGLContext()->GenQueriesEXT(n, queries);
538 }
539 void GLES2DeleteQueriesEXT(GLsizei n, const GLuint* queries) {
540   gles2::GetGLContext()->DeleteQueriesEXT(n, queries);
541 }
542 GLboolean GLES2IsQueryEXT(GLuint id) {
543   return gles2::GetGLContext()->IsQueryEXT(id);
544 }
545 void GLES2BeginQueryEXT(GLenum target, GLuint id) {
546   gles2::GetGLContext()->BeginQueryEXT(target, id);
547 }
548 void GLES2EndQueryEXT(GLenum target) {
549   gles2::GetGLContext()->EndQueryEXT(target);
550 }
551 void GLES2GetQueryivEXT(GLenum target, GLenum pname, GLint* params) {
552   gles2::GetGLContext()->GetQueryivEXT(target, pname, params);
553 }
554 void GLES2GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params) {
555   gles2::GetGLContext()->GetQueryObjectuivEXT(id, pname, params);
556 }
557 void GLES2InsertEventMarkerEXT(GLsizei length, const GLchar* marker) {
558   gles2::GetGLContext()->InsertEventMarkerEXT(length, marker);
559 }
560 void GLES2PushGroupMarkerEXT(GLsizei length, const GLchar* marker) {
561   gles2::GetGLContext()->PushGroupMarkerEXT(length, marker);
562 }
563 void GLES2PopGroupMarkerEXT() {
564   gles2::GetGLContext()->PopGroupMarkerEXT();
565 }
566 void GLES2GenVertexArraysOES(GLsizei n, GLuint* arrays) {
567   gles2::GetGLContext()->GenVertexArraysOES(n, arrays);
568 }
569 void GLES2DeleteVertexArraysOES(GLsizei n, const GLuint* arrays) {
570   gles2::GetGLContext()->DeleteVertexArraysOES(n, arrays);
571 }
572 GLboolean GLES2IsVertexArrayOES(GLuint array) {
573   return gles2::GetGLContext()->IsVertexArrayOES(array);
574 }
575 void GLES2BindVertexArrayOES(GLuint array) {
576   gles2::GetGLContext()->BindVertexArrayOES(array);
577 }
578 void GLES2SwapBuffers() {
579   gles2::GetGLContext()->SwapBuffers();
580 }
581 GLuint GLES2GetMaxValueInBufferCHROMIUM(
582     GLuint buffer_id, GLsizei count, GLenum type, GLuint offset) {
583   return gles2::GetGLContext()->GetMaxValueInBufferCHROMIUM(
584       buffer_id, count, type, offset);
585 }
586 void GLES2GenSharedIdsCHROMIUM(
587     GLuint namespace_id, GLuint id_offset, GLsizei n, GLuint* ids) {
588   gles2::GetGLContext()->GenSharedIdsCHROMIUM(namespace_id, id_offset, n, ids);
589 }
590 void GLES2DeleteSharedIdsCHROMIUM(
591     GLuint namespace_id, GLsizei n, const GLuint* ids) {
592   gles2::GetGLContext()->DeleteSharedIdsCHROMIUM(namespace_id, n, ids);
593 }
594 void GLES2RegisterSharedIdsCHROMIUM(
595     GLuint namespace_id, GLsizei n, const GLuint* ids) {
596   gles2::GetGLContext()->RegisterSharedIdsCHROMIUM(namespace_id, n, ids);
597 }
598 GLboolean GLES2EnableFeatureCHROMIUM(const char* feature) {
599   return gles2::GetGLContext()->EnableFeatureCHROMIUM(feature);
600 }
601 void* GLES2MapBufferCHROMIUM(GLuint target, GLenum access) {
602   return gles2::GetGLContext()->MapBufferCHROMIUM(target, access);
603 }
604 GLboolean GLES2UnmapBufferCHROMIUM(GLuint target) {
605   return gles2::GetGLContext()->UnmapBufferCHROMIUM(target);
606 }
607 void* GLES2MapImageCHROMIUM(GLuint image_id, GLenum access) {
608   return gles2::GetGLContext()->MapImageCHROMIUM(image_id, access);
609 }
610 void GLES2UnmapImageCHROMIUM(GLuint image_id) {
611   gles2::GetGLContext()->UnmapImageCHROMIUM(image_id);
612 }
613 void* GLES2MapBufferSubDataCHROMIUM(
614     GLuint target, GLintptr offset, GLsizeiptr size, GLenum access) {
615   return gles2::GetGLContext()->MapBufferSubDataCHROMIUM(
616       target, offset, size, access);
617 }
618 void GLES2UnmapBufferSubDataCHROMIUM(const void* mem) {
619   gles2::GetGLContext()->UnmapBufferSubDataCHROMIUM(mem);
620 }
621 void* GLES2MapTexSubImage2DCHROMIUM(
622     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
623     GLsizei height, GLenum format, GLenum type, GLenum access) {
624   return gles2::GetGLContext()->MapTexSubImage2DCHROMIUM(
625       target, level, xoffset, yoffset, width, height, format, type, access);
626 }
627 void GLES2UnmapTexSubImage2DCHROMIUM(const void* mem) {
628   gles2::GetGLContext()->UnmapTexSubImage2DCHROMIUM(mem);
629 }
630 void GLES2ResizeCHROMIUM(GLuint width, GLuint height, GLfloat scale_factor) {
631   gles2::GetGLContext()->ResizeCHROMIUM(width, height, scale_factor);
632 }
633 const GLchar* GLES2GetRequestableExtensionsCHROMIUM() {
634   return gles2::GetGLContext()->GetRequestableExtensionsCHROMIUM();
635 }
636 void GLES2RequestExtensionCHROMIUM(const char* extension) {
637   gles2::GetGLContext()->RequestExtensionCHROMIUM(extension);
638 }
639 void GLES2RateLimitOffscreenContextCHROMIUM() {
640   gles2::GetGLContext()->RateLimitOffscreenContextCHROMIUM();
641 }
642 void GLES2GetMultipleIntegervCHROMIUM(
643     const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size) {
644   gles2::GetGLContext()->GetMultipleIntegervCHROMIUM(
645       pnames, count, results, size);
646 }
647 void GLES2GetProgramInfoCHROMIUM(
648     GLuint program, GLsizei bufsize, GLsizei* size, void* info) {
649   gles2::GetGLContext()->GetProgramInfoCHROMIUM(program, bufsize, size, info);
650 }
651 GLuint GLES2CreateStreamTextureCHROMIUM(GLuint texture) {
652   return gles2::GetGLContext()->CreateStreamTextureCHROMIUM(texture);
653 }
654 void GLES2DestroyStreamTextureCHROMIUM(GLuint texture) {
655   gles2::GetGLContext()->DestroyStreamTextureCHROMIUM(texture);
656 }
657 GLuint GLES2CreateImageCHROMIUM(
658     GLsizei width, GLsizei height, GLenum internalformat) {
659   return gles2::GetGLContext()->CreateImageCHROMIUM(
660       width, height, internalformat);
661 }
662 void GLES2DestroyImageCHROMIUM(GLuint image_id) {
663   gles2::GetGLContext()->DestroyImageCHROMIUM(image_id);
664 }
665 void GLES2GetImageParameterivCHROMIUM(
666     GLuint image_id, GLenum pname, GLint* params) {
667   gles2::GetGLContext()->GetImageParameterivCHROMIUM(image_id, pname, params);
668 }
669 void GLES2GetTranslatedShaderSourceANGLE(
670     GLuint shader, GLsizei bufsize, GLsizei* length, char* source) {
671   gles2::GetGLContext()->GetTranslatedShaderSourceANGLE(
672       shader, bufsize, length, source);
673 }
674 void GLES2PostSubBufferCHROMIUM(GLint x, GLint y, GLint width, GLint height) {
675   gles2::GetGLContext()->PostSubBufferCHROMIUM(x, y, width, height);
676 }
677 void GLES2TexImageIOSurface2DCHROMIUM(
678     GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId,
679     GLuint plane) {
680   gles2::GetGLContext()->TexImageIOSurface2DCHROMIUM(
681       target, width, height, ioSurfaceId, plane);
682 }
683 void GLES2CopyTextureCHROMIUM(
684     GLenum target, GLenum source_id, GLenum dest_id, GLint level,
685     GLint internalformat, GLenum dest_type) {
686   gles2::GetGLContext()->CopyTextureCHROMIUM(
687       target, source_id, dest_id, level, internalformat, dest_type);
688 }
689 void GLES2DrawArraysInstancedANGLE(
690     GLenum mode, GLint first, GLsizei count, GLsizei primcount) {
691   gles2::GetGLContext()->DrawArraysInstancedANGLE(
692       mode, first, count, primcount);
693 }
694 void GLES2DrawElementsInstancedANGLE(
695     GLenum mode, GLsizei count, GLenum type, const void* indices,
696     GLsizei primcount) {
697   gles2::GetGLContext()->DrawElementsInstancedANGLE(
698       mode, count, type, indices, primcount);
699 }
700 void GLES2VertexAttribDivisorANGLE(GLuint index, GLuint divisor) {
701   gles2::GetGLContext()->VertexAttribDivisorANGLE(index, divisor);
702 }
703 void GLES2GenMailboxCHROMIUM(GLbyte* mailbox) {
704   gles2::GetGLContext()->GenMailboxCHROMIUM(mailbox);
705 }
706 void GLES2ProduceTextureCHROMIUM(GLenum target, const GLbyte* mailbox) {
707   gles2::GetGLContext()->ProduceTextureCHROMIUM(target, mailbox);
708 }
709 void GLES2ConsumeTextureCHROMIUM(GLenum target, const GLbyte* mailbox) {
710   gles2::GetGLContext()->ConsumeTextureCHROMIUM(target, mailbox);
711 }
712 void GLES2BindUniformLocationCHROMIUM(
713     GLuint program, GLint location, const char* name) {
714   gles2::GetGLContext()->BindUniformLocationCHROMIUM(program, location, name);
715 }
716 void GLES2BindTexImage2DCHROMIUM(GLenum target, GLint imageId) {
717   gles2::GetGLContext()->BindTexImage2DCHROMIUM(target, imageId);
718 }
719 void GLES2ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) {
720   gles2::GetGLContext()->ReleaseTexImage2DCHROMIUM(target, imageId);
721 }
722 void GLES2TraceBeginCHROMIUM(const char* name) {
723   gles2::GetGLContext()->TraceBeginCHROMIUM(name);
724 }
725 void GLES2TraceEndCHROMIUM() {
726   gles2::GetGLContext()->TraceEndCHROMIUM();
727 }
728 void GLES2AsyncTexSubImage2DCHROMIUM(
729     GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
730     GLsizei height, GLenum format, GLenum type, const void* data) {
731   gles2::GetGLContext()->AsyncTexSubImage2DCHROMIUM(
732       target, level, xoffset, yoffset, width, height, format, type, data);
733 }
734 void GLES2AsyncTexImage2DCHROMIUM(
735     GLenum target, GLint level, GLint internalformat, GLsizei width,
736     GLsizei height, GLint border, GLenum format, GLenum type,
737     const void* pixels) {
738   gles2::GetGLContext()->AsyncTexImage2DCHROMIUM(
739       target, level, internalformat, width, height, border, format, type,
740       pixels);
741 }
742 void GLES2WaitAsyncTexImage2DCHROMIUM(GLenum target) {
743   gles2::GetGLContext()->WaitAsyncTexImage2DCHROMIUM(target);
744 }
745 void GLES2DiscardFramebufferEXT(
746     GLenum target, GLsizei count, const GLenum* attachments) {
747   gles2::GetGLContext()->DiscardFramebufferEXT(target, count, attachments);
748 }
749 void GLES2LoseContextCHROMIUM(GLenum current, GLenum other) {
750   gles2::GetGLContext()->LoseContextCHROMIUM(current, other);
751 }
752 GLuint GLES2InsertSyncPointCHROMIUM() {
753   return gles2::GetGLContext()->InsertSyncPointCHROMIUM();
754 }
755 void GLES2WaitSyncPointCHROMIUM(GLuint sync_point) {
756   gles2::GetGLContext()->WaitSyncPointCHROMIUM(sync_point);
757 }
758 void GLES2DrawBuffersEXT(GLsizei count, const GLenum* bufs) {
759   gles2::GetGLContext()->DrawBuffersEXT(count, bufs);
760 }
761
762 namespace gles2 {
763
764 extern const NameToFunc g_gles2_function_table[] = {
765   { "glActiveTexture", reinterpret_cast<GLES2FunctionPointer>(
766       glActiveTexture), },
767   { "glAttachShader", reinterpret_cast<GLES2FunctionPointer>(
768       glAttachShader), },
769   { "glBindAttribLocation", reinterpret_cast<GLES2FunctionPointer>(
770       glBindAttribLocation), },
771   { "glBindBuffer", reinterpret_cast<GLES2FunctionPointer>(glBindBuffer), },
772   { "glBindFramebuffer", reinterpret_cast<GLES2FunctionPointer>(
773       glBindFramebuffer), },
774   { "glBindRenderbuffer", reinterpret_cast<GLES2FunctionPointer>(
775       glBindRenderbuffer), },
776   { "glBindTexture", reinterpret_cast<GLES2FunctionPointer>(glBindTexture), },
777   { "glBlendColor", reinterpret_cast<GLES2FunctionPointer>(glBlendColor), },
778   { "glBlendEquation", reinterpret_cast<GLES2FunctionPointer>(
779       glBlendEquation), },
780   { "glBlendEquationSeparate", reinterpret_cast<GLES2FunctionPointer>(
781       glBlendEquationSeparate), },
782   { "glBlendFunc", reinterpret_cast<GLES2FunctionPointer>(glBlendFunc), },
783   { "glBlendFuncSeparate", reinterpret_cast<GLES2FunctionPointer>(
784       glBlendFuncSeparate), },
785   { "glBufferData", reinterpret_cast<GLES2FunctionPointer>(glBufferData), },
786   { "glBufferSubData", reinterpret_cast<GLES2FunctionPointer>(
787       glBufferSubData), },
788   { "glCheckFramebufferStatus", reinterpret_cast<GLES2FunctionPointer>(
789       glCheckFramebufferStatus), },
790   { "glClear", reinterpret_cast<GLES2FunctionPointer>(glClear), },
791   { "glClearColor", reinterpret_cast<GLES2FunctionPointer>(glClearColor), },
792   { "glClearDepthf", reinterpret_cast<GLES2FunctionPointer>(glClearDepthf), },
793   { "glClearStencil", reinterpret_cast<GLES2FunctionPointer>(
794       glClearStencil), },
795   { "glColorMask", reinterpret_cast<GLES2FunctionPointer>(glColorMask), },
796   { "glCompileShader", reinterpret_cast<GLES2FunctionPointer>(
797       glCompileShader), },
798   { "glCompressedTexImage2D", reinterpret_cast<GLES2FunctionPointer>(
799       glCompressedTexImage2D), },
800   { "glCompressedTexSubImage2D", reinterpret_cast<GLES2FunctionPointer>(
801       glCompressedTexSubImage2D), },
802   { "glCopyTexImage2D", reinterpret_cast<GLES2FunctionPointer>(
803       glCopyTexImage2D), },
804   { "glCopyTexSubImage2D", reinterpret_cast<GLES2FunctionPointer>(
805       glCopyTexSubImage2D), },
806   { "glCreateProgram", reinterpret_cast<GLES2FunctionPointer>(
807       glCreateProgram), },
808   { "glCreateShader", reinterpret_cast<GLES2FunctionPointer>(
809       glCreateShader), },
810   { "glCullFace", reinterpret_cast<GLES2FunctionPointer>(glCullFace), },
811   { "glDeleteBuffers", reinterpret_cast<GLES2FunctionPointer>(
812       glDeleteBuffers), },
813   { "glDeleteFramebuffers", reinterpret_cast<GLES2FunctionPointer>(
814       glDeleteFramebuffers), },
815   { "glDeleteProgram", reinterpret_cast<GLES2FunctionPointer>(
816       glDeleteProgram), },
817   { "glDeleteRenderbuffers", reinterpret_cast<GLES2FunctionPointer>(
818       glDeleteRenderbuffers), },
819   { "glDeleteShader", reinterpret_cast<GLES2FunctionPointer>(
820       glDeleteShader), },
821   { "glDeleteTextures", reinterpret_cast<GLES2FunctionPointer>(
822       glDeleteTextures), },
823   { "glDepthFunc", reinterpret_cast<GLES2FunctionPointer>(glDepthFunc), },
824   { "glDepthMask", reinterpret_cast<GLES2FunctionPointer>(glDepthMask), },
825   { "glDepthRangef", reinterpret_cast<GLES2FunctionPointer>(glDepthRangef), },
826   { "glDetachShader", reinterpret_cast<GLES2FunctionPointer>(
827       glDetachShader), },
828   { "glDisable", reinterpret_cast<GLES2FunctionPointer>(glDisable), },
829   { "glDisableVertexAttribArray", reinterpret_cast<GLES2FunctionPointer>(
830       glDisableVertexAttribArray), },
831   { "glDrawArrays", reinterpret_cast<GLES2FunctionPointer>(glDrawArrays), },
832   { "glDrawElements", reinterpret_cast<GLES2FunctionPointer>(
833       glDrawElements), },
834   { "glEnable", reinterpret_cast<GLES2FunctionPointer>(glEnable), },
835   { "glEnableVertexAttribArray", reinterpret_cast<GLES2FunctionPointer>(
836       glEnableVertexAttribArray), },
837   { "glFinish", reinterpret_cast<GLES2FunctionPointer>(glFinish), },
838   { "glFlush", reinterpret_cast<GLES2FunctionPointer>(glFlush), },
839   { "glFramebufferRenderbuffer", reinterpret_cast<GLES2FunctionPointer>(
840       glFramebufferRenderbuffer), },
841   { "glFramebufferTexture2D", reinterpret_cast<GLES2FunctionPointer>(
842       glFramebufferTexture2D), },
843   { "glFrontFace", reinterpret_cast<GLES2FunctionPointer>(glFrontFace), },
844   { "glGenBuffers", reinterpret_cast<GLES2FunctionPointer>(glGenBuffers), },
845   { "glGenerateMipmap", reinterpret_cast<GLES2FunctionPointer>(
846       glGenerateMipmap), },
847   { "glGenFramebuffers", reinterpret_cast<GLES2FunctionPointer>(
848       glGenFramebuffers), },
849   { "glGenRenderbuffers", reinterpret_cast<GLES2FunctionPointer>(
850       glGenRenderbuffers), },
851   { "glGenTextures", reinterpret_cast<GLES2FunctionPointer>(glGenTextures), },
852   { "glGetActiveAttrib", reinterpret_cast<GLES2FunctionPointer>(
853       glGetActiveAttrib), },
854   { "glGetActiveUniform", reinterpret_cast<GLES2FunctionPointer>(
855       glGetActiveUniform), },
856   { "glGetAttachedShaders", reinterpret_cast<GLES2FunctionPointer>(
857       glGetAttachedShaders), },
858   { "glGetAttribLocation", reinterpret_cast<GLES2FunctionPointer>(
859       glGetAttribLocation), },
860   { "glGetBooleanv", reinterpret_cast<GLES2FunctionPointer>(glGetBooleanv), },
861   { "glGetBufferParameteriv", reinterpret_cast<GLES2FunctionPointer>(
862       glGetBufferParameteriv), },
863   { "glGetError", reinterpret_cast<GLES2FunctionPointer>(glGetError), },
864   { "glGetFloatv", reinterpret_cast<GLES2FunctionPointer>(glGetFloatv), },
865   { "glGetFramebufferAttachmentParameteriv", reinterpret_cast<GLES2FunctionPointer>(glGetFramebufferAttachmentParameteriv), },  // NOLINT
866   { "glGetIntegerv", reinterpret_cast<GLES2FunctionPointer>(glGetIntegerv), },
867   { "glGetProgramiv", reinterpret_cast<GLES2FunctionPointer>(
868       glGetProgramiv), },
869   { "glGetProgramInfoLog", reinterpret_cast<GLES2FunctionPointer>(
870       glGetProgramInfoLog), },
871   { "glGetRenderbufferParameteriv", reinterpret_cast<GLES2FunctionPointer>(
872       glGetRenderbufferParameteriv), },
873   { "glGetShaderiv", reinterpret_cast<GLES2FunctionPointer>(glGetShaderiv), },
874   { "glGetShaderInfoLog", reinterpret_cast<GLES2FunctionPointer>(
875       glGetShaderInfoLog), },
876   { "glGetShaderPrecisionFormat", reinterpret_cast<GLES2FunctionPointer>(
877       glGetShaderPrecisionFormat), },
878   { "glGetShaderSource", reinterpret_cast<GLES2FunctionPointer>(
879       glGetShaderSource), },
880   { "glGetString", reinterpret_cast<GLES2FunctionPointer>(glGetString), },
881   { "glGetTexParameterfv", reinterpret_cast<GLES2FunctionPointer>(
882       glGetTexParameterfv), },
883   { "glGetTexParameteriv", reinterpret_cast<GLES2FunctionPointer>(
884       glGetTexParameteriv), },
885   { "glGetUniformfv", reinterpret_cast<GLES2FunctionPointer>(
886       glGetUniformfv), },
887   { "glGetUniformiv", reinterpret_cast<GLES2FunctionPointer>(
888       glGetUniformiv), },
889   { "glGetUniformLocation", reinterpret_cast<GLES2FunctionPointer>(
890       glGetUniformLocation), },
891   { "glGetVertexAttribfv", reinterpret_cast<GLES2FunctionPointer>(
892       glGetVertexAttribfv), },
893   { "glGetVertexAttribiv", reinterpret_cast<GLES2FunctionPointer>(
894       glGetVertexAttribiv), },
895   { "glGetVertexAttribPointerv", reinterpret_cast<GLES2FunctionPointer>(
896       glGetVertexAttribPointerv), },
897   { "glHint", reinterpret_cast<GLES2FunctionPointer>(glHint), },
898   { "glIsBuffer", reinterpret_cast<GLES2FunctionPointer>(glIsBuffer), },
899   { "glIsEnabled", reinterpret_cast<GLES2FunctionPointer>(glIsEnabled), },
900   { "glIsFramebuffer", reinterpret_cast<GLES2FunctionPointer>(
901       glIsFramebuffer), },
902   { "glIsProgram", reinterpret_cast<GLES2FunctionPointer>(glIsProgram), },
903   { "glIsRenderbuffer", reinterpret_cast<GLES2FunctionPointer>(
904       glIsRenderbuffer), },
905   { "glIsShader", reinterpret_cast<GLES2FunctionPointer>(glIsShader), },
906   { "glIsTexture", reinterpret_cast<GLES2FunctionPointer>(glIsTexture), },
907   { "glLineWidth", reinterpret_cast<GLES2FunctionPointer>(glLineWidth), },
908   { "glLinkProgram", reinterpret_cast<GLES2FunctionPointer>(glLinkProgram), },
909   { "glPixelStorei", reinterpret_cast<GLES2FunctionPointer>(glPixelStorei), },
910   { "glPolygonOffset", reinterpret_cast<GLES2FunctionPointer>(
911       glPolygonOffset), },
912   { "glReadPixels", reinterpret_cast<GLES2FunctionPointer>(glReadPixels), },
913   { "glReleaseShaderCompiler", reinterpret_cast<GLES2FunctionPointer>(
914       glReleaseShaderCompiler), },
915   { "glRenderbufferStorage", reinterpret_cast<GLES2FunctionPointer>(
916       glRenderbufferStorage), },
917   { "glSampleCoverage", reinterpret_cast<GLES2FunctionPointer>(
918       glSampleCoverage), },
919   { "glScissor", reinterpret_cast<GLES2FunctionPointer>(glScissor), },
920   { "glShaderBinary", reinterpret_cast<GLES2FunctionPointer>(
921       glShaderBinary), },
922   { "glShaderSource", reinterpret_cast<GLES2FunctionPointer>(
923       glShaderSource), },
924   { "glShallowFinishCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
925       glShallowFinishCHROMIUM), },
926   { "glShallowFlushCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
927       glShallowFlushCHROMIUM), },
928   { "glStencilFunc", reinterpret_cast<GLES2FunctionPointer>(glStencilFunc), },
929   { "glStencilFuncSeparate", reinterpret_cast<GLES2FunctionPointer>(
930       glStencilFuncSeparate), },
931   { "glStencilMask", reinterpret_cast<GLES2FunctionPointer>(glStencilMask), },
932   { "glStencilMaskSeparate", reinterpret_cast<GLES2FunctionPointer>(
933       glStencilMaskSeparate), },
934   { "glStencilOp", reinterpret_cast<GLES2FunctionPointer>(glStencilOp), },
935   { "glStencilOpSeparate", reinterpret_cast<GLES2FunctionPointer>(
936       glStencilOpSeparate), },
937   { "glTexImage2D", reinterpret_cast<GLES2FunctionPointer>(glTexImage2D), },
938   { "glTexParameterf", reinterpret_cast<GLES2FunctionPointer>(
939       glTexParameterf), },
940   { "glTexParameterfv", reinterpret_cast<GLES2FunctionPointer>(
941       glTexParameterfv), },
942   { "glTexParameteri", reinterpret_cast<GLES2FunctionPointer>(
943       glTexParameteri), },
944   { "glTexParameteriv", reinterpret_cast<GLES2FunctionPointer>(
945       glTexParameteriv), },
946   { "glTexSubImage2D", reinterpret_cast<GLES2FunctionPointer>(
947       glTexSubImage2D), },
948   { "glUniform1f", reinterpret_cast<GLES2FunctionPointer>(glUniform1f), },
949   { "glUniform1fv", reinterpret_cast<GLES2FunctionPointer>(glUniform1fv), },
950   { "glUniform1i", reinterpret_cast<GLES2FunctionPointer>(glUniform1i), },
951   { "glUniform1iv", reinterpret_cast<GLES2FunctionPointer>(glUniform1iv), },
952   { "glUniform2f", reinterpret_cast<GLES2FunctionPointer>(glUniform2f), },
953   { "glUniform2fv", reinterpret_cast<GLES2FunctionPointer>(glUniform2fv), },
954   { "glUniform2i", reinterpret_cast<GLES2FunctionPointer>(glUniform2i), },
955   { "glUniform2iv", reinterpret_cast<GLES2FunctionPointer>(glUniform2iv), },
956   { "glUniform3f", reinterpret_cast<GLES2FunctionPointer>(glUniform3f), },
957   { "glUniform3fv", reinterpret_cast<GLES2FunctionPointer>(glUniform3fv), },
958   { "glUniform3i", reinterpret_cast<GLES2FunctionPointer>(glUniform3i), },
959   { "glUniform3iv", reinterpret_cast<GLES2FunctionPointer>(glUniform3iv), },
960   { "glUniform4f", reinterpret_cast<GLES2FunctionPointer>(glUniform4f), },
961   { "glUniform4fv", reinterpret_cast<GLES2FunctionPointer>(glUniform4fv), },
962   { "glUniform4i", reinterpret_cast<GLES2FunctionPointer>(glUniform4i), },
963   { "glUniform4iv", reinterpret_cast<GLES2FunctionPointer>(glUniform4iv), },
964   { "glUniformMatrix2fv", reinterpret_cast<GLES2FunctionPointer>(
965       glUniformMatrix2fv), },
966   { "glUniformMatrix3fv", reinterpret_cast<GLES2FunctionPointer>(
967       glUniformMatrix3fv), },
968   { "glUniformMatrix4fv", reinterpret_cast<GLES2FunctionPointer>(
969       glUniformMatrix4fv), },
970   { "glUseProgram", reinterpret_cast<GLES2FunctionPointer>(glUseProgram), },
971   { "glValidateProgram", reinterpret_cast<GLES2FunctionPointer>(
972       glValidateProgram), },
973   { "glVertexAttrib1f", reinterpret_cast<GLES2FunctionPointer>(
974       glVertexAttrib1f), },
975   { "glVertexAttrib1fv", reinterpret_cast<GLES2FunctionPointer>(
976       glVertexAttrib1fv), },
977   { "glVertexAttrib2f", reinterpret_cast<GLES2FunctionPointer>(
978       glVertexAttrib2f), },
979   { "glVertexAttrib2fv", reinterpret_cast<GLES2FunctionPointer>(
980       glVertexAttrib2fv), },
981   { "glVertexAttrib3f", reinterpret_cast<GLES2FunctionPointer>(
982       glVertexAttrib3f), },
983   { "glVertexAttrib3fv", reinterpret_cast<GLES2FunctionPointer>(
984       glVertexAttrib3fv), },
985   { "glVertexAttrib4f", reinterpret_cast<GLES2FunctionPointer>(
986       glVertexAttrib4f), },
987   { "glVertexAttrib4fv", reinterpret_cast<GLES2FunctionPointer>(
988       glVertexAttrib4fv), },
989   { "glVertexAttribPointer", reinterpret_cast<GLES2FunctionPointer>(
990       glVertexAttribPointer), },
991   { "glViewport", reinterpret_cast<GLES2FunctionPointer>(glViewport), },
992   { "glBlitFramebufferEXT", reinterpret_cast<GLES2FunctionPointer>(
993       glBlitFramebufferEXT), },
994   { "glRenderbufferStorageMultisampleEXT", reinterpret_cast<GLES2FunctionPointer>(glRenderbufferStorageMultisampleEXT), },  // NOLINT
995   { "glFramebufferTexture2DMultisampleEXT", reinterpret_cast<GLES2FunctionPointer>(glFramebufferTexture2DMultisampleEXT), },  // NOLINT
996   { "glTexStorage2DEXT", reinterpret_cast<GLES2FunctionPointer>(
997       glTexStorage2DEXT), },
998   { "glGenQueriesEXT", reinterpret_cast<GLES2FunctionPointer>(
999       glGenQueriesEXT), },
1000   { "glDeleteQueriesEXT", reinterpret_cast<GLES2FunctionPointer>(
1001       glDeleteQueriesEXT), },
1002   { "glIsQueryEXT", reinterpret_cast<GLES2FunctionPointer>(glIsQueryEXT), },
1003   { "glBeginQueryEXT", reinterpret_cast<GLES2FunctionPointer>(
1004       glBeginQueryEXT), },
1005   { "glEndQueryEXT", reinterpret_cast<GLES2FunctionPointer>(glEndQueryEXT), },
1006   { "glGetQueryivEXT", reinterpret_cast<GLES2FunctionPointer>(
1007       glGetQueryivEXT), },
1008   { "glGetQueryObjectuivEXT", reinterpret_cast<GLES2FunctionPointer>(
1009       glGetQueryObjectuivEXT), },
1010   { "glInsertEventMarkerEXT", reinterpret_cast<GLES2FunctionPointer>(
1011       glInsertEventMarkerEXT), },
1012   { "glPushGroupMarkerEXT", reinterpret_cast<GLES2FunctionPointer>(
1013       glPushGroupMarkerEXT), },
1014   { "glPopGroupMarkerEXT", reinterpret_cast<GLES2FunctionPointer>(
1015       glPopGroupMarkerEXT), },
1016   { "glGenVertexArraysOES", reinterpret_cast<GLES2FunctionPointer>(
1017       glGenVertexArraysOES), },
1018   { "glDeleteVertexArraysOES", reinterpret_cast<GLES2FunctionPointer>(
1019       glDeleteVertexArraysOES), },
1020   { "glIsVertexArrayOES", reinterpret_cast<GLES2FunctionPointer>(
1021       glIsVertexArrayOES), },
1022   { "glBindVertexArrayOES", reinterpret_cast<GLES2FunctionPointer>(
1023       glBindVertexArrayOES), },
1024   { "glSwapBuffers", reinterpret_cast<GLES2FunctionPointer>(glSwapBuffers), },
1025   { "glGetMaxValueInBufferCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1026       glGetMaxValueInBufferCHROMIUM), },
1027   { "glGenSharedIdsCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1028       glGenSharedIdsCHROMIUM), },
1029   { "glDeleteSharedIdsCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1030       glDeleteSharedIdsCHROMIUM), },
1031   { "glRegisterSharedIdsCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1032       glRegisterSharedIdsCHROMIUM), },
1033   { "glEnableFeatureCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1034       glEnableFeatureCHROMIUM), },
1035   { "glMapBufferCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1036       glMapBufferCHROMIUM), },
1037   { "glUnmapBufferCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1038       glUnmapBufferCHROMIUM), },
1039   { "glMapImageCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1040       glMapImageCHROMIUM), },
1041   { "glUnmapImageCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1042       glUnmapImageCHROMIUM), },
1043   { "glMapBufferSubDataCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1044       glMapBufferSubDataCHROMIUM), },
1045   { "glUnmapBufferSubDataCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1046       glUnmapBufferSubDataCHROMIUM), },
1047   { "glMapTexSubImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1048       glMapTexSubImage2DCHROMIUM), },
1049   { "glUnmapTexSubImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1050       glUnmapTexSubImage2DCHROMIUM), },
1051   { "glResizeCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1052       glResizeCHROMIUM), },
1053   { "glGetRequestableExtensionsCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(glGetRequestableExtensionsCHROMIUM), },  // NOLINT
1054   { "glRequestExtensionCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1055       glRequestExtensionCHROMIUM), },
1056   { "glRateLimitOffscreenContextCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(glRateLimitOffscreenContextCHROMIUM), },  // NOLINT
1057   { "glGetMultipleIntegervCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1058       glGetMultipleIntegervCHROMIUM), },
1059   { "glGetProgramInfoCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1060       glGetProgramInfoCHROMIUM), },
1061   { "glCreateStreamTextureCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1062       glCreateStreamTextureCHROMIUM), },
1063   { "glDestroyStreamTextureCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1064       glDestroyStreamTextureCHROMIUM), },
1065   { "glCreateImageCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1066       glCreateImageCHROMIUM), },
1067   { "glDestroyImageCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1068       glDestroyImageCHROMIUM), },
1069   { "glGetImageParameterivCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1070       glGetImageParameterivCHROMIUM), },
1071   { "glGetTranslatedShaderSourceANGLE", reinterpret_cast<GLES2FunctionPointer>(
1072       glGetTranslatedShaderSourceANGLE), },
1073   { "glPostSubBufferCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1074       glPostSubBufferCHROMIUM), },
1075   { "glTexImageIOSurface2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1076       glTexImageIOSurface2DCHROMIUM), },
1077   { "glCopyTextureCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1078       glCopyTextureCHROMIUM), },
1079   { "glDrawArraysInstancedANGLE", reinterpret_cast<GLES2FunctionPointer>(
1080       glDrawArraysInstancedANGLE), },
1081   { "glDrawElementsInstancedANGLE", reinterpret_cast<GLES2FunctionPointer>(
1082       glDrawElementsInstancedANGLE), },
1083   { "glVertexAttribDivisorANGLE", reinterpret_cast<GLES2FunctionPointer>(
1084       glVertexAttribDivisorANGLE), },
1085   { "glGenMailboxCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1086       glGenMailboxCHROMIUM), },
1087   { "glProduceTextureCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1088       glProduceTextureCHROMIUM), },
1089   { "glConsumeTextureCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1090       glConsumeTextureCHROMIUM), },
1091   { "glBindUniformLocationCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1092       glBindUniformLocationCHROMIUM), },
1093   { "glBindTexImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1094       glBindTexImage2DCHROMIUM), },
1095   { "glReleaseTexImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1096       glReleaseTexImage2DCHROMIUM), },
1097   { "glTraceBeginCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1098       glTraceBeginCHROMIUM), },
1099   { "glTraceEndCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1100       glTraceEndCHROMIUM), },
1101   { "glAsyncTexSubImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1102       glAsyncTexSubImage2DCHROMIUM), },
1103   { "glAsyncTexImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1104       glAsyncTexImage2DCHROMIUM), },
1105   { "glWaitAsyncTexImage2DCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1106       glWaitAsyncTexImage2DCHROMIUM), },
1107   { "glDiscardFramebufferEXT", reinterpret_cast<GLES2FunctionPointer>(
1108       glDiscardFramebufferEXT), },
1109   { "glLoseContextCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1110       glLoseContextCHROMIUM), },
1111   { "glInsertSyncPointCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1112       glInsertSyncPointCHROMIUM), },
1113   { "glWaitSyncPointCHROMIUM", reinterpret_cast<GLES2FunctionPointer>(
1114       glWaitSyncPointCHROMIUM), },
1115   { "glDrawBuffersEXT", reinterpret_cast<GLES2FunctionPointer>(
1116       glDrawBuffersEXT), },
1117   { NULL, NULL, },
1118 };
1119
1120 }  // namespace gles2
1121 #endif  // GPU_COMMAND_BUFFER_CLIENT_GLES2_C_LIB_AUTOGEN_H_
1122