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