Suppress data races in blink::Scheduler
[chromium-blink-merge.git] / ui / gl / gl_bindings_autogen_gl.h
blobb38ba3f8838110534b9b30737e07ff8d21c7d6a3
1 // Copyright 2014 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 // ui/gl/generate_bindings.py
7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename
9 // DO NOT EDIT!
11 #ifndef UI_GFX_GL_GL_BINDINGS_AUTOGEN_GL_H_
12 #define UI_GFX_GL_GL_BINDINGS_AUTOGEN_GL_H_
14 namespace gfx {
16 class GLContext;
18 typedef void(GL_BINDING_CALL* glActiveTextureProc)(GLenum texture);
19 typedef void(GL_BINDING_CALL* glAttachShaderProc)(GLuint program,
20 GLuint shader);
21 typedef void(GL_BINDING_CALL* glBeginQueryProc)(GLenum target, GLuint id);
22 typedef void(GL_BINDING_CALL* glBeginQueryARBProc)(GLenum target, GLuint id);
23 typedef void(GL_BINDING_CALL* glBeginTransformFeedbackProc)(
24 GLenum primitiveMode);
25 typedef void(GL_BINDING_CALL* glBindAttribLocationProc)(GLuint program,
26 GLuint index,
27 const char* name);
28 typedef void(GL_BINDING_CALL* glBindBufferProc)(GLenum target, GLuint buffer);
29 typedef void(GL_BINDING_CALL* glBindBufferBaseProc)(GLenum target,
30 GLuint index,
31 GLuint buffer);
32 typedef void(GL_BINDING_CALL* glBindBufferRangeProc)(GLenum target,
33 GLuint index,
34 GLuint buffer,
35 GLintptr offset,
36 GLsizeiptr size);
37 typedef void(GL_BINDING_CALL* glBindFragDataLocationProc)(GLuint program,
38 GLuint colorNumber,
39 const char* name);
40 typedef void(GL_BINDING_CALL* glBindFragDataLocationIndexedProc)(
41 GLuint program,
42 GLuint colorNumber,
43 GLuint index,
44 const char* name);
45 typedef void(GL_BINDING_CALL* glBindFramebufferEXTProc)(GLenum target,
46 GLuint framebuffer);
47 typedef void(GL_BINDING_CALL* glBindRenderbufferEXTProc)(GLenum target,
48 GLuint renderbuffer);
49 typedef void(GL_BINDING_CALL* glBindSamplerProc)(GLuint unit, GLuint sampler);
50 typedef void(GL_BINDING_CALL* glBindTextureProc)(GLenum target, GLuint texture);
51 typedef void(GL_BINDING_CALL* glBindTransformFeedbackProc)(GLenum target,
52 GLuint id);
53 typedef void(GL_BINDING_CALL* glBindVertexArrayOESProc)(GLuint array);
54 typedef void(GL_BINDING_CALL* glBlendBarrierKHRProc)(void);
55 typedef void(GL_BINDING_CALL* glBlendColorProc)(GLclampf red,
56 GLclampf green,
57 GLclampf blue,
58 GLclampf alpha);
59 typedef void(GL_BINDING_CALL* glBlendEquationProc)(GLenum mode);
60 typedef void(GL_BINDING_CALL* glBlendEquationSeparateProc)(GLenum modeRGB,
61 GLenum modeAlpha);
62 typedef void(GL_BINDING_CALL* glBlendFuncProc)(GLenum sfactor, GLenum dfactor);
63 typedef void(GL_BINDING_CALL* glBlendFuncSeparateProc)(GLenum srcRGB,
64 GLenum dstRGB,
65 GLenum srcAlpha,
66 GLenum dstAlpha);
67 typedef void(GL_BINDING_CALL* glBlitFramebufferProc)(GLint srcX0,
68 GLint srcY0,
69 GLint srcX1,
70 GLint srcY1,
71 GLint dstX0,
72 GLint dstY0,
73 GLint dstX1,
74 GLint dstY1,
75 GLbitfield mask,
76 GLenum filter);
77 typedef void(GL_BINDING_CALL* glBlitFramebufferANGLEProc)(GLint srcX0,
78 GLint srcY0,
79 GLint srcX1,
80 GLint srcY1,
81 GLint dstX0,
82 GLint dstY0,
83 GLint dstX1,
84 GLint dstY1,
85 GLbitfield mask,
86 GLenum filter);
87 typedef void(GL_BINDING_CALL* glBlitFramebufferEXTProc)(GLint srcX0,
88 GLint srcY0,
89 GLint srcX1,
90 GLint srcY1,
91 GLint dstX0,
92 GLint dstY0,
93 GLint dstX1,
94 GLint dstY1,
95 GLbitfield mask,
96 GLenum filter);
97 typedef void(GL_BINDING_CALL* glBufferDataProc)(GLenum target,
98 GLsizeiptr size,
99 const void* data,
100 GLenum usage);
101 typedef void(GL_BINDING_CALL* glBufferSubDataProc)(GLenum target,
102 GLintptr offset,
103 GLsizeiptr size,
104 const void* data);
105 typedef GLenum(GL_BINDING_CALL* glCheckFramebufferStatusEXTProc)(GLenum target);
106 typedef void(GL_BINDING_CALL* glClearProc)(GLbitfield mask);
107 typedef void(GL_BINDING_CALL* glClearBufferfiProc)(GLenum buffer,
108 GLint drawbuffer,
109 const GLfloat depth,
110 GLint stencil);
111 typedef void(GL_BINDING_CALL* glClearBufferfvProc)(GLenum buffer,
112 GLint drawbuffer,
113 const GLfloat* value);
114 typedef void(GL_BINDING_CALL* glClearBufferivProc)(GLenum buffer,
115 GLint drawbuffer,
116 const GLint* value);
117 typedef void(GL_BINDING_CALL* glClearBufferuivProc)(GLenum buffer,
118 GLint drawbuffer,
119 const GLuint* value);
120 typedef void(GL_BINDING_CALL* glClearColorProc)(GLclampf red,
121 GLclampf green,
122 GLclampf blue,
123 GLclampf alpha);
124 typedef void(GL_BINDING_CALL* glClearDepthProc)(GLclampd depth);
125 typedef void(GL_BINDING_CALL* glClearDepthfProc)(GLclampf depth);
126 typedef void(GL_BINDING_CALL* glClearStencilProc)(GLint s);
127 typedef GLenum(GL_BINDING_CALL* glClientWaitSyncProc)(GLsync sync,
128 GLbitfield flags,
129 GLuint64 timeout);
130 typedef void(GL_BINDING_CALL* glColorMaskProc)(GLboolean red,
131 GLboolean green,
132 GLboolean blue,
133 GLboolean alpha);
134 typedef void(GL_BINDING_CALL* glCompileShaderProc)(GLuint shader);
135 typedef void(GL_BINDING_CALL* glCompressedTexImage2DProc)(GLenum target,
136 GLint level,
137 GLenum internalformat,
138 GLsizei width,
139 GLsizei height,
140 GLint border,
141 GLsizei imageSize,
142 const void* data);
143 typedef void(GL_BINDING_CALL* glCompressedTexImage3DProc)(GLenum target,
144 GLint level,
145 GLenum internalformat,
146 GLsizei width,
147 GLsizei height,
148 GLsizei depth,
149 GLint border,
150 GLsizei imageSize,
151 const void* data);
152 typedef void(GL_BINDING_CALL* glCompressedTexSubImage2DProc)(GLenum target,
153 GLint level,
154 GLint xoffset,
155 GLint yoffset,
156 GLsizei width,
157 GLsizei height,
158 GLenum format,
159 GLsizei imageSize,
160 const void* data);
161 typedef void(GL_BINDING_CALL* glCopyBufferSubDataProc)(GLenum readTarget,
162 GLenum writeTarget,
163 GLintptr readOffset,
164 GLintptr writeOffset,
165 GLsizeiptr size);
166 typedef void(GL_BINDING_CALL* glCopyTexImage2DProc)(GLenum target,
167 GLint level,
168 GLenum internalformat,
169 GLint x,
170 GLint y,
171 GLsizei width,
172 GLsizei height,
173 GLint border);
174 typedef void(GL_BINDING_CALL* glCopyTexSubImage2DProc)(GLenum target,
175 GLint level,
176 GLint xoffset,
177 GLint yoffset,
178 GLint x,
179 GLint y,
180 GLsizei width,
181 GLsizei height);
182 typedef void(GL_BINDING_CALL* glCopyTexSubImage3DProc)(GLenum target,
183 GLint level,
184 GLint xoffset,
185 GLint yoffset,
186 GLint zoffset,
187 GLint x,
188 GLint y,
189 GLsizei width,
190 GLsizei height);
191 typedef GLuint(GL_BINDING_CALL* glCreateProgramProc)(void);
192 typedef GLuint(GL_BINDING_CALL* glCreateShaderProc)(GLenum type);
193 typedef void(GL_BINDING_CALL* glCullFaceProc)(GLenum mode);
194 typedef void(GL_BINDING_CALL* glDeleteBuffersARBProc)(GLsizei n,
195 const GLuint* buffers);
196 typedef void(GL_BINDING_CALL* glDeleteFencesAPPLEProc)(GLsizei n,
197 const GLuint* fences);
198 typedef void(GL_BINDING_CALL* glDeleteFencesNVProc)(GLsizei n,
199 const GLuint* fences);
200 typedef void(GL_BINDING_CALL* glDeleteFramebuffersEXTProc)(
201 GLsizei n,
202 const GLuint* framebuffers);
203 typedef void(GL_BINDING_CALL* glDeleteProgramProc)(GLuint program);
204 typedef void(GL_BINDING_CALL* glDeleteQueriesProc)(GLsizei n,
205 const GLuint* ids);
206 typedef void(GL_BINDING_CALL* glDeleteQueriesARBProc)(GLsizei n,
207 const GLuint* ids);
208 typedef void(GL_BINDING_CALL* glDeleteRenderbuffersEXTProc)(
209 GLsizei n,
210 const GLuint* renderbuffers);
211 typedef void(GL_BINDING_CALL* glDeleteSamplersProc)(GLsizei n,
212 const GLuint* samplers);
213 typedef void(GL_BINDING_CALL* glDeleteShaderProc)(GLuint shader);
214 typedef void(GL_BINDING_CALL* glDeleteSyncProc)(GLsync sync);
215 typedef void(GL_BINDING_CALL* glDeleteTexturesProc)(GLsizei n,
216 const GLuint* textures);
217 typedef void(GL_BINDING_CALL* glDeleteTransformFeedbacksProc)(
218 GLsizei n,
219 const GLuint* ids);
220 typedef void(GL_BINDING_CALL* glDeleteVertexArraysOESProc)(
221 GLsizei n,
222 const GLuint* arrays);
223 typedef void(GL_BINDING_CALL* glDepthFuncProc)(GLenum func);
224 typedef void(GL_BINDING_CALL* glDepthMaskProc)(GLboolean flag);
225 typedef void(GL_BINDING_CALL* glDepthRangeProc)(GLclampd zNear, GLclampd zFar);
226 typedef void(GL_BINDING_CALL* glDepthRangefProc)(GLclampf zNear, GLclampf zFar);
227 typedef void(GL_BINDING_CALL* glDetachShaderProc)(GLuint program,
228 GLuint shader);
229 typedef void(GL_BINDING_CALL* glDisableProc)(GLenum cap);
230 typedef void(GL_BINDING_CALL* glDisableVertexAttribArrayProc)(GLuint index);
231 typedef void(GL_BINDING_CALL* glDiscardFramebufferEXTProc)(
232 GLenum target,
233 GLsizei numAttachments,
234 const GLenum* attachments);
235 typedef void(GL_BINDING_CALL* glDrawArraysProc)(GLenum mode,
236 GLint first,
237 GLsizei count);
238 typedef void(GL_BINDING_CALL* glDrawArraysInstancedANGLEProc)(
239 GLenum mode,
240 GLint first,
241 GLsizei count,
242 GLsizei primcount);
243 typedef void(GL_BINDING_CALL* glDrawBufferProc)(GLenum mode);
244 typedef void(GL_BINDING_CALL* glDrawBuffersARBProc)(GLsizei n,
245 const GLenum* bufs);
246 typedef void(GL_BINDING_CALL* glDrawElementsProc)(GLenum mode,
247 GLsizei count,
248 GLenum type,
249 const void* indices);
250 typedef void(GL_BINDING_CALL* glDrawElementsInstancedANGLEProc)(
251 GLenum mode,
252 GLsizei count,
253 GLenum type,
254 const void* indices,
255 GLsizei primcount);
256 typedef void(GL_BINDING_CALL* glDrawRangeElementsProc)(GLenum mode,
257 GLuint start,
258 GLuint end,
259 GLsizei count,
260 GLenum type,
261 const void* indices);
262 typedef void(GL_BINDING_CALL* glEGLImageTargetRenderbufferStorageOESProc)(
263 GLenum target,
264 GLeglImageOES image);
265 typedef void(GL_BINDING_CALL* glEGLImageTargetTexture2DOESProc)(
266 GLenum target,
267 GLeglImageOES image);
268 typedef void(GL_BINDING_CALL* glEnableProc)(GLenum cap);
269 typedef void(GL_BINDING_CALL* glEnableVertexAttribArrayProc)(GLuint index);
270 typedef void(GL_BINDING_CALL* glEndQueryProc)(GLenum target);
271 typedef void(GL_BINDING_CALL* glEndQueryARBProc)(GLenum target);
272 typedef void(GL_BINDING_CALL* glEndTransformFeedbackProc)(void);
273 typedef GLsync(GL_BINDING_CALL* glFenceSyncProc)(GLenum condition,
274 GLbitfield flags);
275 typedef void(GL_BINDING_CALL* glFinishProc)(void);
276 typedef void(GL_BINDING_CALL* glFinishFenceAPPLEProc)(GLuint fence);
277 typedef void(GL_BINDING_CALL* glFinishFenceNVProc)(GLuint fence);
278 typedef void(GL_BINDING_CALL* glFlushProc)(void);
279 typedef void(GL_BINDING_CALL* glFlushMappedBufferRangeProc)(GLenum target,
280 GLintptr offset,
281 GLsizeiptr length);
282 typedef void(GL_BINDING_CALL* glFramebufferRenderbufferEXTProc)(
283 GLenum target,
284 GLenum attachment,
285 GLenum renderbuffertarget,
286 GLuint renderbuffer);
287 typedef void(GL_BINDING_CALL* glFramebufferTexture2DEXTProc)(GLenum target,
288 GLenum attachment,
289 GLenum textarget,
290 GLuint texture,
291 GLint level);
292 typedef void(GL_BINDING_CALL* glFramebufferTexture2DMultisampleEXTProc)(
293 GLenum target,
294 GLenum attachment,
295 GLenum textarget,
296 GLuint texture,
297 GLint level,
298 GLsizei samples);
299 typedef void(GL_BINDING_CALL* glFramebufferTexture2DMultisampleIMGProc)(
300 GLenum target,
301 GLenum attachment,
302 GLenum textarget,
303 GLuint texture,
304 GLint level,
305 GLsizei samples);
306 typedef void(GL_BINDING_CALL* glFramebufferTextureLayerProc)(GLenum target,
307 GLenum attachment,
308 GLuint texture,
309 GLint level,
310 GLint layer);
311 typedef void(GL_BINDING_CALL* glFrontFaceProc)(GLenum mode);
312 typedef void(GL_BINDING_CALL* glGenBuffersARBProc)(GLsizei n, GLuint* buffers);
313 typedef void(GL_BINDING_CALL* glGenerateMipmapEXTProc)(GLenum target);
314 typedef void(GL_BINDING_CALL* glGenFencesAPPLEProc)(GLsizei n, GLuint* fences);
315 typedef void(GL_BINDING_CALL* glGenFencesNVProc)(GLsizei n, GLuint* fences);
316 typedef void(GL_BINDING_CALL* glGenFramebuffersEXTProc)(GLsizei n,
317 GLuint* framebuffers);
318 typedef void(GL_BINDING_CALL* glGenQueriesProc)(GLsizei n, GLuint* ids);
319 typedef void(GL_BINDING_CALL* glGenQueriesARBProc)(GLsizei n, GLuint* ids);
320 typedef void(GL_BINDING_CALL* glGenRenderbuffersEXTProc)(GLsizei n,
321 GLuint* renderbuffers);
322 typedef void(GL_BINDING_CALL* glGenSamplersProc)(GLsizei n, GLuint* samplers);
323 typedef void(GL_BINDING_CALL* glGenTexturesProc)(GLsizei n, GLuint* textures);
324 typedef void(GL_BINDING_CALL* glGenTransformFeedbacksProc)(GLsizei n,
325 GLuint* ids);
326 typedef void(GL_BINDING_CALL* glGenVertexArraysOESProc)(GLsizei n,
327 GLuint* arrays);
328 typedef void(GL_BINDING_CALL* glGetActiveAttribProc)(GLuint program,
329 GLuint index,
330 GLsizei bufsize,
331 GLsizei* length,
332 GLint* size,
333 GLenum* type,
334 char* name);
335 typedef void(GL_BINDING_CALL* glGetActiveUniformProc)(GLuint program,
336 GLuint index,
337 GLsizei bufsize,
338 GLsizei* length,
339 GLint* size,
340 GLenum* type,
341 char* name);
342 typedef void(GL_BINDING_CALL* glGetActiveUniformBlockivProc)(
343 GLuint program,
344 GLuint uniformBlockIndex,
345 GLenum pname,
346 GLint* params);
347 typedef void(GL_BINDING_CALL* glGetActiveUniformBlockNameProc)(
348 GLuint program,
349 GLuint uniformBlockIndex,
350 GLsizei bufSize,
351 GLsizei* length,
352 char* uniformBlockName);
353 typedef void(GL_BINDING_CALL* glGetActiveUniformsivProc)(
354 GLuint program,
355 GLsizei uniformCount,
356 const GLuint* uniformIndices,
357 GLenum pname,
358 GLint* params);
359 typedef void(GL_BINDING_CALL* glGetAttachedShadersProc)(GLuint program,
360 GLsizei maxcount,
361 GLsizei* count,
362 GLuint* shaders);
363 typedef GLint(GL_BINDING_CALL* glGetAttribLocationProc)(GLuint program,
364 const char* name);
365 typedef void(GL_BINDING_CALL* glGetBooleanvProc)(GLenum pname,
366 GLboolean* params);
367 typedef void(GL_BINDING_CALL* glGetBufferParameterivProc)(GLenum target,
368 GLenum pname,
369 GLint* params);
370 typedef GLenum(GL_BINDING_CALL* glGetErrorProc)(void);
371 typedef void(GL_BINDING_CALL* glGetFenceivNVProc)(GLuint fence,
372 GLenum pname,
373 GLint* params);
374 typedef void(GL_BINDING_CALL* glGetFloatvProc)(GLenum pname, GLfloat* params);
375 typedef GLint(GL_BINDING_CALL* glGetFragDataLocationProc)(GLuint program,
376 const char* name);
377 typedef void(GL_BINDING_CALL* glGetFramebufferAttachmentParameterivEXTProc)(
378 GLenum target,
379 GLenum attachment,
380 GLenum pname,
381 GLint* params);
382 typedef GLenum(GL_BINDING_CALL* glGetGraphicsResetStatusARBProc)(void);
383 typedef void(GL_BINDING_CALL* glGetInteger64i_vProc)(GLenum target,
384 GLuint index,
385 GLint64* data);
386 typedef void(GL_BINDING_CALL* glGetInteger64vProc)(GLenum pname,
387 GLint64* params);
388 typedef void(GL_BINDING_CALL* glGetIntegeri_vProc)(GLenum target,
389 GLuint index,
390 GLint* data);
391 typedef void(GL_BINDING_CALL* glGetIntegervProc)(GLenum pname, GLint* params);
392 typedef void(GL_BINDING_CALL* glGetInternalformativProc)(GLenum target,
393 GLenum internalformat,
394 GLenum pname,
395 GLsizei bufSize,
396 GLint* params);
397 typedef void(GL_BINDING_CALL* glGetProgramBinaryProc)(GLuint program,
398 GLsizei bufSize,
399 GLsizei* length,
400 GLenum* binaryFormat,
401 GLvoid* binary);
402 typedef void(GL_BINDING_CALL* glGetProgramInfoLogProc)(GLuint program,
403 GLsizei bufsize,
404 GLsizei* length,
405 char* infolog);
406 typedef void(GL_BINDING_CALL* glGetProgramivProc)(GLuint program,
407 GLenum pname,
408 GLint* params);
409 typedef void(GL_BINDING_CALL* glGetQueryivProc)(GLenum target,
410 GLenum pname,
411 GLint* params);
412 typedef void(GL_BINDING_CALL* glGetQueryivARBProc)(GLenum target,
413 GLenum pname,
414 GLint* params);
415 typedef void(GL_BINDING_CALL* glGetQueryObjecti64vProc)(GLuint id,
416 GLenum pname,
417 GLint64* params);
418 typedef void(GL_BINDING_CALL* glGetQueryObjectivProc)(GLuint id,
419 GLenum pname,
420 GLint* params);
421 typedef void(GL_BINDING_CALL* glGetQueryObjectivARBProc)(GLuint id,
422 GLenum pname,
423 GLint* params);
424 typedef void(GL_BINDING_CALL* glGetQueryObjectui64vProc)(GLuint id,
425 GLenum pname,
426 GLuint64* params);
427 typedef void(GL_BINDING_CALL* glGetQueryObjectuivProc)(GLuint id,
428 GLenum pname,
429 GLuint* params);
430 typedef void(GL_BINDING_CALL* glGetQueryObjectuivARBProc)(GLuint id,
431 GLenum pname,
432 GLuint* params);
433 typedef void(GL_BINDING_CALL* glGetRenderbufferParameterivEXTProc)(
434 GLenum target,
435 GLenum pname,
436 GLint* params);
437 typedef void(GL_BINDING_CALL* glGetSamplerParameterfvProc)(GLuint sampler,
438 GLenum pname,
439 GLfloat* params);
440 typedef void(GL_BINDING_CALL* glGetSamplerParameterivProc)(GLuint sampler,
441 GLenum pname,
442 GLint* params);
443 typedef void(GL_BINDING_CALL* glGetShaderInfoLogProc)(GLuint shader,
444 GLsizei bufsize,
445 GLsizei* length,
446 char* infolog);
447 typedef void(GL_BINDING_CALL* glGetShaderivProc)(GLuint shader,
448 GLenum pname,
449 GLint* params);
450 typedef void(GL_BINDING_CALL* glGetShaderPrecisionFormatProc)(
451 GLenum shadertype,
452 GLenum precisiontype,
453 GLint* range,
454 GLint* precision);
455 typedef void(GL_BINDING_CALL* glGetShaderSourceProc)(GLuint shader,
456 GLsizei bufsize,
457 GLsizei* length,
458 char* source);
459 typedef const GLubyte*(GL_BINDING_CALL* glGetStringProc)(GLenum name);
460 typedef void(GL_BINDING_CALL* glGetSyncivProc)(GLsync sync,
461 GLenum pname,
462 GLsizei bufSize,
463 GLsizei* length,
464 GLint* values);
465 typedef void(GL_BINDING_CALL* glGetTexLevelParameterfvProc)(GLenum target,
466 GLint level,
467 GLenum pname,
468 GLfloat* params);
469 typedef void(GL_BINDING_CALL* glGetTexLevelParameterivProc)(GLenum target,
470 GLint level,
471 GLenum pname,
472 GLint* params);
473 typedef void(GL_BINDING_CALL* glGetTexParameterfvProc)(GLenum target,
474 GLenum pname,
475 GLfloat* params);
476 typedef void(GL_BINDING_CALL* glGetTexParameterivProc)(GLenum target,
477 GLenum pname,
478 GLint* params);
479 typedef void(GL_BINDING_CALL* glGetTransformFeedbackVaryingProc)(
480 GLuint program,
481 GLuint index,
482 GLsizei bufSize,
483 GLsizei* length,
484 GLenum* type,
485 char* name);
486 typedef void(GL_BINDING_CALL* glGetTranslatedShaderSourceANGLEProc)(
487 GLuint shader,
488 GLsizei bufsize,
489 GLsizei* length,
490 char* source);
491 typedef GLuint(GL_BINDING_CALL* glGetUniformBlockIndexProc)(
492 GLuint program,
493 const char* uniformBlockName);
494 typedef void(GL_BINDING_CALL* glGetUniformfvProc)(GLuint program,
495 GLint location,
496 GLfloat* params);
497 typedef void(GL_BINDING_CALL* glGetUniformIndicesProc)(
498 GLuint program,
499 GLsizei uniformCount,
500 const char* const* uniformNames,
501 GLuint* uniformIndices);
502 typedef void(GL_BINDING_CALL* glGetUniformivProc)(GLuint program,
503 GLint location,
504 GLint* params);
505 typedef GLint(GL_BINDING_CALL* glGetUniformLocationProc)(GLuint program,
506 const char* name);
507 typedef void(GL_BINDING_CALL* glGetVertexAttribfvProc)(GLuint index,
508 GLenum pname,
509 GLfloat* params);
510 typedef void(GL_BINDING_CALL* glGetVertexAttribivProc)(GLuint index,
511 GLenum pname,
512 GLint* params);
513 typedef void(GL_BINDING_CALL* glGetVertexAttribPointervProc)(GLuint index,
514 GLenum pname,
515 void** pointer);
516 typedef void(GL_BINDING_CALL* glHintProc)(GLenum target, GLenum mode);
517 typedef void(GL_BINDING_CALL* glInsertEventMarkerEXTProc)(GLsizei length,
518 const char* marker);
519 typedef void(GL_BINDING_CALL* glInvalidateFramebufferProc)(
520 GLenum target,
521 GLsizei numAttachments,
522 const GLenum* attachments);
523 typedef void(GL_BINDING_CALL* glInvalidateSubFramebufferProc)(
524 GLenum target,
525 GLsizei numAttachments,
526 const GLenum* attachments,
527 GLint x,
528 GLint y,
529 GLint width,
530 GLint height);
531 typedef GLboolean(GL_BINDING_CALL* glIsBufferProc)(GLuint buffer);
532 typedef GLboolean(GL_BINDING_CALL* glIsEnabledProc)(GLenum cap);
533 typedef GLboolean(GL_BINDING_CALL* glIsFenceAPPLEProc)(GLuint fence);
534 typedef GLboolean(GL_BINDING_CALL* glIsFenceNVProc)(GLuint fence);
535 typedef GLboolean(GL_BINDING_CALL* glIsFramebufferEXTProc)(GLuint framebuffer);
536 typedef GLboolean(GL_BINDING_CALL* glIsProgramProc)(GLuint program);
537 typedef GLboolean(GL_BINDING_CALL* glIsQueryProc)(GLuint query);
538 typedef GLboolean(GL_BINDING_CALL* glIsQueryARBProc)(GLuint query);
539 typedef GLboolean(GL_BINDING_CALL* glIsRenderbufferEXTProc)(
540 GLuint renderbuffer);
541 typedef GLboolean(GL_BINDING_CALL* glIsSamplerProc)(GLuint sampler);
542 typedef GLboolean(GL_BINDING_CALL* glIsShaderProc)(GLuint shader);
543 typedef GLboolean(GL_BINDING_CALL* glIsSyncProc)(GLsync sync);
544 typedef GLboolean(GL_BINDING_CALL* glIsTextureProc)(GLuint texture);
545 typedef GLboolean(GL_BINDING_CALL* glIsTransformFeedbackProc)(GLuint id);
546 typedef GLboolean(GL_BINDING_CALL* glIsVertexArrayOESProc)(GLuint array);
547 typedef void(GL_BINDING_CALL* glLineWidthProc)(GLfloat width);
548 typedef void(GL_BINDING_CALL* glLinkProgramProc)(GLuint program);
549 typedef void*(GL_BINDING_CALL* glMapBufferProc)(GLenum target, GLenum access);
550 typedef void*(GL_BINDING_CALL* glMapBufferRangeProc)(GLenum target,
551 GLintptr offset,
552 GLsizeiptr length,
553 GLbitfield access);
554 typedef void(GL_BINDING_CALL* glMatrixLoadfEXTProc)(GLenum matrixMode,
555 const GLfloat* m);
556 typedef void(GL_BINDING_CALL* glMatrixLoadIdentityEXTProc)(GLenum matrixMode);
557 typedef void(GL_BINDING_CALL* glPauseTransformFeedbackProc)(void);
558 typedef void(GL_BINDING_CALL* glPixelStoreiProc)(GLenum pname, GLint param);
559 typedef void(GL_BINDING_CALL* glPointParameteriProc)(GLenum pname, GLint param);
560 typedef void(GL_BINDING_CALL* glPolygonOffsetProc)(GLfloat factor,
561 GLfloat units);
562 typedef void(GL_BINDING_CALL* glPopGroupMarkerEXTProc)(void);
563 typedef void(GL_BINDING_CALL* glProgramBinaryProc)(GLuint program,
564 GLenum binaryFormat,
565 const GLvoid* binary,
566 GLsizei length);
567 typedef void(GL_BINDING_CALL* glProgramParameteriProc)(GLuint program,
568 GLenum pname,
569 GLint value);
570 typedef void(GL_BINDING_CALL* glPushGroupMarkerEXTProc)(GLsizei length,
571 const char* marker);
572 typedef void(GL_BINDING_CALL* glQueryCounterProc)(GLuint id, GLenum target);
573 typedef void(GL_BINDING_CALL* glReadBufferProc)(GLenum src);
574 typedef void(GL_BINDING_CALL* glReadPixelsProc)(GLint x,
575 GLint y,
576 GLsizei width,
577 GLsizei height,
578 GLenum format,
579 GLenum type,
580 void* pixels);
581 typedef void(GL_BINDING_CALL* glReleaseShaderCompilerProc)(void);
582 typedef void(GL_BINDING_CALL* glRenderbufferStorageEXTProc)(
583 GLenum target,
584 GLenum internalformat,
585 GLsizei width,
586 GLsizei height);
587 typedef void(GL_BINDING_CALL* glRenderbufferStorageMultisampleProc)(
588 GLenum target,
589 GLsizei samples,
590 GLenum internalformat,
591 GLsizei width,
592 GLsizei height);
593 typedef void(GL_BINDING_CALL* glRenderbufferStorageMultisampleANGLEProc)(
594 GLenum target,
595 GLsizei samples,
596 GLenum internalformat,
597 GLsizei width,
598 GLsizei height);
599 typedef void(GL_BINDING_CALL* glRenderbufferStorageMultisampleEXTProc)(
600 GLenum target,
601 GLsizei samples,
602 GLenum internalformat,
603 GLsizei width,
604 GLsizei height);
605 typedef void(GL_BINDING_CALL* glRenderbufferStorageMultisampleIMGProc)(
606 GLenum target,
607 GLsizei samples,
608 GLenum internalformat,
609 GLsizei width,
610 GLsizei height);
611 typedef void(GL_BINDING_CALL* glResumeTransformFeedbackProc)(void);
612 typedef void(GL_BINDING_CALL* glSampleCoverageProc)(GLclampf value,
613 GLboolean invert);
614 typedef void(GL_BINDING_CALL* glSamplerParameterfProc)(GLuint sampler,
615 GLenum pname,
616 GLfloat param);
617 typedef void(GL_BINDING_CALL* glSamplerParameterfvProc)(GLuint sampler,
618 GLenum pname,
619 const GLfloat* params);
620 typedef void(GL_BINDING_CALL* glSamplerParameteriProc)(GLuint sampler,
621 GLenum pname,
622 GLint param);
623 typedef void(GL_BINDING_CALL* glSamplerParameterivProc)(GLuint sampler,
624 GLenum pname,
625 const GLint* params);
626 typedef void(GL_BINDING_CALL* glScissorProc)(GLint x,
627 GLint y,
628 GLsizei width,
629 GLsizei height);
630 typedef void(GL_BINDING_CALL* glSetFenceAPPLEProc)(GLuint fence);
631 typedef void(GL_BINDING_CALL* glSetFenceNVProc)(GLuint fence, GLenum condition);
632 typedef void(GL_BINDING_CALL* glShaderBinaryProc)(GLsizei n,
633 const GLuint* shaders,
634 GLenum binaryformat,
635 const void* binary,
636 GLsizei length);
637 typedef void(GL_BINDING_CALL* glShaderSourceProc)(GLuint shader,
638 GLsizei count,
639 const char* const* str,
640 const GLint* length);
641 typedef void(GL_BINDING_CALL* glStencilFuncProc)(GLenum func,
642 GLint ref,
643 GLuint mask);
644 typedef void(GL_BINDING_CALL* glStencilFuncSeparateProc)(GLenum face,
645 GLenum func,
646 GLint ref,
647 GLuint mask);
648 typedef void(GL_BINDING_CALL* glStencilMaskProc)(GLuint mask);
649 typedef void(GL_BINDING_CALL* glStencilMaskSeparateProc)(GLenum face,
650 GLuint mask);
651 typedef void(GL_BINDING_CALL* glStencilOpProc)(GLenum fail,
652 GLenum zfail,
653 GLenum zpass);
654 typedef void(GL_BINDING_CALL* glStencilOpSeparateProc)(GLenum face,
655 GLenum fail,
656 GLenum zfail,
657 GLenum zpass);
658 typedef GLboolean(GL_BINDING_CALL* glTestFenceAPPLEProc)(GLuint fence);
659 typedef GLboolean(GL_BINDING_CALL* glTestFenceNVProc)(GLuint fence);
660 typedef void(GL_BINDING_CALL* glTexImage2DProc)(GLenum target,
661 GLint level,
662 GLint internalformat,
663 GLsizei width,
664 GLsizei height,
665 GLint border,
666 GLenum format,
667 GLenum type,
668 const void* pixels);
669 typedef void(GL_BINDING_CALL* glTexImage3DProc)(GLenum target,
670 GLint level,
671 GLint internalformat,
672 GLsizei width,
673 GLsizei height,
674 GLsizei depth,
675 GLint border,
676 GLenum format,
677 GLenum type,
678 const void* pixels);
679 typedef void(GL_BINDING_CALL* glTexParameterfProc)(GLenum target,
680 GLenum pname,
681 GLfloat param);
682 typedef void(GL_BINDING_CALL* glTexParameterfvProc)(GLenum target,
683 GLenum pname,
684 const GLfloat* params);
685 typedef void(GL_BINDING_CALL* glTexParameteriProc)(GLenum target,
686 GLenum pname,
687 GLint param);
688 typedef void(GL_BINDING_CALL* glTexParameterivProc)(GLenum target,
689 GLenum pname,
690 const GLint* params);
691 typedef void(GL_BINDING_CALL* glTexStorage2DEXTProc)(GLenum target,
692 GLsizei levels,
693 GLenum internalformat,
694 GLsizei width,
695 GLsizei height);
696 typedef void(GL_BINDING_CALL* glTexStorage3DProc)(GLenum target,
697 GLsizei levels,
698 GLenum internalformat,
699 GLsizei width,
700 GLsizei height,
701 GLsizei depth);
702 typedef void(GL_BINDING_CALL* glTexSubImage2DProc)(GLenum target,
703 GLint level,
704 GLint xoffset,
705 GLint yoffset,
706 GLsizei width,
707 GLsizei height,
708 GLenum format,
709 GLenum type,
710 const void* pixels);
711 typedef void(GL_BINDING_CALL* glTransformFeedbackVaryingsProc)(
712 GLuint program,
713 GLsizei count,
714 const char* const* varyings,
715 GLenum bufferMode);
716 typedef void(GL_BINDING_CALL* glUniform1fProc)(GLint location, GLfloat x);
717 typedef void(GL_BINDING_CALL* glUniform1fvProc)(GLint location,
718 GLsizei count,
719 const GLfloat* v);
720 typedef void(GL_BINDING_CALL* glUniform1iProc)(GLint location, GLint x);
721 typedef void(GL_BINDING_CALL* glUniform1ivProc)(GLint location,
722 GLsizei count,
723 const GLint* v);
724 typedef void(GL_BINDING_CALL* glUniform1uiProc)(GLint location, GLuint v0);
725 typedef void(GL_BINDING_CALL* glUniform1uivProc)(GLint location,
726 GLsizei count,
727 const GLuint* v);
728 typedef void(GL_BINDING_CALL* glUniform2fProc)(GLint location,
729 GLfloat x,
730 GLfloat y);
731 typedef void(GL_BINDING_CALL* glUniform2fvProc)(GLint location,
732 GLsizei count,
733 const GLfloat* v);
734 typedef void(GL_BINDING_CALL* glUniform2iProc)(GLint location,
735 GLint x,
736 GLint y);
737 typedef void(GL_BINDING_CALL* glUniform2ivProc)(GLint location,
738 GLsizei count,
739 const GLint* v);
740 typedef void(GL_BINDING_CALL* glUniform2uiProc)(GLint location,
741 GLuint v0,
742 GLuint v1);
743 typedef void(GL_BINDING_CALL* glUniform2uivProc)(GLint location,
744 GLsizei count,
745 const GLuint* v);
746 typedef void(GL_BINDING_CALL* glUniform3fProc)(GLint location,
747 GLfloat x,
748 GLfloat y,
749 GLfloat z);
750 typedef void(GL_BINDING_CALL* glUniform3fvProc)(GLint location,
751 GLsizei count,
752 const GLfloat* v);
753 typedef void(GL_BINDING_CALL* glUniform3iProc)(GLint location,
754 GLint x,
755 GLint y,
756 GLint z);
757 typedef void(GL_BINDING_CALL* glUniform3ivProc)(GLint location,
758 GLsizei count,
759 const GLint* v);
760 typedef void(GL_BINDING_CALL* glUniform3uiProc)(GLint location,
761 GLuint v0,
762 GLuint v1,
763 GLuint v2);
764 typedef void(GL_BINDING_CALL* glUniform3uivProc)(GLint location,
765 GLsizei count,
766 const GLuint* v);
767 typedef void(GL_BINDING_CALL* glUniform4fProc)(GLint location,
768 GLfloat x,
769 GLfloat y,
770 GLfloat z,
771 GLfloat w);
772 typedef void(GL_BINDING_CALL* glUniform4fvProc)(GLint location,
773 GLsizei count,
774 const GLfloat* v);
775 typedef void(GL_BINDING_CALL* glUniform4iProc)(GLint location,
776 GLint x,
777 GLint y,
778 GLint z,
779 GLint w);
780 typedef void(GL_BINDING_CALL* glUniform4ivProc)(GLint location,
781 GLsizei count,
782 const GLint* v);
783 typedef void(GL_BINDING_CALL* glUniform4uiProc)(GLint location,
784 GLuint v0,
785 GLuint v1,
786 GLuint v2,
787 GLuint v3);
788 typedef void(GL_BINDING_CALL* glUniform4uivProc)(GLint location,
789 GLsizei count,
790 const GLuint* v);
791 typedef void(GL_BINDING_CALL* glUniformBlockBindingProc)(
792 GLuint program,
793 GLuint uniformBlockIndex,
794 GLuint uniformBlockBinding);
795 typedef void(GL_BINDING_CALL* glUniformMatrix2fvProc)(GLint location,
796 GLsizei count,
797 GLboolean transpose,
798 const GLfloat* value);
799 typedef void(GL_BINDING_CALL* glUniformMatrix2x3fvProc)(GLint location,
800 GLsizei count,
801 GLboolean transpose,
802 const GLfloat* value);
803 typedef void(GL_BINDING_CALL* glUniformMatrix2x4fvProc)(GLint location,
804 GLsizei count,
805 GLboolean transpose,
806 const GLfloat* value);
807 typedef void(GL_BINDING_CALL* glUniformMatrix3fvProc)(GLint location,
808 GLsizei count,
809 GLboolean transpose,
810 const GLfloat* value);
811 typedef void(GL_BINDING_CALL* glUniformMatrix3x2fvProc)(GLint location,
812 GLsizei count,
813 GLboolean transpose,
814 const GLfloat* value);
815 typedef void(GL_BINDING_CALL* glUniformMatrix3x4fvProc)(GLint location,
816 GLsizei count,
817 GLboolean transpose,
818 const GLfloat* value);
819 typedef void(GL_BINDING_CALL* glUniformMatrix4fvProc)(GLint location,
820 GLsizei count,
821 GLboolean transpose,
822 const GLfloat* value);
823 typedef void(GL_BINDING_CALL* glUniformMatrix4x2fvProc)(GLint location,
824 GLsizei count,
825 GLboolean transpose,
826 const GLfloat* value);
827 typedef void(GL_BINDING_CALL* glUniformMatrix4x3fvProc)(GLint location,
828 GLsizei count,
829 GLboolean transpose,
830 const GLfloat* value);
831 typedef GLboolean(GL_BINDING_CALL* glUnmapBufferProc)(GLenum target);
832 typedef void(GL_BINDING_CALL* glUseProgramProc)(GLuint program);
833 typedef void(GL_BINDING_CALL* glValidateProgramProc)(GLuint program);
834 typedef void(GL_BINDING_CALL* glVertexAttrib1fProc)(GLuint indx, GLfloat x);
835 typedef void(GL_BINDING_CALL* glVertexAttrib1fvProc)(GLuint indx,
836 const GLfloat* values);
837 typedef void(GL_BINDING_CALL* glVertexAttrib2fProc)(GLuint indx,
838 GLfloat x,
839 GLfloat y);
840 typedef void(GL_BINDING_CALL* glVertexAttrib2fvProc)(GLuint indx,
841 const GLfloat* values);
842 typedef void(GL_BINDING_CALL* glVertexAttrib3fProc)(GLuint indx,
843 GLfloat x,
844 GLfloat y,
845 GLfloat z);
846 typedef void(GL_BINDING_CALL* glVertexAttrib3fvProc)(GLuint indx,
847 const GLfloat* values);
848 typedef void(GL_BINDING_CALL* glVertexAttrib4fProc)(GLuint indx,
849 GLfloat x,
850 GLfloat y,
851 GLfloat z,
852 GLfloat w);
853 typedef void(GL_BINDING_CALL* glVertexAttrib4fvProc)(GLuint indx,
854 const GLfloat* values);
855 typedef void(GL_BINDING_CALL* glVertexAttribDivisorANGLEProc)(GLuint index,
856 GLuint divisor);
857 typedef void(GL_BINDING_CALL* glVertexAttribI4iProc)(GLuint indx,
858 GLint x,
859 GLint y,
860 GLint z,
861 GLint w);
862 typedef void(GL_BINDING_CALL* glVertexAttribI4ivProc)(GLuint indx,
863 const GLint* values);
864 typedef void(GL_BINDING_CALL* glVertexAttribI4uiProc)(GLuint indx,
865 GLuint x,
866 GLuint y,
867 GLuint z,
868 GLuint w);
869 typedef void(GL_BINDING_CALL* glVertexAttribI4uivProc)(GLuint indx,
870 const GLuint* values);
871 typedef void(GL_BINDING_CALL* glVertexAttribIPointerProc)(GLuint indx,
872 GLint size,
873 GLenum type,
874 GLsizei stride,
875 const void* ptr);
876 typedef void(GL_BINDING_CALL* glVertexAttribPointerProc)(GLuint indx,
877 GLint size,
878 GLenum type,
879 GLboolean normalized,
880 GLsizei stride,
881 const void* ptr);
882 typedef void(GL_BINDING_CALL* glViewportProc)(GLint x,
883 GLint y,
884 GLsizei width,
885 GLsizei height);
886 typedef GLenum(GL_BINDING_CALL* glWaitSyncProc)(GLsync sync,
887 GLbitfield flags,
888 GLuint64 timeout);
890 struct ExtensionsGL {
891 bool b_GL_ANGLE_framebuffer_blit;
892 bool b_GL_ANGLE_framebuffer_multisample;
893 bool b_GL_ANGLE_instanced_arrays;
894 bool b_GL_ANGLE_translated_shader_source;
895 bool b_GL_APPLE_fence;
896 bool b_GL_APPLE_vertex_array_object;
897 bool b_GL_ARB_draw_buffers;
898 bool b_GL_ARB_draw_instanced;
899 bool b_GL_ARB_get_program_binary;
900 bool b_GL_ARB_instanced_arrays;
901 bool b_GL_ARB_map_buffer_range;
902 bool b_GL_ARB_occlusion_query;
903 bool b_GL_ARB_robustness;
904 bool b_GL_ARB_sync;
905 bool b_GL_ARB_texture_storage;
906 bool b_GL_ARB_timer_query;
907 bool b_GL_ARB_vertex_array_object;
908 bool b_GL_CHROMIUM_gles_depth_binding_hack;
909 bool b_GL_EXT_debug_marker;
910 bool b_GL_EXT_direct_state_access;
911 bool b_GL_EXT_discard_framebuffer;
912 bool b_GL_EXT_disjoint_timer_query;
913 bool b_GL_EXT_draw_buffers;
914 bool b_GL_EXT_framebuffer_blit;
915 bool b_GL_EXT_framebuffer_multisample;
916 bool b_GL_EXT_framebuffer_object;
917 bool b_GL_EXT_map_buffer_range;
918 bool b_GL_EXT_multisampled_render_to_texture;
919 bool b_GL_EXT_occlusion_query_boolean;
920 bool b_GL_EXT_robustness;
921 bool b_GL_EXT_texture_storage;
922 bool b_GL_EXT_timer_query;
923 bool b_GL_IMG_multisampled_render_to_texture;
924 bool b_GL_KHR_blend_equation_advanced;
925 bool b_GL_KHR_robustness;
926 bool b_GL_NV_blend_equation_advanced;
927 bool b_GL_NV_fence;
928 bool b_GL_NV_path_rendering;
929 bool b_GL_OES_EGL_image;
930 bool b_GL_OES_get_program_binary;
931 bool b_GL_OES_mapbuffer;
932 bool b_GL_OES_vertex_array_object;
935 struct ProcsGL {
936 glActiveTextureProc glActiveTextureFn;
937 glAttachShaderProc glAttachShaderFn;
938 glBeginQueryProc glBeginQueryFn;
939 glBeginQueryARBProc glBeginQueryARBFn;
940 glBeginTransformFeedbackProc glBeginTransformFeedbackFn;
941 glBindAttribLocationProc glBindAttribLocationFn;
942 glBindBufferProc glBindBufferFn;
943 glBindBufferBaseProc glBindBufferBaseFn;
944 glBindBufferRangeProc glBindBufferRangeFn;
945 glBindFragDataLocationProc glBindFragDataLocationFn;
946 glBindFragDataLocationIndexedProc glBindFragDataLocationIndexedFn;
947 glBindFramebufferEXTProc glBindFramebufferEXTFn;
948 glBindRenderbufferEXTProc glBindRenderbufferEXTFn;
949 glBindSamplerProc glBindSamplerFn;
950 glBindTextureProc glBindTextureFn;
951 glBindTransformFeedbackProc glBindTransformFeedbackFn;
952 glBindVertexArrayOESProc glBindVertexArrayOESFn;
953 glBlendBarrierKHRProc glBlendBarrierKHRFn;
954 glBlendColorProc glBlendColorFn;
955 glBlendEquationProc glBlendEquationFn;
956 glBlendEquationSeparateProc glBlendEquationSeparateFn;
957 glBlendFuncProc glBlendFuncFn;
958 glBlendFuncSeparateProc glBlendFuncSeparateFn;
959 glBlitFramebufferProc glBlitFramebufferFn;
960 glBlitFramebufferANGLEProc glBlitFramebufferANGLEFn;
961 glBlitFramebufferEXTProc glBlitFramebufferEXTFn;
962 glBufferDataProc glBufferDataFn;
963 glBufferSubDataProc glBufferSubDataFn;
964 glCheckFramebufferStatusEXTProc glCheckFramebufferStatusEXTFn;
965 glClearProc glClearFn;
966 glClearBufferfiProc glClearBufferfiFn;
967 glClearBufferfvProc glClearBufferfvFn;
968 glClearBufferivProc glClearBufferivFn;
969 glClearBufferuivProc glClearBufferuivFn;
970 glClearColorProc glClearColorFn;
971 glClearDepthProc glClearDepthFn;
972 glClearDepthfProc glClearDepthfFn;
973 glClearStencilProc glClearStencilFn;
974 glClientWaitSyncProc glClientWaitSyncFn;
975 glColorMaskProc glColorMaskFn;
976 glCompileShaderProc glCompileShaderFn;
977 glCompressedTexImage2DProc glCompressedTexImage2DFn;
978 glCompressedTexImage3DProc glCompressedTexImage3DFn;
979 glCompressedTexSubImage2DProc glCompressedTexSubImage2DFn;
980 glCopyBufferSubDataProc glCopyBufferSubDataFn;
981 glCopyTexImage2DProc glCopyTexImage2DFn;
982 glCopyTexSubImage2DProc glCopyTexSubImage2DFn;
983 glCopyTexSubImage3DProc glCopyTexSubImage3DFn;
984 glCreateProgramProc glCreateProgramFn;
985 glCreateShaderProc glCreateShaderFn;
986 glCullFaceProc glCullFaceFn;
987 glDeleteBuffersARBProc glDeleteBuffersARBFn;
988 glDeleteFencesAPPLEProc glDeleteFencesAPPLEFn;
989 glDeleteFencesNVProc glDeleteFencesNVFn;
990 glDeleteFramebuffersEXTProc glDeleteFramebuffersEXTFn;
991 glDeleteProgramProc glDeleteProgramFn;
992 glDeleteQueriesProc glDeleteQueriesFn;
993 glDeleteQueriesARBProc glDeleteQueriesARBFn;
994 glDeleteRenderbuffersEXTProc glDeleteRenderbuffersEXTFn;
995 glDeleteSamplersProc glDeleteSamplersFn;
996 glDeleteShaderProc glDeleteShaderFn;
997 glDeleteSyncProc glDeleteSyncFn;
998 glDeleteTexturesProc glDeleteTexturesFn;
999 glDeleteTransformFeedbacksProc glDeleteTransformFeedbacksFn;
1000 glDeleteVertexArraysOESProc glDeleteVertexArraysOESFn;
1001 glDepthFuncProc glDepthFuncFn;
1002 glDepthMaskProc glDepthMaskFn;
1003 glDepthRangeProc glDepthRangeFn;
1004 glDepthRangefProc glDepthRangefFn;
1005 glDetachShaderProc glDetachShaderFn;
1006 glDisableProc glDisableFn;
1007 glDisableVertexAttribArrayProc glDisableVertexAttribArrayFn;
1008 glDiscardFramebufferEXTProc glDiscardFramebufferEXTFn;
1009 glDrawArraysProc glDrawArraysFn;
1010 glDrawArraysInstancedANGLEProc glDrawArraysInstancedANGLEFn;
1011 glDrawBufferProc glDrawBufferFn;
1012 glDrawBuffersARBProc glDrawBuffersARBFn;
1013 glDrawElementsProc glDrawElementsFn;
1014 glDrawElementsInstancedANGLEProc glDrawElementsInstancedANGLEFn;
1015 glDrawRangeElementsProc glDrawRangeElementsFn;
1016 glEGLImageTargetRenderbufferStorageOESProc
1017 glEGLImageTargetRenderbufferStorageOESFn;
1018 glEGLImageTargetTexture2DOESProc glEGLImageTargetTexture2DOESFn;
1019 glEnableProc glEnableFn;
1020 glEnableVertexAttribArrayProc glEnableVertexAttribArrayFn;
1021 glEndQueryProc glEndQueryFn;
1022 glEndQueryARBProc glEndQueryARBFn;
1023 glEndTransformFeedbackProc glEndTransformFeedbackFn;
1024 glFenceSyncProc glFenceSyncFn;
1025 glFinishProc glFinishFn;
1026 glFinishFenceAPPLEProc glFinishFenceAPPLEFn;
1027 glFinishFenceNVProc glFinishFenceNVFn;
1028 glFlushProc glFlushFn;
1029 glFlushMappedBufferRangeProc glFlushMappedBufferRangeFn;
1030 glFramebufferRenderbufferEXTProc glFramebufferRenderbufferEXTFn;
1031 glFramebufferTexture2DEXTProc glFramebufferTexture2DEXTFn;
1032 glFramebufferTexture2DMultisampleEXTProc
1033 glFramebufferTexture2DMultisampleEXTFn;
1034 glFramebufferTexture2DMultisampleIMGProc
1035 glFramebufferTexture2DMultisampleIMGFn;
1036 glFramebufferTextureLayerProc glFramebufferTextureLayerFn;
1037 glFrontFaceProc glFrontFaceFn;
1038 glGenBuffersARBProc glGenBuffersARBFn;
1039 glGenerateMipmapEXTProc glGenerateMipmapEXTFn;
1040 glGenFencesAPPLEProc glGenFencesAPPLEFn;
1041 glGenFencesNVProc glGenFencesNVFn;
1042 glGenFramebuffersEXTProc glGenFramebuffersEXTFn;
1043 glGenQueriesProc glGenQueriesFn;
1044 glGenQueriesARBProc glGenQueriesARBFn;
1045 glGenRenderbuffersEXTProc glGenRenderbuffersEXTFn;
1046 glGenSamplersProc glGenSamplersFn;
1047 glGenTexturesProc glGenTexturesFn;
1048 glGenTransformFeedbacksProc glGenTransformFeedbacksFn;
1049 glGenVertexArraysOESProc glGenVertexArraysOESFn;
1050 glGetActiveAttribProc glGetActiveAttribFn;
1051 glGetActiveUniformProc glGetActiveUniformFn;
1052 glGetActiveUniformBlockivProc glGetActiveUniformBlockivFn;
1053 glGetActiveUniformBlockNameProc glGetActiveUniformBlockNameFn;
1054 glGetActiveUniformsivProc glGetActiveUniformsivFn;
1055 glGetAttachedShadersProc glGetAttachedShadersFn;
1056 glGetAttribLocationProc glGetAttribLocationFn;
1057 glGetBooleanvProc glGetBooleanvFn;
1058 glGetBufferParameterivProc glGetBufferParameterivFn;
1059 glGetErrorProc glGetErrorFn;
1060 glGetFenceivNVProc glGetFenceivNVFn;
1061 glGetFloatvProc glGetFloatvFn;
1062 glGetFragDataLocationProc glGetFragDataLocationFn;
1063 glGetFramebufferAttachmentParameterivEXTProc
1064 glGetFramebufferAttachmentParameterivEXTFn;
1065 glGetGraphicsResetStatusARBProc glGetGraphicsResetStatusARBFn;
1066 glGetInteger64i_vProc glGetInteger64i_vFn;
1067 glGetInteger64vProc glGetInteger64vFn;
1068 glGetIntegeri_vProc glGetIntegeri_vFn;
1069 glGetIntegervProc glGetIntegervFn;
1070 glGetInternalformativProc glGetInternalformativFn;
1071 glGetProgramBinaryProc glGetProgramBinaryFn;
1072 glGetProgramInfoLogProc glGetProgramInfoLogFn;
1073 glGetProgramivProc glGetProgramivFn;
1074 glGetQueryivProc glGetQueryivFn;
1075 glGetQueryivARBProc glGetQueryivARBFn;
1076 glGetQueryObjecti64vProc glGetQueryObjecti64vFn;
1077 glGetQueryObjectivProc glGetQueryObjectivFn;
1078 glGetQueryObjectivARBProc glGetQueryObjectivARBFn;
1079 glGetQueryObjectui64vProc glGetQueryObjectui64vFn;
1080 glGetQueryObjectuivProc glGetQueryObjectuivFn;
1081 glGetQueryObjectuivARBProc glGetQueryObjectuivARBFn;
1082 glGetRenderbufferParameterivEXTProc glGetRenderbufferParameterivEXTFn;
1083 glGetSamplerParameterfvProc glGetSamplerParameterfvFn;
1084 glGetSamplerParameterivProc glGetSamplerParameterivFn;
1085 glGetShaderInfoLogProc glGetShaderInfoLogFn;
1086 glGetShaderivProc glGetShaderivFn;
1087 glGetShaderPrecisionFormatProc glGetShaderPrecisionFormatFn;
1088 glGetShaderSourceProc glGetShaderSourceFn;
1089 glGetStringProc glGetStringFn;
1090 glGetSyncivProc glGetSyncivFn;
1091 glGetTexLevelParameterfvProc glGetTexLevelParameterfvFn;
1092 glGetTexLevelParameterivProc glGetTexLevelParameterivFn;
1093 glGetTexParameterfvProc glGetTexParameterfvFn;
1094 glGetTexParameterivProc glGetTexParameterivFn;
1095 glGetTransformFeedbackVaryingProc glGetTransformFeedbackVaryingFn;
1096 glGetTranslatedShaderSourceANGLEProc glGetTranslatedShaderSourceANGLEFn;
1097 glGetUniformBlockIndexProc glGetUniformBlockIndexFn;
1098 glGetUniformfvProc glGetUniformfvFn;
1099 glGetUniformIndicesProc glGetUniformIndicesFn;
1100 glGetUniformivProc glGetUniformivFn;
1101 glGetUniformLocationProc glGetUniformLocationFn;
1102 glGetVertexAttribfvProc glGetVertexAttribfvFn;
1103 glGetVertexAttribivProc glGetVertexAttribivFn;
1104 glGetVertexAttribPointervProc glGetVertexAttribPointervFn;
1105 glHintProc glHintFn;
1106 glInsertEventMarkerEXTProc glInsertEventMarkerEXTFn;
1107 glInvalidateFramebufferProc glInvalidateFramebufferFn;
1108 glInvalidateSubFramebufferProc glInvalidateSubFramebufferFn;
1109 glIsBufferProc glIsBufferFn;
1110 glIsEnabledProc glIsEnabledFn;
1111 glIsFenceAPPLEProc glIsFenceAPPLEFn;
1112 glIsFenceNVProc glIsFenceNVFn;
1113 glIsFramebufferEXTProc glIsFramebufferEXTFn;
1114 glIsProgramProc glIsProgramFn;
1115 glIsQueryProc glIsQueryFn;
1116 glIsQueryARBProc glIsQueryARBFn;
1117 glIsRenderbufferEXTProc glIsRenderbufferEXTFn;
1118 glIsSamplerProc glIsSamplerFn;
1119 glIsShaderProc glIsShaderFn;
1120 glIsSyncProc glIsSyncFn;
1121 glIsTextureProc glIsTextureFn;
1122 glIsTransformFeedbackProc glIsTransformFeedbackFn;
1123 glIsVertexArrayOESProc glIsVertexArrayOESFn;
1124 glLineWidthProc glLineWidthFn;
1125 glLinkProgramProc glLinkProgramFn;
1126 glMapBufferProc glMapBufferFn;
1127 glMapBufferRangeProc glMapBufferRangeFn;
1128 glMatrixLoadfEXTProc glMatrixLoadfEXTFn;
1129 glMatrixLoadIdentityEXTProc glMatrixLoadIdentityEXTFn;
1130 glPauseTransformFeedbackProc glPauseTransformFeedbackFn;
1131 glPixelStoreiProc glPixelStoreiFn;
1132 glPointParameteriProc glPointParameteriFn;
1133 glPolygonOffsetProc glPolygonOffsetFn;
1134 glPopGroupMarkerEXTProc glPopGroupMarkerEXTFn;
1135 glProgramBinaryProc glProgramBinaryFn;
1136 glProgramParameteriProc glProgramParameteriFn;
1137 glPushGroupMarkerEXTProc glPushGroupMarkerEXTFn;
1138 glQueryCounterProc glQueryCounterFn;
1139 glReadBufferProc glReadBufferFn;
1140 glReadPixelsProc glReadPixelsFn;
1141 glReleaseShaderCompilerProc glReleaseShaderCompilerFn;
1142 glRenderbufferStorageEXTProc glRenderbufferStorageEXTFn;
1143 glRenderbufferStorageMultisampleProc glRenderbufferStorageMultisampleFn;
1144 glRenderbufferStorageMultisampleANGLEProc
1145 glRenderbufferStorageMultisampleANGLEFn;
1146 glRenderbufferStorageMultisampleEXTProc glRenderbufferStorageMultisampleEXTFn;
1147 glRenderbufferStorageMultisampleIMGProc glRenderbufferStorageMultisampleIMGFn;
1148 glResumeTransformFeedbackProc glResumeTransformFeedbackFn;
1149 glSampleCoverageProc glSampleCoverageFn;
1150 glSamplerParameterfProc glSamplerParameterfFn;
1151 glSamplerParameterfvProc glSamplerParameterfvFn;
1152 glSamplerParameteriProc glSamplerParameteriFn;
1153 glSamplerParameterivProc glSamplerParameterivFn;
1154 glScissorProc glScissorFn;
1155 glSetFenceAPPLEProc glSetFenceAPPLEFn;
1156 glSetFenceNVProc glSetFenceNVFn;
1157 glShaderBinaryProc glShaderBinaryFn;
1158 glShaderSourceProc glShaderSourceFn;
1159 glStencilFuncProc glStencilFuncFn;
1160 glStencilFuncSeparateProc glStencilFuncSeparateFn;
1161 glStencilMaskProc glStencilMaskFn;
1162 glStencilMaskSeparateProc glStencilMaskSeparateFn;
1163 glStencilOpProc glStencilOpFn;
1164 glStencilOpSeparateProc glStencilOpSeparateFn;
1165 glTestFenceAPPLEProc glTestFenceAPPLEFn;
1166 glTestFenceNVProc glTestFenceNVFn;
1167 glTexImage2DProc glTexImage2DFn;
1168 glTexImage3DProc glTexImage3DFn;
1169 glTexParameterfProc glTexParameterfFn;
1170 glTexParameterfvProc glTexParameterfvFn;
1171 glTexParameteriProc glTexParameteriFn;
1172 glTexParameterivProc glTexParameterivFn;
1173 glTexStorage2DEXTProc glTexStorage2DEXTFn;
1174 glTexStorage3DProc glTexStorage3DFn;
1175 glTexSubImage2DProc glTexSubImage2DFn;
1176 glTransformFeedbackVaryingsProc glTransformFeedbackVaryingsFn;
1177 glUniform1fProc glUniform1fFn;
1178 glUniform1fvProc glUniform1fvFn;
1179 glUniform1iProc glUniform1iFn;
1180 glUniform1ivProc glUniform1ivFn;
1181 glUniform1uiProc glUniform1uiFn;
1182 glUniform1uivProc glUniform1uivFn;
1183 glUniform2fProc glUniform2fFn;
1184 glUniform2fvProc glUniform2fvFn;
1185 glUniform2iProc glUniform2iFn;
1186 glUniform2ivProc glUniform2ivFn;
1187 glUniform2uiProc glUniform2uiFn;
1188 glUniform2uivProc glUniform2uivFn;
1189 glUniform3fProc glUniform3fFn;
1190 glUniform3fvProc glUniform3fvFn;
1191 glUniform3iProc glUniform3iFn;
1192 glUniform3ivProc glUniform3ivFn;
1193 glUniform3uiProc glUniform3uiFn;
1194 glUniform3uivProc glUniform3uivFn;
1195 glUniform4fProc glUniform4fFn;
1196 glUniform4fvProc glUniform4fvFn;
1197 glUniform4iProc glUniform4iFn;
1198 glUniform4ivProc glUniform4ivFn;
1199 glUniform4uiProc glUniform4uiFn;
1200 glUniform4uivProc glUniform4uivFn;
1201 glUniformBlockBindingProc glUniformBlockBindingFn;
1202 glUniformMatrix2fvProc glUniformMatrix2fvFn;
1203 glUniformMatrix2x3fvProc glUniformMatrix2x3fvFn;
1204 glUniformMatrix2x4fvProc glUniformMatrix2x4fvFn;
1205 glUniformMatrix3fvProc glUniformMatrix3fvFn;
1206 glUniformMatrix3x2fvProc glUniformMatrix3x2fvFn;
1207 glUniformMatrix3x4fvProc glUniformMatrix3x4fvFn;
1208 glUniformMatrix4fvProc glUniformMatrix4fvFn;
1209 glUniformMatrix4x2fvProc glUniformMatrix4x2fvFn;
1210 glUniformMatrix4x3fvProc glUniformMatrix4x3fvFn;
1211 glUnmapBufferProc glUnmapBufferFn;
1212 glUseProgramProc glUseProgramFn;
1213 glValidateProgramProc glValidateProgramFn;
1214 glVertexAttrib1fProc glVertexAttrib1fFn;
1215 glVertexAttrib1fvProc glVertexAttrib1fvFn;
1216 glVertexAttrib2fProc glVertexAttrib2fFn;
1217 glVertexAttrib2fvProc glVertexAttrib2fvFn;
1218 glVertexAttrib3fProc glVertexAttrib3fFn;
1219 glVertexAttrib3fvProc glVertexAttrib3fvFn;
1220 glVertexAttrib4fProc glVertexAttrib4fFn;
1221 glVertexAttrib4fvProc glVertexAttrib4fvFn;
1222 glVertexAttribDivisorANGLEProc glVertexAttribDivisorANGLEFn;
1223 glVertexAttribI4iProc glVertexAttribI4iFn;
1224 glVertexAttribI4ivProc glVertexAttribI4ivFn;
1225 glVertexAttribI4uiProc glVertexAttribI4uiFn;
1226 glVertexAttribI4uivProc glVertexAttribI4uivFn;
1227 glVertexAttribIPointerProc glVertexAttribIPointerFn;
1228 glVertexAttribPointerProc glVertexAttribPointerFn;
1229 glViewportProc glViewportFn;
1230 glWaitSyncProc glWaitSyncFn;
1233 class GL_EXPORT GLApi {
1234 public:
1235 GLApi();
1236 virtual ~GLApi();
1238 virtual void glActiveTextureFn(GLenum texture) = 0;
1239 virtual void glAttachShaderFn(GLuint program, GLuint shader) = 0;
1240 virtual void glBeginQueryFn(GLenum target, GLuint id) = 0;
1241 virtual void glBeginQueryARBFn(GLenum target, GLuint id) = 0;
1242 virtual void glBeginTransformFeedbackFn(GLenum primitiveMode) = 0;
1243 virtual void glBindAttribLocationFn(GLuint program,
1244 GLuint index,
1245 const char* name) = 0;
1246 virtual void glBindBufferFn(GLenum target, GLuint buffer) = 0;
1247 virtual void glBindBufferBaseFn(GLenum target,
1248 GLuint index,
1249 GLuint buffer) = 0;
1250 virtual void glBindBufferRangeFn(GLenum target,
1251 GLuint index,
1252 GLuint buffer,
1253 GLintptr offset,
1254 GLsizeiptr size) = 0;
1255 virtual void glBindFragDataLocationFn(GLuint program,
1256 GLuint colorNumber,
1257 const char* name) = 0;
1258 virtual void glBindFragDataLocationIndexedFn(GLuint program,
1259 GLuint colorNumber,
1260 GLuint index,
1261 const char* name) = 0;
1262 virtual void glBindFramebufferEXTFn(GLenum target, GLuint framebuffer) = 0;
1263 virtual void glBindRenderbufferEXTFn(GLenum target, GLuint renderbuffer) = 0;
1264 virtual void glBindSamplerFn(GLuint unit, GLuint sampler) = 0;
1265 virtual void glBindTextureFn(GLenum target, GLuint texture) = 0;
1266 virtual void glBindTransformFeedbackFn(GLenum target, GLuint id) = 0;
1267 virtual void glBindVertexArrayOESFn(GLuint array) = 0;
1268 virtual void glBlendBarrierKHRFn(void) = 0;
1269 virtual void glBlendColorFn(GLclampf red,
1270 GLclampf green,
1271 GLclampf blue,
1272 GLclampf alpha) = 0;
1273 virtual void glBlendEquationFn(GLenum mode) = 0;
1274 virtual void glBlendEquationSeparateFn(GLenum modeRGB, GLenum modeAlpha) = 0;
1275 virtual void glBlendFuncFn(GLenum sfactor, GLenum dfactor) = 0;
1276 virtual void glBlendFuncSeparateFn(GLenum srcRGB,
1277 GLenum dstRGB,
1278 GLenum srcAlpha,
1279 GLenum dstAlpha) = 0;
1280 virtual void glBlitFramebufferFn(GLint srcX0,
1281 GLint srcY0,
1282 GLint srcX1,
1283 GLint srcY1,
1284 GLint dstX0,
1285 GLint dstY0,
1286 GLint dstX1,
1287 GLint dstY1,
1288 GLbitfield mask,
1289 GLenum filter) = 0;
1290 virtual void glBlitFramebufferANGLEFn(GLint srcX0,
1291 GLint srcY0,
1292 GLint srcX1,
1293 GLint srcY1,
1294 GLint dstX0,
1295 GLint dstY0,
1296 GLint dstX1,
1297 GLint dstY1,
1298 GLbitfield mask,
1299 GLenum filter) = 0;
1300 virtual void glBlitFramebufferEXTFn(GLint srcX0,
1301 GLint srcY0,
1302 GLint srcX1,
1303 GLint srcY1,
1304 GLint dstX0,
1305 GLint dstY0,
1306 GLint dstX1,
1307 GLint dstY1,
1308 GLbitfield mask,
1309 GLenum filter) = 0;
1310 virtual void glBufferDataFn(GLenum target,
1311 GLsizeiptr size,
1312 const void* data,
1313 GLenum usage) = 0;
1314 virtual void glBufferSubDataFn(GLenum target,
1315 GLintptr offset,
1316 GLsizeiptr size,
1317 const void* data) = 0;
1318 virtual GLenum glCheckFramebufferStatusEXTFn(GLenum target) = 0;
1319 virtual void glClearFn(GLbitfield mask) = 0;
1320 virtual void glClearBufferfiFn(GLenum buffer,
1321 GLint drawbuffer,
1322 const GLfloat depth,
1323 GLint stencil) = 0;
1324 virtual void glClearBufferfvFn(GLenum buffer,
1325 GLint drawbuffer,
1326 const GLfloat* value) = 0;
1327 virtual void glClearBufferivFn(GLenum buffer,
1328 GLint drawbuffer,
1329 const GLint* value) = 0;
1330 virtual void glClearBufferuivFn(GLenum buffer,
1331 GLint drawbuffer,
1332 const GLuint* value) = 0;
1333 virtual void glClearColorFn(GLclampf red,
1334 GLclampf green,
1335 GLclampf blue,
1336 GLclampf alpha) = 0;
1337 virtual void glClearDepthFn(GLclampd depth) = 0;
1338 virtual void glClearDepthfFn(GLclampf depth) = 0;
1339 virtual void glClearStencilFn(GLint s) = 0;
1340 virtual GLenum glClientWaitSyncFn(GLsync sync,
1341 GLbitfield flags,
1342 GLuint64 timeout) = 0;
1343 virtual void glColorMaskFn(GLboolean red,
1344 GLboolean green,
1345 GLboolean blue,
1346 GLboolean alpha) = 0;
1347 virtual void glCompileShaderFn(GLuint shader) = 0;
1348 virtual void glCompressedTexImage2DFn(GLenum target,
1349 GLint level,
1350 GLenum internalformat,
1351 GLsizei width,
1352 GLsizei height,
1353 GLint border,
1354 GLsizei imageSize,
1355 const void* data) = 0;
1356 virtual void glCompressedTexImage3DFn(GLenum target,
1357 GLint level,
1358 GLenum internalformat,
1359 GLsizei width,
1360 GLsizei height,
1361 GLsizei depth,
1362 GLint border,
1363 GLsizei imageSize,
1364 const void* data) = 0;
1365 virtual void glCompressedTexSubImage2DFn(GLenum target,
1366 GLint level,
1367 GLint xoffset,
1368 GLint yoffset,
1369 GLsizei width,
1370 GLsizei height,
1371 GLenum format,
1372 GLsizei imageSize,
1373 const void* data) = 0;
1374 virtual void glCopyBufferSubDataFn(GLenum readTarget,
1375 GLenum writeTarget,
1376 GLintptr readOffset,
1377 GLintptr writeOffset,
1378 GLsizeiptr size) = 0;
1379 virtual void glCopyTexImage2DFn(GLenum target,
1380 GLint level,
1381 GLenum internalformat,
1382 GLint x,
1383 GLint y,
1384 GLsizei width,
1385 GLsizei height,
1386 GLint border) = 0;
1387 virtual void glCopyTexSubImage2DFn(GLenum target,
1388 GLint level,
1389 GLint xoffset,
1390 GLint yoffset,
1391 GLint x,
1392 GLint y,
1393 GLsizei width,
1394 GLsizei height) = 0;
1395 virtual void glCopyTexSubImage3DFn(GLenum target,
1396 GLint level,
1397 GLint xoffset,
1398 GLint yoffset,
1399 GLint zoffset,
1400 GLint x,
1401 GLint y,
1402 GLsizei width,
1403 GLsizei height) = 0;
1404 virtual GLuint glCreateProgramFn(void) = 0;
1405 virtual GLuint glCreateShaderFn(GLenum type) = 0;
1406 virtual void glCullFaceFn(GLenum mode) = 0;
1407 virtual void glDeleteBuffersARBFn(GLsizei n, const GLuint* buffers) = 0;
1408 virtual void glDeleteFencesAPPLEFn(GLsizei n, const GLuint* fences) = 0;
1409 virtual void glDeleteFencesNVFn(GLsizei n, const GLuint* fences) = 0;
1410 virtual void glDeleteFramebuffersEXTFn(GLsizei n,
1411 const GLuint* framebuffers) = 0;
1412 virtual void glDeleteProgramFn(GLuint program) = 0;
1413 virtual void glDeleteQueriesFn(GLsizei n, const GLuint* ids) = 0;
1414 virtual void glDeleteQueriesARBFn(GLsizei n, const GLuint* ids) = 0;
1415 virtual void glDeleteRenderbuffersEXTFn(GLsizei n,
1416 const GLuint* renderbuffers) = 0;
1417 virtual void glDeleteSamplersFn(GLsizei n, const GLuint* samplers) = 0;
1418 virtual void glDeleteShaderFn(GLuint shader) = 0;
1419 virtual void glDeleteSyncFn(GLsync sync) = 0;
1420 virtual void glDeleteTexturesFn(GLsizei n, const GLuint* textures) = 0;
1421 virtual void glDeleteTransformFeedbacksFn(GLsizei n, const GLuint* ids) = 0;
1422 virtual void glDeleteVertexArraysOESFn(GLsizei n, const GLuint* arrays) = 0;
1423 virtual void glDepthFuncFn(GLenum func) = 0;
1424 virtual void glDepthMaskFn(GLboolean flag) = 0;
1425 virtual void glDepthRangeFn(GLclampd zNear, GLclampd zFar) = 0;
1426 virtual void glDepthRangefFn(GLclampf zNear, GLclampf zFar) = 0;
1427 virtual void glDetachShaderFn(GLuint program, GLuint shader) = 0;
1428 virtual void glDisableFn(GLenum cap) = 0;
1429 virtual void glDisableVertexAttribArrayFn(GLuint index) = 0;
1430 virtual void glDiscardFramebufferEXTFn(GLenum target,
1431 GLsizei numAttachments,
1432 const GLenum* attachments) = 0;
1433 virtual void glDrawArraysFn(GLenum mode, GLint first, GLsizei count) = 0;
1434 virtual void glDrawArraysInstancedANGLEFn(GLenum mode,
1435 GLint first,
1436 GLsizei count,
1437 GLsizei primcount) = 0;
1438 virtual void glDrawBufferFn(GLenum mode) = 0;
1439 virtual void glDrawBuffersARBFn(GLsizei n, const GLenum* bufs) = 0;
1440 virtual void glDrawElementsFn(GLenum mode,
1441 GLsizei count,
1442 GLenum type,
1443 const void* indices) = 0;
1444 virtual void glDrawElementsInstancedANGLEFn(GLenum mode,
1445 GLsizei count,
1446 GLenum type,
1447 const void* indices,
1448 GLsizei primcount) = 0;
1449 virtual void glDrawRangeElementsFn(GLenum mode,
1450 GLuint start,
1451 GLuint end,
1452 GLsizei count,
1453 GLenum type,
1454 const void* indices) = 0;
1455 virtual void glEGLImageTargetRenderbufferStorageOESFn(
1456 GLenum target,
1457 GLeglImageOES image) = 0;
1458 virtual void glEGLImageTargetTexture2DOESFn(GLenum target,
1459 GLeglImageOES image) = 0;
1460 virtual void glEnableFn(GLenum cap) = 0;
1461 virtual void glEnableVertexAttribArrayFn(GLuint index) = 0;
1462 virtual void glEndQueryFn(GLenum target) = 0;
1463 virtual void glEndQueryARBFn(GLenum target) = 0;
1464 virtual void glEndTransformFeedbackFn(void) = 0;
1465 virtual GLsync glFenceSyncFn(GLenum condition, GLbitfield flags) = 0;
1466 virtual void glFinishFn(void) = 0;
1467 virtual void glFinishFenceAPPLEFn(GLuint fence) = 0;
1468 virtual void glFinishFenceNVFn(GLuint fence) = 0;
1469 virtual void glFlushFn(void) = 0;
1470 virtual void glFlushMappedBufferRangeFn(GLenum target,
1471 GLintptr offset,
1472 GLsizeiptr length) = 0;
1473 virtual void glFramebufferRenderbufferEXTFn(GLenum target,
1474 GLenum attachment,
1475 GLenum renderbuffertarget,
1476 GLuint renderbuffer) = 0;
1477 virtual void glFramebufferTexture2DEXTFn(GLenum target,
1478 GLenum attachment,
1479 GLenum textarget,
1480 GLuint texture,
1481 GLint level) = 0;
1482 virtual void glFramebufferTexture2DMultisampleEXTFn(GLenum target,
1483 GLenum attachment,
1484 GLenum textarget,
1485 GLuint texture,
1486 GLint level,
1487 GLsizei samples) = 0;
1488 virtual void glFramebufferTexture2DMultisampleIMGFn(GLenum target,
1489 GLenum attachment,
1490 GLenum textarget,
1491 GLuint texture,
1492 GLint level,
1493 GLsizei samples) = 0;
1494 virtual void glFramebufferTextureLayerFn(GLenum target,
1495 GLenum attachment,
1496 GLuint texture,
1497 GLint level,
1498 GLint layer) = 0;
1499 virtual void glFrontFaceFn(GLenum mode) = 0;
1500 virtual void glGenBuffersARBFn(GLsizei n, GLuint* buffers) = 0;
1501 virtual void glGenerateMipmapEXTFn(GLenum target) = 0;
1502 virtual void glGenFencesAPPLEFn(GLsizei n, GLuint* fences) = 0;
1503 virtual void glGenFencesNVFn(GLsizei n, GLuint* fences) = 0;
1504 virtual void glGenFramebuffersEXTFn(GLsizei n, GLuint* framebuffers) = 0;
1505 virtual void glGenQueriesFn(GLsizei n, GLuint* ids) = 0;
1506 virtual void glGenQueriesARBFn(GLsizei n, GLuint* ids) = 0;
1507 virtual void glGenRenderbuffersEXTFn(GLsizei n, GLuint* renderbuffers) = 0;
1508 virtual void glGenSamplersFn(GLsizei n, GLuint* samplers) = 0;
1509 virtual void glGenTexturesFn(GLsizei n, GLuint* textures) = 0;
1510 virtual void glGenTransformFeedbacksFn(GLsizei n, GLuint* ids) = 0;
1511 virtual void glGenVertexArraysOESFn(GLsizei n, GLuint* arrays) = 0;
1512 virtual void glGetActiveAttribFn(GLuint program,
1513 GLuint index,
1514 GLsizei bufsize,
1515 GLsizei* length,
1516 GLint* size,
1517 GLenum* type,
1518 char* name) = 0;
1519 virtual void glGetActiveUniformFn(GLuint program,
1520 GLuint index,
1521 GLsizei bufsize,
1522 GLsizei* length,
1523 GLint* size,
1524 GLenum* type,
1525 char* name) = 0;
1526 virtual void glGetActiveUniformBlockivFn(GLuint program,
1527 GLuint uniformBlockIndex,
1528 GLenum pname,
1529 GLint* params) = 0;
1530 virtual void glGetActiveUniformBlockNameFn(GLuint program,
1531 GLuint uniformBlockIndex,
1532 GLsizei bufSize,
1533 GLsizei* length,
1534 char* uniformBlockName) = 0;
1535 virtual void glGetActiveUniformsivFn(GLuint program,
1536 GLsizei uniformCount,
1537 const GLuint* uniformIndices,
1538 GLenum pname,
1539 GLint* params) = 0;
1540 virtual void glGetAttachedShadersFn(GLuint program,
1541 GLsizei maxcount,
1542 GLsizei* count,
1543 GLuint* shaders) = 0;
1544 virtual GLint glGetAttribLocationFn(GLuint program, const char* name) = 0;
1545 virtual void glGetBooleanvFn(GLenum pname, GLboolean* params) = 0;
1546 virtual void glGetBufferParameterivFn(GLenum target,
1547 GLenum pname,
1548 GLint* params) = 0;
1549 virtual GLenum glGetErrorFn(void) = 0;
1550 virtual void glGetFenceivNVFn(GLuint fence, GLenum pname, GLint* params) = 0;
1551 virtual void glGetFloatvFn(GLenum pname, GLfloat* params) = 0;
1552 virtual GLint glGetFragDataLocationFn(GLuint program, const char* name) = 0;
1553 virtual void glGetFramebufferAttachmentParameterivEXTFn(GLenum target,
1554 GLenum attachment,
1555 GLenum pname,
1556 GLint* params) = 0;
1557 virtual GLenum glGetGraphicsResetStatusARBFn(void) = 0;
1558 virtual void glGetInteger64i_vFn(GLenum target,
1559 GLuint index,
1560 GLint64* data) = 0;
1561 virtual void glGetInteger64vFn(GLenum pname, GLint64* params) = 0;
1562 virtual void glGetIntegeri_vFn(GLenum target, GLuint index, GLint* data) = 0;
1563 virtual void glGetIntegervFn(GLenum pname, GLint* params) = 0;
1564 virtual void glGetInternalformativFn(GLenum target,
1565 GLenum internalformat,
1566 GLenum pname,
1567 GLsizei bufSize,
1568 GLint* params) = 0;
1569 virtual void glGetProgramBinaryFn(GLuint program,
1570 GLsizei bufSize,
1571 GLsizei* length,
1572 GLenum* binaryFormat,
1573 GLvoid* binary) = 0;
1574 virtual void glGetProgramInfoLogFn(GLuint program,
1575 GLsizei bufsize,
1576 GLsizei* length,
1577 char* infolog) = 0;
1578 virtual void glGetProgramivFn(GLuint program,
1579 GLenum pname,
1580 GLint* params) = 0;
1581 virtual void glGetQueryivFn(GLenum target, GLenum pname, GLint* params) = 0;
1582 virtual void glGetQueryivARBFn(GLenum target,
1583 GLenum pname,
1584 GLint* params) = 0;
1585 virtual void glGetQueryObjecti64vFn(GLuint id,
1586 GLenum pname,
1587 GLint64* params) = 0;
1588 virtual void glGetQueryObjectivFn(GLuint id, GLenum pname, GLint* params) = 0;
1589 virtual void glGetQueryObjectivARBFn(GLuint id,
1590 GLenum pname,
1591 GLint* params) = 0;
1592 virtual void glGetQueryObjectui64vFn(GLuint id,
1593 GLenum pname,
1594 GLuint64* params) = 0;
1595 virtual void glGetQueryObjectuivFn(GLuint id,
1596 GLenum pname,
1597 GLuint* params) = 0;
1598 virtual void glGetQueryObjectuivARBFn(GLuint id,
1599 GLenum pname,
1600 GLuint* params) = 0;
1601 virtual void glGetRenderbufferParameterivEXTFn(GLenum target,
1602 GLenum pname,
1603 GLint* params) = 0;
1604 virtual void glGetSamplerParameterfvFn(GLuint sampler,
1605 GLenum pname,
1606 GLfloat* params) = 0;
1607 virtual void glGetSamplerParameterivFn(GLuint sampler,
1608 GLenum pname,
1609 GLint* params) = 0;
1610 virtual void glGetShaderInfoLogFn(GLuint shader,
1611 GLsizei bufsize,
1612 GLsizei* length,
1613 char* infolog) = 0;
1614 virtual void glGetShaderivFn(GLuint shader, GLenum pname, GLint* params) = 0;
1615 virtual void glGetShaderPrecisionFormatFn(GLenum shadertype,
1616 GLenum precisiontype,
1617 GLint* range,
1618 GLint* precision) = 0;
1619 virtual void glGetShaderSourceFn(GLuint shader,
1620 GLsizei bufsize,
1621 GLsizei* length,
1622 char* source) = 0;
1623 virtual const GLubyte* glGetStringFn(GLenum name) = 0;
1624 virtual void glGetSyncivFn(GLsync sync,
1625 GLenum pname,
1626 GLsizei bufSize,
1627 GLsizei* length,
1628 GLint* values) = 0;
1629 virtual void glGetTexLevelParameterfvFn(GLenum target,
1630 GLint level,
1631 GLenum pname,
1632 GLfloat* params) = 0;
1633 virtual void glGetTexLevelParameterivFn(GLenum target,
1634 GLint level,
1635 GLenum pname,
1636 GLint* params) = 0;
1637 virtual void glGetTexParameterfvFn(GLenum target,
1638 GLenum pname,
1639 GLfloat* params) = 0;
1640 virtual void glGetTexParameterivFn(GLenum target,
1641 GLenum pname,
1642 GLint* params) = 0;
1643 virtual void glGetTransformFeedbackVaryingFn(GLuint program,
1644 GLuint index,
1645 GLsizei bufSize,
1646 GLsizei* length,
1647 GLenum* type,
1648 char* name) = 0;
1649 virtual void glGetTranslatedShaderSourceANGLEFn(GLuint shader,
1650 GLsizei bufsize,
1651 GLsizei* length,
1652 char* source) = 0;
1653 virtual GLuint glGetUniformBlockIndexFn(GLuint program,
1654 const char* uniformBlockName) = 0;
1655 virtual void glGetUniformfvFn(GLuint program,
1656 GLint location,
1657 GLfloat* params) = 0;
1658 virtual void glGetUniformIndicesFn(GLuint program,
1659 GLsizei uniformCount,
1660 const char* const* uniformNames,
1661 GLuint* uniformIndices) = 0;
1662 virtual void glGetUniformivFn(GLuint program,
1663 GLint location,
1664 GLint* params) = 0;
1665 virtual GLint glGetUniformLocationFn(GLuint program, const char* name) = 0;
1666 virtual void glGetVertexAttribfvFn(GLuint index,
1667 GLenum pname,
1668 GLfloat* params) = 0;
1669 virtual void glGetVertexAttribivFn(GLuint index,
1670 GLenum pname,
1671 GLint* params) = 0;
1672 virtual void glGetVertexAttribPointervFn(GLuint index,
1673 GLenum pname,
1674 void** pointer) = 0;
1675 virtual void glHintFn(GLenum target, GLenum mode) = 0;
1676 virtual void glInsertEventMarkerEXTFn(GLsizei length, const char* marker) = 0;
1677 virtual void glInvalidateFramebufferFn(GLenum target,
1678 GLsizei numAttachments,
1679 const GLenum* attachments) = 0;
1680 virtual void glInvalidateSubFramebufferFn(GLenum target,
1681 GLsizei numAttachments,
1682 const GLenum* attachments,
1683 GLint x,
1684 GLint y,
1685 GLint width,
1686 GLint height) = 0;
1687 virtual GLboolean glIsBufferFn(GLuint buffer) = 0;
1688 virtual GLboolean glIsEnabledFn(GLenum cap) = 0;
1689 virtual GLboolean glIsFenceAPPLEFn(GLuint fence) = 0;
1690 virtual GLboolean glIsFenceNVFn(GLuint fence) = 0;
1691 virtual GLboolean glIsFramebufferEXTFn(GLuint framebuffer) = 0;
1692 virtual GLboolean glIsProgramFn(GLuint program) = 0;
1693 virtual GLboolean glIsQueryFn(GLuint query) = 0;
1694 virtual GLboolean glIsQueryARBFn(GLuint query) = 0;
1695 virtual GLboolean glIsRenderbufferEXTFn(GLuint renderbuffer) = 0;
1696 virtual GLboolean glIsSamplerFn(GLuint sampler) = 0;
1697 virtual GLboolean glIsShaderFn(GLuint shader) = 0;
1698 virtual GLboolean glIsSyncFn(GLsync sync) = 0;
1699 virtual GLboolean glIsTextureFn(GLuint texture) = 0;
1700 virtual GLboolean glIsTransformFeedbackFn(GLuint id) = 0;
1701 virtual GLboolean glIsVertexArrayOESFn(GLuint array) = 0;
1702 virtual void glLineWidthFn(GLfloat width) = 0;
1703 virtual void glLinkProgramFn(GLuint program) = 0;
1704 virtual void* glMapBufferFn(GLenum target, GLenum access) = 0;
1705 virtual void* glMapBufferRangeFn(GLenum target,
1706 GLintptr offset,
1707 GLsizeiptr length,
1708 GLbitfield access) = 0;
1709 virtual void glMatrixLoadfEXTFn(GLenum matrixMode, const GLfloat* m) = 0;
1710 virtual void glMatrixLoadIdentityEXTFn(GLenum matrixMode) = 0;
1711 virtual void glPauseTransformFeedbackFn(void) = 0;
1712 virtual void glPixelStoreiFn(GLenum pname, GLint param) = 0;
1713 virtual void glPointParameteriFn(GLenum pname, GLint param) = 0;
1714 virtual void glPolygonOffsetFn(GLfloat factor, GLfloat units) = 0;
1715 virtual void glPopGroupMarkerEXTFn(void) = 0;
1716 virtual void glProgramBinaryFn(GLuint program,
1717 GLenum binaryFormat,
1718 const GLvoid* binary,
1719 GLsizei length) = 0;
1720 virtual void glProgramParameteriFn(GLuint program,
1721 GLenum pname,
1722 GLint value) = 0;
1723 virtual void glPushGroupMarkerEXTFn(GLsizei length, const char* marker) = 0;
1724 virtual void glQueryCounterFn(GLuint id, GLenum target) = 0;
1725 virtual void glReadBufferFn(GLenum src) = 0;
1726 virtual void glReadPixelsFn(GLint x,
1727 GLint y,
1728 GLsizei width,
1729 GLsizei height,
1730 GLenum format,
1731 GLenum type,
1732 void* pixels) = 0;
1733 virtual void glReleaseShaderCompilerFn(void) = 0;
1734 virtual void glRenderbufferStorageEXTFn(GLenum target,
1735 GLenum internalformat,
1736 GLsizei width,
1737 GLsizei height) = 0;
1738 virtual void glRenderbufferStorageMultisampleFn(GLenum target,
1739 GLsizei samples,
1740 GLenum internalformat,
1741 GLsizei width,
1742 GLsizei height) = 0;
1743 virtual void glRenderbufferStorageMultisampleANGLEFn(GLenum target,
1744 GLsizei samples,
1745 GLenum internalformat,
1746 GLsizei width,
1747 GLsizei height) = 0;
1748 virtual void glRenderbufferStorageMultisampleEXTFn(GLenum target,
1749 GLsizei samples,
1750 GLenum internalformat,
1751 GLsizei width,
1752 GLsizei height) = 0;
1753 virtual void glRenderbufferStorageMultisampleIMGFn(GLenum target,
1754 GLsizei samples,
1755 GLenum internalformat,
1756 GLsizei width,
1757 GLsizei height) = 0;
1758 virtual void glResumeTransformFeedbackFn(void) = 0;
1759 virtual void glSampleCoverageFn(GLclampf value, GLboolean invert) = 0;
1760 virtual void glSamplerParameterfFn(GLuint sampler,
1761 GLenum pname,
1762 GLfloat param) = 0;
1763 virtual void glSamplerParameterfvFn(GLuint sampler,
1764 GLenum pname,
1765 const GLfloat* params) = 0;
1766 virtual void glSamplerParameteriFn(GLuint sampler,
1767 GLenum pname,
1768 GLint param) = 0;
1769 virtual void glSamplerParameterivFn(GLuint sampler,
1770 GLenum pname,
1771 const GLint* params) = 0;
1772 virtual void glScissorFn(GLint x, GLint y, GLsizei width, GLsizei height) = 0;
1773 virtual void glSetFenceAPPLEFn(GLuint fence) = 0;
1774 virtual void glSetFenceNVFn(GLuint fence, GLenum condition) = 0;
1775 virtual void glShaderBinaryFn(GLsizei n,
1776 const GLuint* shaders,
1777 GLenum binaryformat,
1778 const void* binary,
1779 GLsizei length) = 0;
1780 virtual void glShaderSourceFn(GLuint shader,
1781 GLsizei count,
1782 const char* const* str,
1783 const GLint* length) = 0;
1784 virtual void glStencilFuncFn(GLenum func, GLint ref, GLuint mask) = 0;
1785 virtual void glStencilFuncSeparateFn(GLenum face,
1786 GLenum func,
1787 GLint ref,
1788 GLuint mask) = 0;
1789 virtual void glStencilMaskFn(GLuint mask) = 0;
1790 virtual void glStencilMaskSeparateFn(GLenum face, GLuint mask) = 0;
1791 virtual void glStencilOpFn(GLenum fail, GLenum zfail, GLenum zpass) = 0;
1792 virtual void glStencilOpSeparateFn(GLenum face,
1793 GLenum fail,
1794 GLenum zfail,
1795 GLenum zpass) = 0;
1796 virtual GLboolean glTestFenceAPPLEFn(GLuint fence) = 0;
1797 virtual GLboolean glTestFenceNVFn(GLuint fence) = 0;
1798 virtual void glTexImage2DFn(GLenum target,
1799 GLint level,
1800 GLint internalformat,
1801 GLsizei width,
1802 GLsizei height,
1803 GLint border,
1804 GLenum format,
1805 GLenum type,
1806 const void* pixels) = 0;
1807 virtual void glTexImage3DFn(GLenum target,
1808 GLint level,
1809 GLint internalformat,
1810 GLsizei width,
1811 GLsizei height,
1812 GLsizei depth,
1813 GLint border,
1814 GLenum format,
1815 GLenum type,
1816 const void* pixels) = 0;
1817 virtual void glTexParameterfFn(GLenum target,
1818 GLenum pname,
1819 GLfloat param) = 0;
1820 virtual void glTexParameterfvFn(GLenum target,
1821 GLenum pname,
1822 const GLfloat* params) = 0;
1823 virtual void glTexParameteriFn(GLenum target, GLenum pname, GLint param) = 0;
1824 virtual void glTexParameterivFn(GLenum target,
1825 GLenum pname,
1826 const GLint* params) = 0;
1827 virtual void glTexStorage2DEXTFn(GLenum target,
1828 GLsizei levels,
1829 GLenum internalformat,
1830 GLsizei width,
1831 GLsizei height) = 0;
1832 virtual void glTexStorage3DFn(GLenum target,
1833 GLsizei levels,
1834 GLenum internalformat,
1835 GLsizei width,
1836 GLsizei height,
1837 GLsizei depth) = 0;
1838 virtual void glTexSubImage2DFn(GLenum target,
1839 GLint level,
1840 GLint xoffset,
1841 GLint yoffset,
1842 GLsizei width,
1843 GLsizei height,
1844 GLenum format,
1845 GLenum type,
1846 const void* pixels) = 0;
1847 virtual void glTransformFeedbackVaryingsFn(GLuint program,
1848 GLsizei count,
1849 const char* const* varyings,
1850 GLenum bufferMode) = 0;
1851 virtual void glUniform1fFn(GLint location, GLfloat x) = 0;
1852 virtual void glUniform1fvFn(GLint location,
1853 GLsizei count,
1854 const GLfloat* v) = 0;
1855 virtual void glUniform1iFn(GLint location, GLint x) = 0;
1856 virtual void glUniform1ivFn(GLint location,
1857 GLsizei count,
1858 const GLint* v) = 0;
1859 virtual void glUniform1uiFn(GLint location, GLuint v0) = 0;
1860 virtual void glUniform1uivFn(GLint location,
1861 GLsizei count,
1862 const GLuint* v) = 0;
1863 virtual void glUniform2fFn(GLint location, GLfloat x, GLfloat y) = 0;
1864 virtual void glUniform2fvFn(GLint location,
1865 GLsizei count,
1866 const GLfloat* v) = 0;
1867 virtual void glUniform2iFn(GLint location, GLint x, GLint y) = 0;
1868 virtual void glUniform2ivFn(GLint location,
1869 GLsizei count,
1870 const GLint* v) = 0;
1871 virtual void glUniform2uiFn(GLint location, GLuint v0, GLuint v1) = 0;
1872 virtual void glUniform2uivFn(GLint location,
1873 GLsizei count,
1874 const GLuint* v) = 0;
1875 virtual void glUniform3fFn(GLint location,
1876 GLfloat x,
1877 GLfloat y,
1878 GLfloat z) = 0;
1879 virtual void glUniform3fvFn(GLint location,
1880 GLsizei count,
1881 const GLfloat* v) = 0;
1882 virtual void glUniform3iFn(GLint location, GLint x, GLint y, GLint z) = 0;
1883 virtual void glUniform3ivFn(GLint location,
1884 GLsizei count,
1885 const GLint* v) = 0;
1886 virtual void glUniform3uiFn(GLint location,
1887 GLuint v0,
1888 GLuint v1,
1889 GLuint v2) = 0;
1890 virtual void glUniform3uivFn(GLint location,
1891 GLsizei count,
1892 const GLuint* v) = 0;
1893 virtual void glUniform4fFn(GLint location,
1894 GLfloat x,
1895 GLfloat y,
1896 GLfloat z,
1897 GLfloat w) = 0;
1898 virtual void glUniform4fvFn(GLint location,
1899 GLsizei count,
1900 const GLfloat* v) = 0;
1901 virtual void glUniform4iFn(GLint location,
1902 GLint x,
1903 GLint y,
1904 GLint z,
1905 GLint w) = 0;
1906 virtual void glUniform4ivFn(GLint location,
1907 GLsizei count,
1908 const GLint* v) = 0;
1909 virtual void glUniform4uiFn(GLint location,
1910 GLuint v0,
1911 GLuint v1,
1912 GLuint v2,
1913 GLuint v3) = 0;
1914 virtual void glUniform4uivFn(GLint location,
1915 GLsizei count,
1916 const GLuint* v) = 0;
1917 virtual void glUniformBlockBindingFn(GLuint program,
1918 GLuint uniformBlockIndex,
1919 GLuint uniformBlockBinding) = 0;
1920 virtual void glUniformMatrix2fvFn(GLint location,
1921 GLsizei count,
1922 GLboolean transpose,
1923 const GLfloat* value) = 0;
1924 virtual void glUniformMatrix2x3fvFn(GLint location,
1925 GLsizei count,
1926 GLboolean transpose,
1927 const GLfloat* value) = 0;
1928 virtual void glUniformMatrix2x4fvFn(GLint location,
1929 GLsizei count,
1930 GLboolean transpose,
1931 const GLfloat* value) = 0;
1932 virtual void glUniformMatrix3fvFn(GLint location,
1933 GLsizei count,
1934 GLboolean transpose,
1935 const GLfloat* value) = 0;
1936 virtual void glUniformMatrix3x2fvFn(GLint location,
1937 GLsizei count,
1938 GLboolean transpose,
1939 const GLfloat* value) = 0;
1940 virtual void glUniformMatrix3x4fvFn(GLint location,
1941 GLsizei count,
1942 GLboolean transpose,
1943 const GLfloat* value) = 0;
1944 virtual void glUniformMatrix4fvFn(GLint location,
1945 GLsizei count,
1946 GLboolean transpose,
1947 const GLfloat* value) = 0;
1948 virtual void glUniformMatrix4x2fvFn(GLint location,
1949 GLsizei count,
1950 GLboolean transpose,
1951 const GLfloat* value) = 0;
1952 virtual void glUniformMatrix4x3fvFn(GLint location,
1953 GLsizei count,
1954 GLboolean transpose,
1955 const GLfloat* value) = 0;
1956 virtual GLboolean glUnmapBufferFn(GLenum target) = 0;
1957 virtual void glUseProgramFn(GLuint program) = 0;
1958 virtual void glValidateProgramFn(GLuint program) = 0;
1959 virtual void glVertexAttrib1fFn(GLuint indx, GLfloat x) = 0;
1960 virtual void glVertexAttrib1fvFn(GLuint indx, const GLfloat* values) = 0;
1961 virtual void glVertexAttrib2fFn(GLuint indx, GLfloat x, GLfloat y) = 0;
1962 virtual void glVertexAttrib2fvFn(GLuint indx, const GLfloat* values) = 0;
1963 virtual void glVertexAttrib3fFn(GLuint indx,
1964 GLfloat x,
1965 GLfloat y,
1966 GLfloat z) = 0;
1967 virtual void glVertexAttrib3fvFn(GLuint indx, const GLfloat* values) = 0;
1968 virtual void glVertexAttrib4fFn(GLuint indx,
1969 GLfloat x,
1970 GLfloat y,
1971 GLfloat z,
1972 GLfloat w) = 0;
1973 virtual void glVertexAttrib4fvFn(GLuint indx, const GLfloat* values) = 0;
1974 virtual void glVertexAttribDivisorANGLEFn(GLuint index, GLuint divisor) = 0;
1975 virtual void glVertexAttribI4iFn(GLuint indx,
1976 GLint x,
1977 GLint y,
1978 GLint z,
1979 GLint w) = 0;
1980 virtual void glVertexAttribI4ivFn(GLuint indx, const GLint* values) = 0;
1981 virtual void glVertexAttribI4uiFn(GLuint indx,
1982 GLuint x,
1983 GLuint y,
1984 GLuint z,
1985 GLuint w) = 0;
1986 virtual void glVertexAttribI4uivFn(GLuint indx, const GLuint* values) = 0;
1987 virtual void glVertexAttribIPointerFn(GLuint indx,
1988 GLint size,
1989 GLenum type,
1990 GLsizei stride,
1991 const void* ptr) = 0;
1992 virtual void glVertexAttribPointerFn(GLuint indx,
1993 GLint size,
1994 GLenum type,
1995 GLboolean normalized,
1996 GLsizei stride,
1997 const void* ptr) = 0;
1998 virtual void glViewportFn(GLint x,
1999 GLint y,
2000 GLsizei width,
2001 GLsizei height) = 0;
2002 virtual GLenum glWaitSyncFn(GLsync sync,
2003 GLbitfield flags,
2004 GLuint64 timeout) = 0;
2007 } // namespace gfx
2009 #define glActiveTexture ::gfx::g_current_gl_context->glActiveTextureFn
2010 #define glAttachShader ::gfx::g_current_gl_context->glAttachShaderFn
2011 #define glBeginQuery ::gfx::g_current_gl_context->glBeginQueryFn
2012 #define glBeginQueryARB ::gfx::g_current_gl_context->glBeginQueryARBFn
2013 #define glBeginTransformFeedback \
2014 ::gfx::g_current_gl_context->glBeginTransformFeedbackFn
2015 #define glBindAttribLocation ::gfx::g_current_gl_context->glBindAttribLocationFn
2016 #define glBindBuffer ::gfx::g_current_gl_context->glBindBufferFn
2017 #define glBindBufferBase ::gfx::g_current_gl_context->glBindBufferBaseFn
2018 #define glBindBufferRange ::gfx::g_current_gl_context->glBindBufferRangeFn
2019 #define glBindFragDataLocation \
2020 ::gfx::g_current_gl_context->glBindFragDataLocationFn
2021 #define glBindFragDataLocationIndexed \
2022 ::gfx::g_current_gl_context->glBindFragDataLocationIndexedFn
2023 #define glBindFramebufferEXT ::gfx::g_current_gl_context->glBindFramebufferEXTFn
2024 #define glBindRenderbufferEXT \
2025 ::gfx::g_current_gl_context->glBindRenderbufferEXTFn
2026 #define glBindSampler ::gfx::g_current_gl_context->glBindSamplerFn
2027 #define glBindTexture ::gfx::g_current_gl_context->glBindTextureFn
2028 #define glBindTransformFeedback \
2029 ::gfx::g_current_gl_context->glBindTransformFeedbackFn
2030 #define glBindVertexArrayOES ::gfx::g_current_gl_context->glBindVertexArrayOESFn
2031 #define glBlendBarrierKHR ::gfx::g_current_gl_context->glBlendBarrierKHRFn
2032 #define glBlendColor ::gfx::g_current_gl_context->glBlendColorFn
2033 #define glBlendEquation ::gfx::g_current_gl_context->glBlendEquationFn
2034 #define glBlendEquationSeparate \
2035 ::gfx::g_current_gl_context->glBlendEquationSeparateFn
2036 #define glBlendFunc ::gfx::g_current_gl_context->glBlendFuncFn
2037 #define glBlendFuncSeparate ::gfx::g_current_gl_context->glBlendFuncSeparateFn
2038 #define glBlitFramebuffer ::gfx::g_current_gl_context->glBlitFramebufferFn
2039 #define glBlitFramebufferANGLE \
2040 ::gfx::g_current_gl_context->glBlitFramebufferANGLEFn
2041 #define glBlitFramebufferEXT ::gfx::g_current_gl_context->glBlitFramebufferEXTFn
2042 #define glBufferData ::gfx::g_current_gl_context->glBufferDataFn
2043 #define glBufferSubData ::gfx::g_current_gl_context->glBufferSubDataFn
2044 #define glCheckFramebufferStatusEXT \
2045 ::gfx::g_current_gl_context->glCheckFramebufferStatusEXTFn
2046 #define glClear ::gfx::g_current_gl_context->glClearFn
2047 #define glClearBufferfi ::gfx::g_current_gl_context->glClearBufferfiFn
2048 #define glClearBufferfv ::gfx::g_current_gl_context->glClearBufferfvFn
2049 #define glClearBufferiv ::gfx::g_current_gl_context->glClearBufferivFn
2050 #define glClearBufferuiv ::gfx::g_current_gl_context->glClearBufferuivFn
2051 #define glClearColor ::gfx::g_current_gl_context->glClearColorFn
2052 #define glClearDepth ::gfx::g_current_gl_context->glClearDepthFn
2053 #define glClearDepthf ::gfx::g_current_gl_context->glClearDepthfFn
2054 #define glClearStencil ::gfx::g_current_gl_context->glClearStencilFn
2055 #define glClientWaitSync ::gfx::g_current_gl_context->glClientWaitSyncFn
2056 #define glColorMask ::gfx::g_current_gl_context->glColorMaskFn
2057 #define glCompileShader ::gfx::g_current_gl_context->glCompileShaderFn
2058 #define glCompressedTexImage2D \
2059 ::gfx::g_current_gl_context->glCompressedTexImage2DFn
2060 #define glCompressedTexImage3D \
2061 ::gfx::g_current_gl_context->glCompressedTexImage3DFn
2062 #define glCompressedTexSubImage2D \
2063 ::gfx::g_current_gl_context->glCompressedTexSubImage2DFn
2064 #define glCopyBufferSubData ::gfx::g_current_gl_context->glCopyBufferSubDataFn
2065 #define glCopyTexImage2D ::gfx::g_current_gl_context->glCopyTexImage2DFn
2066 #define glCopyTexSubImage2D ::gfx::g_current_gl_context->glCopyTexSubImage2DFn
2067 #define glCopyTexSubImage3D ::gfx::g_current_gl_context->glCopyTexSubImage3DFn
2068 #define glCreateProgram ::gfx::g_current_gl_context->glCreateProgramFn
2069 #define glCreateShader ::gfx::g_current_gl_context->glCreateShaderFn
2070 #define glCullFace ::gfx::g_current_gl_context->glCullFaceFn
2071 #define glDeleteBuffersARB ::gfx::g_current_gl_context->glDeleteBuffersARBFn
2072 #define glDeleteFencesAPPLE ::gfx::g_current_gl_context->glDeleteFencesAPPLEFn
2073 #define glDeleteFencesNV ::gfx::g_current_gl_context->glDeleteFencesNVFn
2074 #define glDeleteFramebuffersEXT \
2075 ::gfx::g_current_gl_context->glDeleteFramebuffersEXTFn
2076 #define glDeleteProgram ::gfx::g_current_gl_context->glDeleteProgramFn
2077 #define glDeleteQueries ::gfx::g_current_gl_context->glDeleteQueriesFn
2078 #define glDeleteQueriesARB ::gfx::g_current_gl_context->glDeleteQueriesARBFn
2079 #define glDeleteRenderbuffersEXT \
2080 ::gfx::g_current_gl_context->glDeleteRenderbuffersEXTFn
2081 #define glDeleteSamplers ::gfx::g_current_gl_context->glDeleteSamplersFn
2082 #define glDeleteShader ::gfx::g_current_gl_context->glDeleteShaderFn
2083 #define glDeleteSync ::gfx::g_current_gl_context->glDeleteSyncFn
2084 #define glDeleteTextures ::gfx::g_current_gl_context->glDeleteTexturesFn
2085 #define glDeleteTransformFeedbacks \
2086 ::gfx::g_current_gl_context->glDeleteTransformFeedbacksFn
2087 #define glDeleteVertexArraysOES \
2088 ::gfx::g_current_gl_context->glDeleteVertexArraysOESFn
2089 #define glDepthFunc ::gfx::g_current_gl_context->glDepthFuncFn
2090 #define glDepthMask ::gfx::g_current_gl_context->glDepthMaskFn
2091 #define glDepthRange ::gfx::g_current_gl_context->glDepthRangeFn
2092 #define glDepthRangef ::gfx::g_current_gl_context->glDepthRangefFn
2093 #define glDetachShader ::gfx::g_current_gl_context->glDetachShaderFn
2094 #define glDisable ::gfx::g_current_gl_context->glDisableFn
2095 #define glDisableVertexAttribArray \
2096 ::gfx::g_current_gl_context->glDisableVertexAttribArrayFn
2097 #define glDiscardFramebufferEXT \
2098 ::gfx::g_current_gl_context->glDiscardFramebufferEXTFn
2099 #define glDrawArrays ::gfx::g_current_gl_context->glDrawArraysFn
2100 #define glDrawArraysInstancedANGLE \
2101 ::gfx::g_current_gl_context->glDrawArraysInstancedANGLEFn
2102 #define glDrawBuffer ::gfx::g_current_gl_context->glDrawBufferFn
2103 #define glDrawBuffersARB ::gfx::g_current_gl_context->glDrawBuffersARBFn
2104 #define glDrawElements ::gfx::g_current_gl_context->glDrawElementsFn
2105 #define glDrawElementsInstancedANGLE \
2106 ::gfx::g_current_gl_context->glDrawElementsInstancedANGLEFn
2107 #define glDrawRangeElements ::gfx::g_current_gl_context->glDrawRangeElementsFn
2108 #define glEGLImageTargetRenderbufferStorageOES \
2109 ::gfx::g_current_gl_context->glEGLImageTargetRenderbufferStorageOESFn
2110 #define glEGLImageTargetTexture2DOES \
2111 ::gfx::g_current_gl_context->glEGLImageTargetTexture2DOESFn
2112 #define glEnable ::gfx::g_current_gl_context->glEnableFn
2113 #define glEnableVertexAttribArray \
2114 ::gfx::g_current_gl_context->glEnableVertexAttribArrayFn
2115 #define glEndQuery ::gfx::g_current_gl_context->glEndQueryFn
2116 #define glEndQueryARB ::gfx::g_current_gl_context->glEndQueryARBFn
2117 #define glEndTransformFeedback \
2118 ::gfx::g_current_gl_context->glEndTransformFeedbackFn
2119 #define glFenceSync ::gfx::g_current_gl_context->glFenceSyncFn
2120 #define glFinish ::gfx::g_current_gl_context->glFinishFn
2121 #define glFinishFenceAPPLE ::gfx::g_current_gl_context->glFinishFenceAPPLEFn
2122 #define glFinishFenceNV ::gfx::g_current_gl_context->glFinishFenceNVFn
2123 #define glFlush ::gfx::g_current_gl_context->glFlushFn
2124 #define glFlushMappedBufferRange \
2125 ::gfx::g_current_gl_context->glFlushMappedBufferRangeFn
2126 #define glFramebufferRenderbufferEXT \
2127 ::gfx::g_current_gl_context->glFramebufferRenderbufferEXTFn
2128 #define glFramebufferTexture2DEXT \
2129 ::gfx::g_current_gl_context->glFramebufferTexture2DEXTFn
2130 #define glFramebufferTexture2DMultisampleEXT \
2131 ::gfx::g_current_gl_context->glFramebufferTexture2DMultisampleEXTFn
2132 #define glFramebufferTexture2DMultisampleIMG \
2133 ::gfx::g_current_gl_context->glFramebufferTexture2DMultisampleIMGFn
2134 #define glFramebufferTextureLayer \
2135 ::gfx::g_current_gl_context->glFramebufferTextureLayerFn
2136 #define glFrontFace ::gfx::g_current_gl_context->glFrontFaceFn
2137 #define glGenBuffersARB ::gfx::g_current_gl_context->glGenBuffersARBFn
2138 #define glGenerateMipmapEXT ::gfx::g_current_gl_context->glGenerateMipmapEXTFn
2139 #define glGenFencesAPPLE ::gfx::g_current_gl_context->glGenFencesAPPLEFn
2140 #define glGenFencesNV ::gfx::g_current_gl_context->glGenFencesNVFn
2141 #define glGenFramebuffersEXT ::gfx::g_current_gl_context->glGenFramebuffersEXTFn
2142 #define glGenQueries ::gfx::g_current_gl_context->glGenQueriesFn
2143 #define glGenQueriesARB ::gfx::g_current_gl_context->glGenQueriesARBFn
2144 #define glGenRenderbuffersEXT \
2145 ::gfx::g_current_gl_context->glGenRenderbuffersEXTFn
2146 #define glGenSamplers ::gfx::g_current_gl_context->glGenSamplersFn
2147 #define glGenTextures ::gfx::g_current_gl_context->glGenTexturesFn
2148 #define glGenTransformFeedbacks \
2149 ::gfx::g_current_gl_context->glGenTransformFeedbacksFn
2150 #define glGenVertexArraysOES ::gfx::g_current_gl_context->glGenVertexArraysOESFn
2151 #define glGetActiveAttrib ::gfx::g_current_gl_context->glGetActiveAttribFn
2152 #define glGetActiveUniform ::gfx::g_current_gl_context->glGetActiveUniformFn
2153 #define glGetActiveUniformBlockiv \
2154 ::gfx::g_current_gl_context->glGetActiveUniformBlockivFn
2155 #define glGetActiveUniformBlockName \
2156 ::gfx::g_current_gl_context->glGetActiveUniformBlockNameFn
2157 #define glGetActiveUniformsiv \
2158 ::gfx::g_current_gl_context->glGetActiveUniformsivFn
2159 #define glGetAttachedShaders ::gfx::g_current_gl_context->glGetAttachedShadersFn
2160 #define glGetAttribLocation ::gfx::g_current_gl_context->glGetAttribLocationFn
2161 #define glGetBooleanv ::gfx::g_current_gl_context->glGetBooleanvFn
2162 #define glGetBufferParameteriv \
2163 ::gfx::g_current_gl_context->glGetBufferParameterivFn
2164 #define glGetError ::gfx::g_current_gl_context->glGetErrorFn
2165 #define glGetFenceivNV ::gfx::g_current_gl_context->glGetFenceivNVFn
2166 #define glGetFloatv ::gfx::g_current_gl_context->glGetFloatvFn
2167 #define glGetFragDataLocation \
2168 ::gfx::g_current_gl_context->glGetFragDataLocationFn
2169 #define glGetFramebufferAttachmentParameterivEXT \
2170 ::gfx::g_current_gl_context->glGetFramebufferAttachmentParameterivEXTFn
2171 #define glGetGraphicsResetStatusARB \
2172 ::gfx::g_current_gl_context->glGetGraphicsResetStatusARBFn
2173 #define glGetInteger64i_v ::gfx::g_current_gl_context->glGetInteger64i_vFn
2174 #define glGetInteger64v ::gfx::g_current_gl_context->glGetInteger64vFn
2175 #define glGetIntegeri_v ::gfx::g_current_gl_context->glGetIntegeri_vFn
2176 #define glGetIntegerv ::gfx::g_current_gl_context->glGetIntegervFn
2177 #define glGetInternalformativ \
2178 ::gfx::g_current_gl_context->glGetInternalformativFn
2179 #define glGetProgramBinary ::gfx::g_current_gl_context->glGetProgramBinaryFn
2180 #define glGetProgramInfoLog ::gfx::g_current_gl_context->glGetProgramInfoLogFn
2181 #define glGetProgramiv ::gfx::g_current_gl_context->glGetProgramivFn
2182 #define glGetQueryiv ::gfx::g_current_gl_context->glGetQueryivFn
2183 #define glGetQueryivARB ::gfx::g_current_gl_context->glGetQueryivARBFn
2184 #define glGetQueryObjecti64v ::gfx::g_current_gl_context->glGetQueryObjecti64vFn
2185 #define glGetQueryObjectiv ::gfx::g_current_gl_context->glGetQueryObjectivFn
2186 #define glGetQueryObjectivARB \
2187 ::gfx::g_current_gl_context->glGetQueryObjectivARBFn
2188 #define glGetQueryObjectui64v \
2189 ::gfx::g_current_gl_context->glGetQueryObjectui64vFn
2190 #define glGetQueryObjectuiv ::gfx::g_current_gl_context->glGetQueryObjectuivFn
2191 #define glGetQueryObjectuivARB \
2192 ::gfx::g_current_gl_context->glGetQueryObjectuivARBFn
2193 #define glGetRenderbufferParameterivEXT \
2194 ::gfx::g_current_gl_context->glGetRenderbufferParameterivEXTFn
2195 #define glGetSamplerParameterfv \
2196 ::gfx::g_current_gl_context->glGetSamplerParameterfvFn
2197 #define glGetSamplerParameteriv \
2198 ::gfx::g_current_gl_context->glGetSamplerParameterivFn
2199 #define glGetShaderInfoLog ::gfx::g_current_gl_context->glGetShaderInfoLogFn
2200 #define glGetShaderiv ::gfx::g_current_gl_context->glGetShaderivFn
2201 #define glGetShaderPrecisionFormat \
2202 ::gfx::g_current_gl_context->glGetShaderPrecisionFormatFn
2203 #define glGetShaderSource ::gfx::g_current_gl_context->glGetShaderSourceFn
2204 #define glGetString ::gfx::g_current_gl_context->glGetStringFn
2205 #define glGetSynciv ::gfx::g_current_gl_context->glGetSyncivFn
2206 #define glGetTexLevelParameterfv \
2207 ::gfx::g_current_gl_context->glGetTexLevelParameterfvFn
2208 #define glGetTexLevelParameteriv \
2209 ::gfx::g_current_gl_context->glGetTexLevelParameterivFn
2210 #define glGetTexParameterfv ::gfx::g_current_gl_context->glGetTexParameterfvFn
2211 #define glGetTexParameteriv ::gfx::g_current_gl_context->glGetTexParameterivFn
2212 #define glGetTransformFeedbackVarying \
2213 ::gfx::g_current_gl_context->glGetTransformFeedbackVaryingFn
2214 #define glGetTranslatedShaderSourceANGLE \
2215 ::gfx::g_current_gl_context->glGetTranslatedShaderSourceANGLEFn
2216 #define glGetUniformBlockIndex \
2217 ::gfx::g_current_gl_context->glGetUniformBlockIndexFn
2218 #define glGetUniformfv ::gfx::g_current_gl_context->glGetUniformfvFn
2219 #define glGetUniformIndices ::gfx::g_current_gl_context->glGetUniformIndicesFn
2220 #define glGetUniformiv ::gfx::g_current_gl_context->glGetUniformivFn
2221 #define glGetUniformLocation ::gfx::g_current_gl_context->glGetUniformLocationFn
2222 #define glGetVertexAttribfv ::gfx::g_current_gl_context->glGetVertexAttribfvFn
2223 #define glGetVertexAttribiv ::gfx::g_current_gl_context->glGetVertexAttribivFn
2224 #define glGetVertexAttribPointerv \
2225 ::gfx::g_current_gl_context->glGetVertexAttribPointervFn
2226 #define glHint ::gfx::g_current_gl_context->glHintFn
2227 #define glInsertEventMarkerEXT \
2228 ::gfx::g_current_gl_context->glInsertEventMarkerEXTFn
2229 #define glInvalidateFramebuffer \
2230 ::gfx::g_current_gl_context->glInvalidateFramebufferFn
2231 #define glInvalidateSubFramebuffer \
2232 ::gfx::g_current_gl_context->glInvalidateSubFramebufferFn
2233 #define glIsBuffer ::gfx::g_current_gl_context->glIsBufferFn
2234 #define glIsEnabled ::gfx::g_current_gl_context->glIsEnabledFn
2235 #define glIsFenceAPPLE ::gfx::g_current_gl_context->glIsFenceAPPLEFn
2236 #define glIsFenceNV ::gfx::g_current_gl_context->glIsFenceNVFn
2237 #define glIsFramebufferEXT ::gfx::g_current_gl_context->glIsFramebufferEXTFn
2238 #define glIsProgram ::gfx::g_current_gl_context->glIsProgramFn
2239 #define glIsQuery ::gfx::g_current_gl_context->glIsQueryFn
2240 #define glIsQueryARB ::gfx::g_current_gl_context->glIsQueryARBFn
2241 #define glIsRenderbufferEXT ::gfx::g_current_gl_context->glIsRenderbufferEXTFn
2242 #define glIsSampler ::gfx::g_current_gl_context->glIsSamplerFn
2243 #define glIsShader ::gfx::g_current_gl_context->glIsShaderFn
2244 #define glIsSync ::gfx::g_current_gl_context->glIsSyncFn
2245 #define glIsTexture ::gfx::g_current_gl_context->glIsTextureFn
2246 #define glIsTransformFeedback \
2247 ::gfx::g_current_gl_context->glIsTransformFeedbackFn
2248 #define glIsVertexArrayOES ::gfx::g_current_gl_context->glIsVertexArrayOESFn
2249 #define glLineWidth ::gfx::g_current_gl_context->glLineWidthFn
2250 #define glLinkProgram ::gfx::g_current_gl_context->glLinkProgramFn
2251 #define glMapBuffer ::gfx::g_current_gl_context->glMapBufferFn
2252 #define glMapBufferRange ::gfx::g_current_gl_context->glMapBufferRangeFn
2253 #define glMatrixLoadfEXT ::gfx::g_current_gl_context->glMatrixLoadfEXTFn
2254 #define glMatrixLoadIdentityEXT \
2255 ::gfx::g_current_gl_context->glMatrixLoadIdentityEXTFn
2256 #define glPauseTransformFeedback \
2257 ::gfx::g_current_gl_context->glPauseTransformFeedbackFn
2258 #define glPixelStorei ::gfx::g_current_gl_context->glPixelStoreiFn
2259 #define glPointParameteri ::gfx::g_current_gl_context->glPointParameteriFn
2260 #define glPolygonOffset ::gfx::g_current_gl_context->glPolygonOffsetFn
2261 #define glPopGroupMarkerEXT ::gfx::g_current_gl_context->glPopGroupMarkerEXTFn
2262 #define glProgramBinary ::gfx::g_current_gl_context->glProgramBinaryFn
2263 #define glProgramParameteri ::gfx::g_current_gl_context->glProgramParameteriFn
2264 #define glPushGroupMarkerEXT ::gfx::g_current_gl_context->glPushGroupMarkerEXTFn
2265 #define glQueryCounter ::gfx::g_current_gl_context->glQueryCounterFn
2266 #define glReadBuffer ::gfx::g_current_gl_context->glReadBufferFn
2267 #define glReadPixels ::gfx::g_current_gl_context->glReadPixelsFn
2268 #define glReleaseShaderCompiler \
2269 ::gfx::g_current_gl_context->glReleaseShaderCompilerFn
2270 #define glRenderbufferStorageEXT \
2271 ::gfx::g_current_gl_context->glRenderbufferStorageEXTFn
2272 #define glRenderbufferStorageMultisample \
2273 ::gfx::g_current_gl_context->glRenderbufferStorageMultisampleFn
2274 #define glRenderbufferStorageMultisampleANGLE \
2275 ::gfx::g_current_gl_context->glRenderbufferStorageMultisampleANGLEFn
2276 #define glRenderbufferStorageMultisampleEXT \
2277 ::gfx::g_current_gl_context->glRenderbufferStorageMultisampleEXTFn
2278 #define glRenderbufferStorageMultisampleIMG \
2279 ::gfx::g_current_gl_context->glRenderbufferStorageMultisampleIMGFn
2280 #define glResumeTransformFeedback \
2281 ::gfx::g_current_gl_context->glResumeTransformFeedbackFn
2282 #define glSampleCoverage ::gfx::g_current_gl_context->glSampleCoverageFn
2283 #define glSamplerParameterf ::gfx::g_current_gl_context->glSamplerParameterfFn
2284 #define glSamplerParameterfv ::gfx::g_current_gl_context->glSamplerParameterfvFn
2285 #define glSamplerParameteri ::gfx::g_current_gl_context->glSamplerParameteriFn
2286 #define glSamplerParameteriv ::gfx::g_current_gl_context->glSamplerParameterivFn
2287 #define glScissor ::gfx::g_current_gl_context->glScissorFn
2288 #define glSetFenceAPPLE ::gfx::g_current_gl_context->glSetFenceAPPLEFn
2289 #define glSetFenceNV ::gfx::g_current_gl_context->glSetFenceNVFn
2290 #define glShaderBinary ::gfx::g_current_gl_context->glShaderBinaryFn
2291 #define glShaderSource ::gfx::g_current_gl_context->glShaderSourceFn
2292 #define glStencilFunc ::gfx::g_current_gl_context->glStencilFuncFn
2293 #define glStencilFuncSeparate \
2294 ::gfx::g_current_gl_context->glStencilFuncSeparateFn
2295 #define glStencilMask ::gfx::g_current_gl_context->glStencilMaskFn
2296 #define glStencilMaskSeparate \
2297 ::gfx::g_current_gl_context->glStencilMaskSeparateFn
2298 #define glStencilOp ::gfx::g_current_gl_context->glStencilOpFn
2299 #define glStencilOpSeparate ::gfx::g_current_gl_context->glStencilOpSeparateFn
2300 #define glTestFenceAPPLE ::gfx::g_current_gl_context->glTestFenceAPPLEFn
2301 #define glTestFenceNV ::gfx::g_current_gl_context->glTestFenceNVFn
2302 #define glTexImage2D ::gfx::g_current_gl_context->glTexImage2DFn
2303 #define glTexImage3D ::gfx::g_current_gl_context->glTexImage3DFn
2304 #define glTexParameterf ::gfx::g_current_gl_context->glTexParameterfFn
2305 #define glTexParameterfv ::gfx::g_current_gl_context->glTexParameterfvFn
2306 #define glTexParameteri ::gfx::g_current_gl_context->glTexParameteriFn
2307 #define glTexParameteriv ::gfx::g_current_gl_context->glTexParameterivFn
2308 #define glTexStorage2DEXT ::gfx::g_current_gl_context->glTexStorage2DEXTFn
2309 #define glTexStorage3D ::gfx::g_current_gl_context->glTexStorage3DFn
2310 #define glTexSubImage2D ::gfx::g_current_gl_context->glTexSubImage2DFn
2311 #define glTransformFeedbackVaryings \
2312 ::gfx::g_current_gl_context->glTransformFeedbackVaryingsFn
2313 #define glUniform1f ::gfx::g_current_gl_context->glUniform1fFn
2314 #define glUniform1fv ::gfx::g_current_gl_context->glUniform1fvFn
2315 #define glUniform1i ::gfx::g_current_gl_context->glUniform1iFn
2316 #define glUniform1iv ::gfx::g_current_gl_context->glUniform1ivFn
2317 #define glUniform1ui ::gfx::g_current_gl_context->glUniform1uiFn
2318 #define glUniform1uiv ::gfx::g_current_gl_context->glUniform1uivFn
2319 #define glUniform2f ::gfx::g_current_gl_context->glUniform2fFn
2320 #define glUniform2fv ::gfx::g_current_gl_context->glUniform2fvFn
2321 #define glUniform2i ::gfx::g_current_gl_context->glUniform2iFn
2322 #define glUniform2iv ::gfx::g_current_gl_context->glUniform2ivFn
2323 #define glUniform2ui ::gfx::g_current_gl_context->glUniform2uiFn
2324 #define glUniform2uiv ::gfx::g_current_gl_context->glUniform2uivFn
2325 #define glUniform3f ::gfx::g_current_gl_context->glUniform3fFn
2326 #define glUniform3fv ::gfx::g_current_gl_context->glUniform3fvFn
2327 #define glUniform3i ::gfx::g_current_gl_context->glUniform3iFn
2328 #define glUniform3iv ::gfx::g_current_gl_context->glUniform3ivFn
2329 #define glUniform3ui ::gfx::g_current_gl_context->glUniform3uiFn
2330 #define glUniform3uiv ::gfx::g_current_gl_context->glUniform3uivFn
2331 #define glUniform4f ::gfx::g_current_gl_context->glUniform4fFn
2332 #define glUniform4fv ::gfx::g_current_gl_context->glUniform4fvFn
2333 #define glUniform4i ::gfx::g_current_gl_context->glUniform4iFn
2334 #define glUniform4iv ::gfx::g_current_gl_context->glUniform4ivFn
2335 #define glUniform4ui ::gfx::g_current_gl_context->glUniform4uiFn
2336 #define glUniform4uiv ::gfx::g_current_gl_context->glUniform4uivFn
2337 #define glUniformBlockBinding \
2338 ::gfx::g_current_gl_context->glUniformBlockBindingFn
2339 #define glUniformMatrix2fv ::gfx::g_current_gl_context->glUniformMatrix2fvFn
2340 #define glUniformMatrix2x3fv ::gfx::g_current_gl_context->glUniformMatrix2x3fvFn
2341 #define glUniformMatrix2x4fv ::gfx::g_current_gl_context->glUniformMatrix2x4fvFn
2342 #define glUniformMatrix3fv ::gfx::g_current_gl_context->glUniformMatrix3fvFn
2343 #define glUniformMatrix3x2fv ::gfx::g_current_gl_context->glUniformMatrix3x2fvFn
2344 #define glUniformMatrix3x4fv ::gfx::g_current_gl_context->glUniformMatrix3x4fvFn
2345 #define glUniformMatrix4fv ::gfx::g_current_gl_context->glUniformMatrix4fvFn
2346 #define glUniformMatrix4x2fv ::gfx::g_current_gl_context->glUniformMatrix4x2fvFn
2347 #define glUniformMatrix4x3fv ::gfx::g_current_gl_context->glUniformMatrix4x3fvFn
2348 #define glUnmapBuffer ::gfx::g_current_gl_context->glUnmapBufferFn
2349 #define glUseProgram ::gfx::g_current_gl_context->glUseProgramFn
2350 #define glValidateProgram ::gfx::g_current_gl_context->glValidateProgramFn
2351 #define glVertexAttrib1f ::gfx::g_current_gl_context->glVertexAttrib1fFn
2352 #define glVertexAttrib1fv ::gfx::g_current_gl_context->glVertexAttrib1fvFn
2353 #define glVertexAttrib2f ::gfx::g_current_gl_context->glVertexAttrib2fFn
2354 #define glVertexAttrib2fv ::gfx::g_current_gl_context->glVertexAttrib2fvFn
2355 #define glVertexAttrib3f ::gfx::g_current_gl_context->glVertexAttrib3fFn
2356 #define glVertexAttrib3fv ::gfx::g_current_gl_context->glVertexAttrib3fvFn
2357 #define glVertexAttrib4f ::gfx::g_current_gl_context->glVertexAttrib4fFn
2358 #define glVertexAttrib4fv ::gfx::g_current_gl_context->glVertexAttrib4fvFn
2359 #define glVertexAttribDivisorANGLE \
2360 ::gfx::g_current_gl_context->glVertexAttribDivisorANGLEFn
2361 #define glVertexAttribI4i ::gfx::g_current_gl_context->glVertexAttribI4iFn
2362 #define glVertexAttribI4iv ::gfx::g_current_gl_context->glVertexAttribI4ivFn
2363 #define glVertexAttribI4ui ::gfx::g_current_gl_context->glVertexAttribI4uiFn
2364 #define glVertexAttribI4uiv ::gfx::g_current_gl_context->glVertexAttribI4uivFn
2365 #define glVertexAttribIPointer \
2366 ::gfx::g_current_gl_context->glVertexAttribIPointerFn
2367 #define glVertexAttribPointer \
2368 ::gfx::g_current_gl_context->glVertexAttribPointerFn
2369 #define glViewport ::gfx::g_current_gl_context->glViewportFn
2370 #define glWaitSync ::gfx::g_current_gl_context->glWaitSyncFn
2372 #endif // UI_GFX_GL_GL_BINDINGS_AUTOGEN_GL_H_