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