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