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