1void API_ENTRY(glActiveTexture)(GLenum texture) {
2    CALL_GL_API(glActiveTexture, texture);
3}
4void API_ENTRY(glAttachShader)(GLuint program, GLuint shader) {
5    CALL_GL_API(glAttachShader, program, shader);
6}
7void API_ENTRY(glBindAttribLocation)(GLuint program, GLuint index, const GLchar *name) {
8    CALL_GL_API(glBindAttribLocation, program, index, name);
9}
10void API_ENTRY(glBindBuffer)(GLenum target, GLuint buffer) {
11    CALL_GL_API(glBindBuffer, target, buffer);
12}
13void API_ENTRY(glBindFramebuffer)(GLenum target, GLuint framebuffer) {
14    CALL_GL_API(glBindFramebuffer, target, framebuffer);
15}
16void API_ENTRY(glBindRenderbuffer)(GLenum target, GLuint renderbuffer) {
17    CALL_GL_API(glBindRenderbuffer, target, renderbuffer);
18}
19void API_ENTRY(glBindTexture)(GLenum target, GLuint texture) {
20    CALL_GL_API(glBindTexture, target, texture);
21}
22void API_ENTRY(glBlendColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
23    CALL_GL_API(glBlendColor, red, green, blue, alpha);
24}
25void API_ENTRY(glBlendEquation)(GLenum mode) {
26    CALL_GL_API(glBlendEquation, mode);
27}
28void API_ENTRY(glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha) {
29    CALL_GL_API(glBlendEquationSeparate, modeRGB, modeAlpha);
30}
31void API_ENTRY(glBlendFunc)(GLenum sfactor, GLenum dfactor) {
32    CALL_GL_API(glBlendFunc, sfactor, dfactor);
33}
34void API_ENTRY(glBlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) {
35    CALL_GL_API(glBlendFuncSeparate, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
36}
37void API_ENTRY(glBufferData)(GLenum target, GLsizeiptr size, const void *data, GLenum usage) {
38    CALL_GL_API(glBufferData, target, size, data, usage);
39}
40void API_ENTRY(glBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) {
41    CALL_GL_API(glBufferSubData, target, offset, size, data);
42}
43GLenum API_ENTRY(glCheckFramebufferStatus)(GLenum target) {
44    CALL_GL_API_RETURN(glCheckFramebufferStatus, target);
45}
46void API_ENTRY(glClear)(GLbitfield mask) {
47    CALL_GL_API(glClear, mask);
48}
49void API_ENTRY(glClearColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
50    CALL_GL_API(glClearColor, red, green, blue, alpha);
51}
52void API_ENTRY(glClearDepthf)(GLfloat d) {
53    CALL_GL_API(glClearDepthf, d);
54}
55void API_ENTRY(glClearStencil)(GLint s) {
56    CALL_GL_API(glClearStencil, s);
57}
58void API_ENTRY(glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
59    CALL_GL_API(glColorMask, red, green, blue, alpha);
60}
61void API_ENTRY(glCompileShader)(GLuint shader) {
62    CALL_GL_API(glCompileShader, shader);
63}
64void API_ENTRY(glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) {
65    CALL_GL_API(glCompressedTexImage2D, target, level, internalformat, width, height, border, imageSize, data);
66}
67void API_ENTRY(glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) {
68    CALL_GL_API(glCompressedTexSubImage2D, target, level, xoffset, yoffset, width, height, format, imageSize, data);
69}
70void API_ENTRY(glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
71    CALL_GL_API(glCopyTexImage2D, target, level, internalformat, x, y, width, height, border);
72}
73void API_ENTRY(glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
74    CALL_GL_API(glCopyTexSubImage2D, target, level, xoffset, yoffset, x, y, width, height);
75}
76GLuint API_ENTRY(glCreateProgram)(void) {
77    CALL_GL_API_RETURN(glCreateProgram);
78}
79GLuint API_ENTRY(glCreateShader)(GLenum type) {
80    CALL_GL_API_RETURN(glCreateShader, type);
81}
82void API_ENTRY(glCullFace)(GLenum mode) {
83    CALL_GL_API(glCullFace, mode);
84}
85void API_ENTRY(glDeleteBuffers)(GLsizei n, const GLuint *buffers) {
86    CALL_GL_API(glDeleteBuffers, n, buffers);
87}
88void API_ENTRY(glDeleteFramebuffers)(GLsizei n, const GLuint *framebuffers) {
89    CALL_GL_API(glDeleteFramebuffers, n, framebuffers);
90}
91void API_ENTRY(glDeleteProgram)(GLuint program) {
92    CALL_GL_API(glDeleteProgram, program);
93}
94void API_ENTRY(glDeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers) {
95    CALL_GL_API(glDeleteRenderbuffers, n, renderbuffers);
96}
97void API_ENTRY(glDeleteShader)(GLuint shader) {
98    CALL_GL_API(glDeleteShader, shader);
99}
100void API_ENTRY(glDeleteTextures)(GLsizei n, const GLuint *textures) {
101    CALL_GL_API(glDeleteTextures, n, textures);
102}
103void API_ENTRY(glDepthFunc)(GLenum func) {
104    CALL_GL_API(glDepthFunc, func);
105}
106void API_ENTRY(glDepthMask)(GLboolean flag) {
107    CALL_GL_API(glDepthMask, flag);
108}
109void API_ENTRY(glDepthRangef)(GLfloat n, GLfloat f) {
110    CALL_GL_API(glDepthRangef, n, f);
111}
112void API_ENTRY(glDetachShader)(GLuint program, GLuint shader) {
113    CALL_GL_API(glDetachShader, program, shader);
114}
115void API_ENTRY(glDisable)(GLenum cap) {
116    CALL_GL_API(glDisable, cap);
117}
118void API_ENTRY(glDisableVertexAttribArray)(GLuint index) {
119    CALL_GL_API(glDisableVertexAttribArray, index);
120}
121void API_ENTRY(glDrawArrays)(GLenum mode, GLint first, GLsizei count) {
122    CALL_GL_API(glDrawArrays, mode, first, count);
123}
124void API_ENTRY(glDrawElements)(GLenum mode, GLsizei count, GLenum type, const void *indices) {
125    CALL_GL_API(glDrawElements, mode, count, type, indices);
126}
127void API_ENTRY(glEnable)(GLenum cap) {
128    CALL_GL_API(glEnable, cap);
129}
130void API_ENTRY(glEnableVertexAttribArray)(GLuint index) {
131    CALL_GL_API(glEnableVertexAttribArray, index);
132}
133void API_ENTRY(glFinish)(void) {
134    CALL_GL_API(glFinish);
135}
136void API_ENTRY(glFlush)(void) {
137    CALL_GL_API(glFlush);
138}
139void API_ENTRY(glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
140    CALL_GL_API(glFramebufferRenderbuffer, target, attachment, renderbuffertarget, renderbuffer);
141}
142void API_ENTRY(glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
143    CALL_GL_API(glFramebufferTexture2D, target, attachment, textarget, texture, level);
144}
145void API_ENTRY(glFrontFace)(GLenum mode) {
146    CALL_GL_API(glFrontFace, mode);
147}
148void API_ENTRY(glGenBuffers)(GLsizei n, GLuint *buffers) {
149    CALL_GL_API(glGenBuffers, n, buffers);
150}
151void API_ENTRY(glGenerateMipmap)(GLenum target) {
152    CALL_GL_API(glGenerateMipmap, target);
153}
154void API_ENTRY(glGenFramebuffers)(GLsizei n, GLuint *framebuffers) {
155    CALL_GL_API(glGenFramebuffers, n, framebuffers);
156}
157void API_ENTRY(glGenRenderbuffers)(GLsizei n, GLuint *renderbuffers) {
158    CALL_GL_API(glGenRenderbuffers, n, renderbuffers);
159}
160void API_ENTRY(glGenTextures)(GLsizei n, GLuint *textures) {
161    CALL_GL_API(glGenTextures, n, textures);
162}
163void API_ENTRY(glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) {
164    CALL_GL_API(glGetActiveAttrib, program, index, bufSize, length, size, type, name);
165}
166void API_ENTRY(glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) {
167    CALL_GL_API(glGetActiveUniform, program, index, bufSize, length, size, type, name);
168}
169void API_ENTRY(glGetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) {
170    CALL_GL_API(glGetAttachedShaders, program, maxCount, count, shaders);
171}
172GLint API_ENTRY(glGetAttribLocation)(GLuint program, const GLchar *name) {
173    CALL_GL_API_RETURN(glGetAttribLocation, program, name);
174}
175void API_ENTRY(__glGetBooleanv)(GLenum pname, GLboolean *data) {
176    CALL_GL_API(glGetBooleanv, pname, data);
177}
178void API_ENTRY(glGetBufferParameteriv)(GLenum target, GLenum pname, GLint *params) {
179    CALL_GL_API(glGetBufferParameteriv, target, pname, params);
180}
181GLenum API_ENTRY(glGetError)(void) {
182    CALL_GL_API_RETURN(glGetError);
183}
184void API_ENTRY(__glGetFloatv)(GLenum pname, GLfloat *data) {
185    CALL_GL_API(glGetFloatv, pname, data);
186}
187void API_ENTRY(glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params) {
188    CALL_GL_API(glGetFramebufferAttachmentParameteriv, target, attachment, pname, params);
189}
190void API_ENTRY(__glGetIntegerv)(GLenum pname, GLint *data) {
191    CALL_GL_API(glGetIntegerv, pname, data);
192}
193void API_ENTRY(glGetProgramiv)(GLuint program, GLenum pname, GLint *params) {
194    CALL_GL_API(glGetProgramiv, program, pname, params);
195}
196void API_ENTRY(glGetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) {
197    CALL_GL_API(glGetProgramInfoLog, program, bufSize, length, infoLog);
198}
199void API_ENTRY(glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params) {
200    CALL_GL_API(glGetRenderbufferParameteriv, target, pname, params);
201}
202void API_ENTRY(glGetShaderiv)(GLuint shader, GLenum pname, GLint *params) {
203    CALL_GL_API(glGetShaderiv, shader, pname, params);
204}
205void API_ENTRY(glGetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) {
206    CALL_GL_API(glGetShaderInfoLog, shader, bufSize, length, infoLog);
207}
208void API_ENTRY(glGetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) {
209    CALL_GL_API(glGetShaderPrecisionFormat, shadertype, precisiontype, range, precision);
210}
211void API_ENTRY(glGetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) {
212    CALL_GL_API(glGetShaderSource, shader, bufSize, length, source);
213}
214const GLubyte * API_ENTRY(__glGetString)(GLenum name) {
215    CALL_GL_API_RETURN(glGetString, name);
216}
217void API_ENTRY(glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) {
218    CALL_GL_API(glGetTexParameterfv, target, pname, params);
219}
220void API_ENTRY(glGetTexParameteriv)(GLenum target, GLenum pname, GLint *params) {
221    CALL_GL_API(glGetTexParameteriv, target, pname, params);
222}
223void API_ENTRY(glGetUniformfv)(GLuint program, GLint location, GLfloat *params) {
224    CALL_GL_API(glGetUniformfv, program, location, params);
225}
226void API_ENTRY(glGetUniformiv)(GLuint program, GLint location, GLint *params) {
227    CALL_GL_API(glGetUniformiv, program, location, params);
228}
229GLint API_ENTRY(glGetUniformLocation)(GLuint program, const GLchar *name) {
230    CALL_GL_API_RETURN(glGetUniformLocation, program, name);
231}
232void API_ENTRY(glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params) {
233    CALL_GL_API(glGetVertexAttribfv, index, pname, params);
234}
235void API_ENTRY(glGetVertexAttribiv)(GLuint index, GLenum pname, GLint *params) {
236    CALL_GL_API(glGetVertexAttribiv, index, pname, params);
237}
238void API_ENTRY(glGetVertexAttribPointerv)(GLuint index, GLenum pname, void **pointer) {
239    CALL_GL_API(glGetVertexAttribPointerv, index, pname, pointer);
240}
241void API_ENTRY(glHint)(GLenum target, GLenum mode) {
242    CALL_GL_API(glHint, target, mode);
243}
244GLboolean API_ENTRY(glIsBuffer)(GLuint buffer) {
245    CALL_GL_API_RETURN(glIsBuffer, buffer);
246}
247GLboolean API_ENTRY(glIsEnabled)(GLenum cap) {
248    CALL_GL_API_RETURN(glIsEnabled, cap);
249}
250GLboolean API_ENTRY(glIsFramebuffer)(GLuint framebuffer) {
251    CALL_GL_API_RETURN(glIsFramebuffer, framebuffer);
252}
253GLboolean API_ENTRY(glIsProgram)(GLuint program) {
254    CALL_GL_API_RETURN(glIsProgram, program);
255}
256GLboolean API_ENTRY(glIsRenderbuffer)(GLuint renderbuffer) {
257    CALL_GL_API_RETURN(glIsRenderbuffer, renderbuffer);
258}
259GLboolean API_ENTRY(glIsShader)(GLuint shader) {
260    CALL_GL_API_RETURN(glIsShader, shader);
261}
262GLboolean API_ENTRY(glIsTexture)(GLuint texture) {
263    CALL_GL_API_RETURN(glIsTexture, texture);
264}
265void API_ENTRY(glLineWidth)(GLfloat width) {
266    CALL_GL_API(glLineWidth, width);
267}
268void API_ENTRY(glLinkProgram)(GLuint program) {
269    CALL_GL_API(glLinkProgram, program);
270}
271void API_ENTRY(glPixelStorei)(GLenum pname, GLint param) {
272    CALL_GL_API(glPixelStorei, pname, param);
273}
274void API_ENTRY(glPolygonOffset)(GLfloat factor, GLfloat units) {
275    CALL_GL_API(glPolygonOffset, factor, units);
276}
277void API_ENTRY(glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) {
278    CALL_GL_API(glReadPixels, x, y, width, height, format, type, pixels);
279}
280void API_ENTRY(glReleaseShaderCompiler)(void) {
281    CALL_GL_API(glReleaseShaderCompiler);
282}
283void API_ENTRY(glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
284    CALL_GL_API(glRenderbufferStorage, target, internalformat, width, height);
285}
286void API_ENTRY(glSampleCoverage)(GLfloat value, GLboolean invert) {
287    CALL_GL_API(glSampleCoverage, value, invert);
288}
289void API_ENTRY(glScissor)(GLint x, GLint y, GLsizei width, GLsizei height) {
290    CALL_GL_API(glScissor, x, y, width, height);
291}
292void API_ENTRY(glShaderBinary)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) {
293    CALL_GL_API(glShaderBinary, count, shaders, binaryformat, binary, length);
294}
295void API_ENTRY(glShaderSource)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length) {
296    CALL_GL_API(glShaderSource, shader, count, string, length);
297}
298void API_ENTRY(glStencilFunc)(GLenum func, GLint ref, GLuint mask) {
299    CALL_GL_API(glStencilFunc, func, ref, mask);
300}
301void API_ENTRY(glStencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask) {
302    CALL_GL_API(glStencilFuncSeparate, face, func, ref, mask);
303}
304void API_ENTRY(glStencilMask)(GLuint mask) {
305    CALL_GL_API(glStencilMask, mask);
306}
307void API_ENTRY(glStencilMaskSeparate)(GLenum face, GLuint mask) {
308    CALL_GL_API(glStencilMaskSeparate, face, mask);
309}
310void API_ENTRY(glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass) {
311    CALL_GL_API(glStencilOp, fail, zfail, zpass);
312}
313void API_ENTRY(glStencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) {
314    CALL_GL_API(glStencilOpSeparate, face, sfail, dpfail, dppass);
315}
316void API_ENTRY(glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) {
317    CALL_GL_API(glTexImage2D, target, level, internalformat, width, height, border, format, type, pixels);
318}
319void API_ENTRY(glTexParameterf)(GLenum target, GLenum pname, GLfloat param) {
320    CALL_GL_API(glTexParameterf, target, pname, param);
321}
322void API_ENTRY(glTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params) {
323    CALL_GL_API(glTexParameterfv, target, pname, params);
324}
325void API_ENTRY(glTexParameteri)(GLenum target, GLenum pname, GLint param) {
326    CALL_GL_API(glTexParameteri, target, pname, param);
327}
328void API_ENTRY(glTexParameteriv)(GLenum target, GLenum pname, const GLint *params) {
329    CALL_GL_API(glTexParameteriv, target, pname, params);
330}
331void API_ENTRY(glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) {
332    CALL_GL_API(glTexSubImage2D, target, level, xoffset, yoffset, width, height, format, type, pixels);
333}
334void API_ENTRY(glUniform1f)(GLint location, GLfloat v0) {
335    CALL_GL_API(glUniform1f, location, v0);
336}
337void API_ENTRY(glUniform1fv)(GLint location, GLsizei count, const GLfloat *value) {
338    CALL_GL_API(glUniform1fv, location, count, value);
339}
340void API_ENTRY(glUniform1i)(GLint location, GLint v0) {
341    CALL_GL_API(glUniform1i, location, v0);
342}
343void API_ENTRY(glUniform1iv)(GLint location, GLsizei count, const GLint *value) {
344    CALL_GL_API(glUniform1iv, location, count, value);
345}
346void API_ENTRY(glUniform2f)(GLint location, GLfloat v0, GLfloat v1) {
347    CALL_GL_API(glUniform2f, location, v0, v1);
348}
349void API_ENTRY(glUniform2fv)(GLint location, GLsizei count, const GLfloat *value) {
350    CALL_GL_API(glUniform2fv, location, count, value);
351}
352void API_ENTRY(glUniform2i)(GLint location, GLint v0, GLint v1) {
353    CALL_GL_API(glUniform2i, location, v0, v1);
354}
355void API_ENTRY(glUniform2iv)(GLint location, GLsizei count, const GLint *value) {
356    CALL_GL_API(glUniform2iv, location, count, value);
357}
358void API_ENTRY(glUniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
359    CALL_GL_API(glUniform3f, location, v0, v1, v2);
360}
361void API_ENTRY(glUniform3fv)(GLint location, GLsizei count, const GLfloat *value) {
362    CALL_GL_API(glUniform3fv, location, count, value);
363}
364void API_ENTRY(glUniform3i)(GLint location, GLint v0, GLint v1, GLint v2) {
365    CALL_GL_API(glUniform3i, location, v0, v1, v2);
366}
367void API_ENTRY(glUniform3iv)(GLint location, GLsizei count, const GLint *value) {
368    CALL_GL_API(glUniform3iv, location, count, value);
369}
370void API_ENTRY(glUniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
371    CALL_GL_API(glUniform4f, location, v0, v1, v2, v3);
372}
373void API_ENTRY(glUniform4fv)(GLint location, GLsizei count, const GLfloat *value) {
374    CALL_GL_API(glUniform4fv, location, count, value);
375}
376void API_ENTRY(glUniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
377    CALL_GL_API(glUniform4i, location, v0, v1, v2, v3);
378}
379void API_ENTRY(glUniform4iv)(GLint location, GLsizei count, const GLint *value) {
380    CALL_GL_API(glUniform4iv, location, count, value);
381}
382void API_ENTRY(glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
383    CALL_GL_API(glUniformMatrix2fv, location, count, transpose, value);
384}
385void API_ENTRY(glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
386    CALL_GL_API(glUniformMatrix3fv, location, count, transpose, value);
387}
388void API_ENTRY(glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
389    CALL_GL_API(glUniformMatrix4fv, location, count, transpose, value);
390}
391void API_ENTRY(glUseProgram)(GLuint program) {
392    CALL_GL_API(glUseProgram, program);
393}
394void API_ENTRY(glValidateProgram)(GLuint program) {
395    CALL_GL_API(glValidateProgram, program);
396}
397void API_ENTRY(glVertexAttrib1f)(GLuint index, GLfloat x) {
398    CALL_GL_API(glVertexAttrib1f, index, x);
399}
400void API_ENTRY(glVertexAttrib1fv)(GLuint index, const GLfloat *v) {
401    CALL_GL_API(glVertexAttrib1fv, index, v);
402}
403void API_ENTRY(glVertexAttrib2f)(GLuint index, GLfloat x, GLfloat y) {
404    CALL_GL_API(glVertexAttrib2f, index, x, y);
405}
406void API_ENTRY(glVertexAttrib2fv)(GLuint index, const GLfloat *v) {
407    CALL_GL_API(glVertexAttrib2fv, index, v);
408}
409void API_ENTRY(glVertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z) {
410    CALL_GL_API(glVertexAttrib3f, index, x, y, z);
411}
412void API_ENTRY(glVertexAttrib3fv)(GLuint index, const GLfloat *v) {
413    CALL_GL_API(glVertexAttrib3fv, index, v);
414}
415void API_ENTRY(glVertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
416    CALL_GL_API(glVertexAttrib4f, index, x, y, z, w);
417}
418void API_ENTRY(glVertexAttrib4fv)(GLuint index, const GLfloat *v) {
419    CALL_GL_API(glVertexAttrib4fv, index, v);
420}
421void API_ENTRY(glVertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) {
422    CALL_GL_API(glVertexAttribPointer, index, size, type, normalized, stride, pointer);
423}
424void API_ENTRY(glViewport)(GLint x, GLint y, GLsizei width, GLsizei height) {
425    CALL_GL_API(glViewport, x, y, width, height);
426}
427void API_ENTRY(glReadBuffer)(GLenum src) {
428    CALL_GL_API(glReadBuffer, src);
429}
430void API_ENTRY(glDrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) {
431    CALL_GL_API(glDrawRangeElements, mode, start, end, count, type, indices);
432}
433void API_ENTRY(glTexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) {
434    CALL_GL_API(glTexImage3D, target, level, internalformat, width, height, depth, border, format, type, pixels);
435}
436void API_ENTRY(glTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) {
437    CALL_GL_API(glTexSubImage3D, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
438}
439void API_ENTRY(glCopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
440    CALL_GL_API(glCopyTexSubImage3D, target, level, xoffset, yoffset, zoffset, x, y, width, height);
441}
442void API_ENTRY(glCompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) {
443    CALL_GL_API(glCompressedTexImage3D, target, level, internalformat, width, height, depth, border, imageSize, data);
444}
445void API_ENTRY(glCompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) {
446    CALL_GL_API(glCompressedTexSubImage3D, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
447}
448void API_ENTRY(glGenQueries)(GLsizei n, GLuint *ids) {
449    CALL_GL_API(glGenQueries, n, ids);
450}
451void API_ENTRY(glDeleteQueries)(GLsizei n, const GLuint *ids) {
452    CALL_GL_API(glDeleteQueries, n, ids);
453}
454GLboolean API_ENTRY(glIsQuery)(GLuint id) {
455    CALL_GL_API_RETURN(glIsQuery, id);
456}
457void API_ENTRY(glBeginQuery)(GLenum target, GLuint id) {
458    CALL_GL_API(glBeginQuery, target, id);
459}
460void API_ENTRY(glEndQuery)(GLenum target) {
461    CALL_GL_API(glEndQuery, target);
462}
463void API_ENTRY(glGetQueryiv)(GLenum target, GLenum pname, GLint *params) {
464    CALL_GL_API(glGetQueryiv, target, pname, params);
465}
466void API_ENTRY(glGetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params) {
467    CALL_GL_API(glGetQueryObjectuiv, id, pname, params);
468}
469GLboolean API_ENTRY(glUnmapBuffer)(GLenum target) {
470    CALL_GL_API_RETURN(glUnmapBuffer, target);
471}
472void API_ENTRY(glGetBufferPointerv)(GLenum target, GLenum pname, void **params) {
473    CALL_GL_API(glGetBufferPointerv, target, pname, params);
474}
475void API_ENTRY(glDrawBuffers)(GLsizei n, const GLenum *bufs) {
476    CALL_GL_API(glDrawBuffers, n, bufs);
477}
478void API_ENTRY(glUniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
479    CALL_GL_API(glUniformMatrix2x3fv, location, count, transpose, value);
480}
481void API_ENTRY(glUniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
482    CALL_GL_API(glUniformMatrix3x2fv, location, count, transpose, value);
483}
484void API_ENTRY(glUniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
485    CALL_GL_API(glUniformMatrix2x4fv, location, count, transpose, value);
486}
487void API_ENTRY(glUniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
488    CALL_GL_API(glUniformMatrix4x2fv, location, count, transpose, value);
489}
490void API_ENTRY(glUniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
491    CALL_GL_API(glUniformMatrix3x4fv, location, count, transpose, value);
492}
493void API_ENTRY(glUniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
494    CALL_GL_API(glUniformMatrix4x3fv, location, count, transpose, value);
495}
496void API_ENTRY(glBlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {
497    CALL_GL_API(glBlitFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
498}
499void API_ENTRY(glRenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
500    CALL_GL_API(glRenderbufferStorageMultisample, target, samples, internalformat, width, height);
501}
502void API_ENTRY(glFramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) {
503    CALL_GL_API(glFramebufferTextureLayer, target, attachment, texture, level, layer);
504}
505void * API_ENTRY(glMapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) {
506    CALL_GL_API_RETURN(glMapBufferRange, target, offset, length, access);
507}
508void API_ENTRY(glFlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length) {
509    CALL_GL_API(glFlushMappedBufferRange, target, offset, length);
510}
511void API_ENTRY(glBindVertexArray)(GLuint array) {
512    CALL_GL_API(glBindVertexArray, array);
513}
514void API_ENTRY(glDeleteVertexArrays)(GLsizei n, const GLuint *arrays) {
515    CALL_GL_API(glDeleteVertexArrays, n, arrays);
516}
517void API_ENTRY(glGenVertexArrays)(GLsizei n, GLuint *arrays) {
518    CALL_GL_API(glGenVertexArrays, n, arrays);
519}
520GLboolean API_ENTRY(glIsVertexArray)(GLuint array) {
521    CALL_GL_API_RETURN(glIsVertexArray, array);
522}
523void API_ENTRY(glGetIntegeri_v)(GLenum target, GLuint index, GLint *data) {
524    CALL_GL_API(glGetIntegeri_v, target, index, data);
525}
526void API_ENTRY(glBeginTransformFeedback)(GLenum primitiveMode) {
527    CALL_GL_API(glBeginTransformFeedback, primitiveMode);
528}
529void API_ENTRY(glEndTransformFeedback)(void) {
530    CALL_GL_API(glEndTransformFeedback);
531}
532void API_ENTRY(glBindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) {
533    CALL_GL_API(glBindBufferRange, target, index, buffer, offset, size);
534}
535void API_ENTRY(glBindBufferBase)(GLenum target, GLuint index, GLuint buffer) {
536    CALL_GL_API(glBindBufferBase, target, index, buffer);
537}
538void API_ENTRY(glTransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode) {
539    CALL_GL_API(glTransformFeedbackVaryings, program, count, varyings, bufferMode);
540}
541void API_ENTRY(glGetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) {
542    CALL_GL_API(glGetTransformFeedbackVarying, program, index, bufSize, length, size, type, name);
543}
544void API_ENTRY(glVertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) {
545    CALL_GL_API(glVertexAttribIPointer, index, size, type, stride, pointer);
546}
547void API_ENTRY(glGetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params) {
548    CALL_GL_API(glGetVertexAttribIiv, index, pname, params);
549}
550void API_ENTRY(glGetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params) {
551    CALL_GL_API(glGetVertexAttribIuiv, index, pname, params);
552}
553void API_ENTRY(glVertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w) {
554    CALL_GL_API(glVertexAttribI4i, index, x, y, z, w);
555}
556void API_ENTRY(glVertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) {
557    CALL_GL_API(glVertexAttribI4ui, index, x, y, z, w);
558}
559void API_ENTRY(glVertexAttribI4iv)(GLuint index, const GLint *v) {
560    CALL_GL_API(glVertexAttribI4iv, index, v);
561}
562void API_ENTRY(glVertexAttribI4uiv)(GLuint index, const GLuint *v) {
563    CALL_GL_API(glVertexAttribI4uiv, index, v);
564}
565void API_ENTRY(glGetUniformuiv)(GLuint program, GLint location, GLuint *params) {
566    CALL_GL_API(glGetUniformuiv, program, location, params);
567}
568GLint API_ENTRY(glGetFragDataLocation)(GLuint program, const GLchar *name) {
569    CALL_GL_API_RETURN(glGetFragDataLocation, program, name);
570}
571void API_ENTRY(glUniform1ui)(GLint location, GLuint v0) {
572    CALL_GL_API(glUniform1ui, location, v0);
573}
574void API_ENTRY(glUniform2ui)(GLint location, GLuint v0, GLuint v1) {
575    CALL_GL_API(glUniform2ui, location, v0, v1);
576}
577void API_ENTRY(glUniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2) {
578    CALL_GL_API(glUniform3ui, location, v0, v1, v2);
579}
580void API_ENTRY(glUniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {
581    CALL_GL_API(glUniform4ui, location, v0, v1, v2, v3);
582}
583void API_ENTRY(glUniform1uiv)(GLint location, GLsizei count, const GLuint *value) {
584    CALL_GL_API(glUniform1uiv, location, count, value);
585}
586void API_ENTRY(glUniform2uiv)(GLint location, GLsizei count, const GLuint *value) {
587    CALL_GL_API(glUniform2uiv, location, count, value);
588}
589void API_ENTRY(glUniform3uiv)(GLint location, GLsizei count, const GLuint *value) {
590    CALL_GL_API(glUniform3uiv, location, count, value);
591}
592void API_ENTRY(glUniform4uiv)(GLint location, GLsizei count, const GLuint *value) {
593    CALL_GL_API(glUniform4uiv, location, count, value);
594}
595void API_ENTRY(glClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value) {
596    CALL_GL_API(glClearBufferiv, buffer, drawbuffer, value);
597}
598void API_ENTRY(glClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value) {
599    CALL_GL_API(glClearBufferuiv, buffer, drawbuffer, value);
600}
601void API_ENTRY(glClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value) {
602    CALL_GL_API(glClearBufferfv, buffer, drawbuffer, value);
603}
604void API_ENTRY(glClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) {
605    CALL_GL_API(glClearBufferfi, buffer, drawbuffer, depth, stencil);
606}
607const GLubyte * API_ENTRY(__glGetStringi)(GLenum name, GLuint index) {
608    CALL_GL_API_RETURN(glGetStringi, name, index);
609}
610void API_ENTRY(glCopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) {
611    CALL_GL_API(glCopyBufferSubData, readTarget, writeTarget, readOffset, writeOffset, size);
612}
613void API_ENTRY(glGetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices) {
614    CALL_GL_API(glGetUniformIndices, program, uniformCount, uniformNames, uniformIndices);
615}
616void API_ENTRY(glGetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) {
617    CALL_GL_API(glGetActiveUniformsiv, program, uniformCount, uniformIndices, pname, params);
618}
619GLuint API_ENTRY(glGetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName) {
620    CALL_GL_API_RETURN(glGetUniformBlockIndex, program, uniformBlockName);
621}
622void API_ENTRY(glGetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) {
623    CALL_GL_API(glGetActiveUniformBlockiv, program, uniformBlockIndex, pname, params);
624}
625void API_ENTRY(glGetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) {
626    CALL_GL_API(glGetActiveUniformBlockName, program, uniformBlockIndex, bufSize, length, uniformBlockName);
627}
628void API_ENTRY(glUniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) {
629    CALL_GL_API(glUniformBlockBinding, program, uniformBlockIndex, uniformBlockBinding);
630}
631void API_ENTRY(glDrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) {
632    CALL_GL_API(glDrawArraysInstanced, mode, first, count, instancecount);
633}
634void API_ENTRY(glDrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount) {
635    CALL_GL_API(glDrawElementsInstanced, mode, count, type, indices, instancecount);
636}
637GLsync API_ENTRY(glFenceSync)(GLenum condition, GLbitfield flags) {
638    CALL_GL_API_RETURN(glFenceSync, condition, flags);
639}
640GLboolean API_ENTRY(glIsSync)(GLsync sync) {
641    CALL_GL_API_RETURN(glIsSync, sync);
642}
643void API_ENTRY(glDeleteSync)(GLsync sync) {
644    CALL_GL_API(glDeleteSync, sync);
645}
646GLenum API_ENTRY(glClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) {
647    CALL_GL_API_RETURN(glClientWaitSync, sync, flags, timeout);
648}
649void API_ENTRY(glWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) {
650    CALL_GL_API(glWaitSync, sync, flags, timeout);
651}
652void API_ENTRY(__glGetInteger64v)(GLenum pname, GLint64 *data) {
653    CALL_GL_API(glGetInteger64v, pname, data);
654}
655void API_ENTRY(glGetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) {
656    CALL_GL_API(glGetSynciv, sync, pname, bufSize, length, values);
657}
658void API_ENTRY(glGetInteger64i_v)(GLenum target, GLuint index, GLint64 *data) {
659    CALL_GL_API(glGetInteger64i_v, target, index, data);
660}
661void API_ENTRY(glGetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params) {
662    CALL_GL_API(glGetBufferParameteri64v, target, pname, params);
663}
664void API_ENTRY(glGenSamplers)(GLsizei count, GLuint *samplers) {
665    CALL_GL_API(glGenSamplers, count, samplers);
666}
667void API_ENTRY(glDeleteSamplers)(GLsizei count, const GLuint *samplers) {
668    CALL_GL_API(glDeleteSamplers, count, samplers);
669}
670GLboolean API_ENTRY(glIsSampler)(GLuint sampler) {
671    CALL_GL_API_RETURN(glIsSampler, sampler);
672}
673void API_ENTRY(glBindSampler)(GLuint unit, GLuint sampler) {
674    CALL_GL_API(glBindSampler, unit, sampler);
675}
676void API_ENTRY(glSamplerParameteri)(GLuint sampler, GLenum pname, GLint param) {
677    CALL_GL_API(glSamplerParameteri, sampler, pname, param);
678}
679void API_ENTRY(glSamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *param) {
680    CALL_GL_API(glSamplerParameteriv, sampler, pname, param);
681}
682void API_ENTRY(glSamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param) {
683    CALL_GL_API(glSamplerParameterf, sampler, pname, param);
684}
685void API_ENTRY(glSamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *param) {
686    CALL_GL_API(glSamplerParameterfv, sampler, pname, param);
687}
688void API_ENTRY(glGetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint *params) {
689    CALL_GL_API(glGetSamplerParameteriv, sampler, pname, params);
690}
691void API_ENTRY(glGetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat *params) {
692    CALL_GL_API(glGetSamplerParameterfv, sampler, pname, params);
693}
694void API_ENTRY(glVertexAttribDivisor)(GLuint index, GLuint divisor) {
695    CALL_GL_API(glVertexAttribDivisor, index, divisor);
696}
697void API_ENTRY(glBindTransformFeedback)(GLenum target, GLuint id) {
698    CALL_GL_API(glBindTransformFeedback, target, id);
699}
700void API_ENTRY(glDeleteTransformFeedbacks)(GLsizei n, const GLuint *ids) {
701    CALL_GL_API(glDeleteTransformFeedbacks, n, ids);
702}
703void API_ENTRY(glGenTransformFeedbacks)(GLsizei n, GLuint *ids) {
704    CALL_GL_API(glGenTransformFeedbacks, n, ids);
705}
706GLboolean API_ENTRY(glIsTransformFeedback)(GLuint id) {
707    CALL_GL_API_RETURN(glIsTransformFeedback, id);
708}
709void API_ENTRY(glPauseTransformFeedback)(void) {
710    CALL_GL_API(glPauseTransformFeedback);
711}
712void API_ENTRY(glResumeTransformFeedback)(void) {
713    CALL_GL_API(glResumeTransformFeedback);
714}
715void API_ENTRY(glGetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) {
716    CALL_GL_API(glGetProgramBinary, program, bufSize, length, binaryFormat, binary);
717}
718void API_ENTRY(glProgramBinary)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length) {
719    CALL_GL_API(glProgramBinary, program, binaryFormat, binary, length);
720}
721void API_ENTRY(glProgramParameteri)(GLuint program, GLenum pname, GLint value) {
722    CALL_GL_API(glProgramParameteri, program, pname, value);
723}
724void API_ENTRY(glInvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments) {
725    CALL_GL_API(glInvalidateFramebuffer, target, numAttachments, attachments);
726}
727void API_ENTRY(glInvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) {
728    CALL_GL_API(glInvalidateSubFramebuffer, target, numAttachments, attachments, x, y, width, height);
729}
730void API_ENTRY(glTexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) {
731    CALL_GL_API(glTexStorage2D, target, levels, internalformat, width, height);
732}
733void API_ENTRY(glTexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) {
734    CALL_GL_API(glTexStorage3D, target, levels, internalformat, width, height, depth);
735}
736void API_ENTRY(glGetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) {
737    CALL_GL_API(glGetInternalformativ, target, internalformat, pname, bufSize, params);
738}
739void API_ENTRY(glDispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) {
740    CALL_GL_API(glDispatchCompute, num_groups_x, num_groups_y, num_groups_z);
741}
742void API_ENTRY(glDispatchComputeIndirect)(GLintptr indirect) {
743    CALL_GL_API(glDispatchComputeIndirect, indirect);
744}
745void API_ENTRY(glDrawArraysIndirect)(GLenum mode, const void *indirect) {
746    CALL_GL_API(glDrawArraysIndirect, mode, indirect);
747}
748void API_ENTRY(glDrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect) {
749    CALL_GL_API(glDrawElementsIndirect, mode, type, indirect);
750}
751void API_ENTRY(glFramebufferParameteri)(GLenum target, GLenum pname, GLint param) {
752    CALL_GL_API(glFramebufferParameteri, target, pname, param);
753}
754void API_ENTRY(glGetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params) {
755    CALL_GL_API(glGetFramebufferParameteriv, target, pname, params);
756}
757void API_ENTRY(glGetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint *params) {
758    CALL_GL_API(glGetProgramInterfaceiv, program, programInterface, pname, params);
759}
760GLuint API_ENTRY(glGetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar *name) {
761    CALL_GL_API_RETURN(glGetProgramResourceIndex, program, programInterface, name);
762}
763void API_ENTRY(glGetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) {
764    CALL_GL_API(glGetProgramResourceName, program, programInterface, index, bufSize, length, name);
765}
766void API_ENTRY(glGetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) {
767    CALL_GL_API(glGetProgramResourceiv, program, programInterface, index, propCount, props, bufSize, length, params);
768}
769GLint API_ENTRY(glGetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar *name) {
770    CALL_GL_API_RETURN(glGetProgramResourceLocation, program, programInterface, name);
771}
772void API_ENTRY(glUseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program) {
773    CALL_GL_API(glUseProgramStages, pipeline, stages, program);
774}
775void API_ENTRY(glActiveShaderProgram)(GLuint pipeline, GLuint program) {
776    CALL_GL_API(glActiveShaderProgram, pipeline, program);
777}
778GLuint API_ENTRY(glCreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const*strings) {
779    CALL_GL_API_RETURN(glCreateShaderProgramv, type, count, strings);
780}
781void API_ENTRY(glBindProgramPipeline)(GLuint pipeline) {
782    CALL_GL_API(glBindProgramPipeline, pipeline);
783}
784void API_ENTRY(glDeleteProgramPipelines)(GLsizei n, const GLuint *pipelines) {
785    CALL_GL_API(glDeleteProgramPipelines, n, pipelines);
786}
787void API_ENTRY(glGenProgramPipelines)(GLsizei n, GLuint *pipelines) {
788    CALL_GL_API(glGenProgramPipelines, n, pipelines);
789}
790GLboolean API_ENTRY(glIsProgramPipeline)(GLuint pipeline) {
791    CALL_GL_API_RETURN(glIsProgramPipeline, pipeline);
792}
793void API_ENTRY(glGetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint *params) {
794    CALL_GL_API(glGetProgramPipelineiv, pipeline, pname, params);
795}
796void API_ENTRY(glProgramUniform1i)(GLuint program, GLint location, GLint v0) {
797    CALL_GL_API(glProgramUniform1i, program, location, v0);
798}
799void API_ENTRY(glProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1) {
800    CALL_GL_API(glProgramUniform2i, program, location, v0, v1);
801}
802void API_ENTRY(glProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) {
803    CALL_GL_API(glProgramUniform3i, program, location, v0, v1, v2);
804}
805void API_ENTRY(glProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
806    CALL_GL_API(glProgramUniform4i, program, location, v0, v1, v2, v3);
807}
808void API_ENTRY(glProgramUniform1ui)(GLuint program, GLint location, GLuint v0) {
809    CALL_GL_API(glProgramUniform1ui, program, location, v0);
810}
811void API_ENTRY(glProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1) {
812    CALL_GL_API(glProgramUniform2ui, program, location, v0, v1);
813}
814void API_ENTRY(glProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) {
815    CALL_GL_API(glProgramUniform3ui, program, location, v0, v1, v2);
816}
817void API_ENTRY(glProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {
818    CALL_GL_API(glProgramUniform4ui, program, location, v0, v1, v2, v3);
819}
820void API_ENTRY(glProgramUniform1f)(GLuint program, GLint location, GLfloat v0) {
821    CALL_GL_API(glProgramUniform1f, program, location, v0);
822}
823void API_ENTRY(glProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1) {
824    CALL_GL_API(glProgramUniform2f, program, location, v0, v1);
825}
826void API_ENTRY(glProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
827    CALL_GL_API(glProgramUniform3f, program, location, v0, v1, v2);
828}
829void API_ENTRY(glProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
830    CALL_GL_API(glProgramUniform4f, program, location, v0, v1, v2, v3);
831}
832void API_ENTRY(glProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint *value) {
833    CALL_GL_API(glProgramUniform1iv, program, location, count, value);
834}
835void API_ENTRY(glProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint *value) {
836    CALL_GL_API(glProgramUniform2iv, program, location, count, value);
837}
838void API_ENTRY(glProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint *value) {
839    CALL_GL_API(glProgramUniform3iv, program, location, count, value);
840}
841void API_ENTRY(glProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint *value) {
842    CALL_GL_API(glProgramUniform4iv, program, location, count, value);
843}
844void API_ENTRY(glProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value) {
845    CALL_GL_API(glProgramUniform1uiv, program, location, count, value);
846}
847void API_ENTRY(glProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value) {
848    CALL_GL_API(glProgramUniform2uiv, program, location, count, value);
849}
850void API_ENTRY(glProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value) {
851    CALL_GL_API(glProgramUniform3uiv, program, location, count, value);
852}
853void API_ENTRY(glProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value) {
854    CALL_GL_API(glProgramUniform4uiv, program, location, count, value);
855}
856void API_ENTRY(glProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
857    CALL_GL_API(glProgramUniform1fv, program, location, count, value);
858}
859void API_ENTRY(glProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
860    CALL_GL_API(glProgramUniform2fv, program, location, count, value);
861}
862void API_ENTRY(glProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
863    CALL_GL_API(glProgramUniform3fv, program, location, count, value);
864}
865void API_ENTRY(glProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
866    CALL_GL_API(glProgramUniform4fv, program, location, count, value);
867}
868void API_ENTRY(glProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
869    CALL_GL_API(glProgramUniformMatrix2fv, program, location, count, transpose, value);
870}
871void API_ENTRY(glProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
872    CALL_GL_API(glProgramUniformMatrix3fv, program, location, count, transpose, value);
873}
874void API_ENTRY(glProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
875    CALL_GL_API(glProgramUniformMatrix4fv, program, location, count, transpose, value);
876}
877void API_ENTRY(glProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
878    CALL_GL_API(glProgramUniformMatrix2x3fv, program, location, count, transpose, value);
879}
880void API_ENTRY(glProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
881    CALL_GL_API(glProgramUniformMatrix3x2fv, program, location, count, transpose, value);
882}
883void API_ENTRY(glProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
884    CALL_GL_API(glProgramUniformMatrix2x4fv, program, location, count, transpose, value);
885}
886void API_ENTRY(glProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
887    CALL_GL_API(glProgramUniformMatrix4x2fv, program, location, count, transpose, value);
888}
889void API_ENTRY(glProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
890    CALL_GL_API(glProgramUniformMatrix3x4fv, program, location, count, transpose, value);
891}
892void API_ENTRY(glProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
893    CALL_GL_API(glProgramUniformMatrix4x3fv, program, location, count, transpose, value);
894}
895void API_ENTRY(glValidateProgramPipeline)(GLuint pipeline) {
896    CALL_GL_API(glValidateProgramPipeline, pipeline);
897}
898void API_ENTRY(glGetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) {
899    CALL_GL_API(glGetProgramPipelineInfoLog, pipeline, bufSize, length, infoLog);
900}
901void API_ENTRY(glBindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) {
902    CALL_GL_API(glBindImageTexture, unit, texture, level, layered, layer, access, format);
903}
904void API_ENTRY(glGetBooleani_v)(GLenum target, GLuint index, GLboolean *data) {
905    CALL_GL_API(glGetBooleani_v, target, index, data);
906}
907void API_ENTRY(glMemoryBarrier)(GLbitfield barriers) {
908    CALL_GL_API(glMemoryBarrier, barriers);
909}
910void API_ENTRY(glMemoryBarrierByRegion)(GLbitfield barriers) {
911    CALL_GL_API(glMemoryBarrierByRegion, barriers);
912}
913void API_ENTRY(glTexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) {
914    CALL_GL_API(glTexStorage2DMultisample, target, samples, internalformat, width, height, fixedsamplelocations);
915}
916void API_ENTRY(glGetMultisamplefv)(GLenum pname, GLuint index, GLfloat *val) {
917    CALL_GL_API(glGetMultisamplefv, pname, index, val);
918}
919void API_ENTRY(glSampleMaski)(GLuint maskNumber, GLbitfield mask) {
920    CALL_GL_API(glSampleMaski, maskNumber, mask);
921}
922void API_ENTRY(glGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params) {
923    CALL_GL_API(glGetTexLevelParameteriv, target, level, pname, params);
924}
925void API_ENTRY(glGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params) {
926    CALL_GL_API(glGetTexLevelParameterfv, target, level, pname, params);
927}
928void API_ENTRY(glBindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) {
929    CALL_GL_API(glBindVertexBuffer, bindingindex, buffer, offset, stride);
930}
931void API_ENTRY(glVertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) {
932    CALL_GL_API(glVertexAttribFormat, attribindex, size, type, normalized, relativeoffset);
933}
934void API_ENTRY(glVertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) {
935    CALL_GL_API(glVertexAttribIFormat, attribindex, size, type, relativeoffset);
936}
937void API_ENTRY(glVertexAttribBinding)(GLuint attribindex, GLuint bindingindex) {
938    CALL_GL_API(glVertexAttribBinding, attribindex, bindingindex);
939}
940void API_ENTRY(glVertexBindingDivisor)(GLuint bindingindex, GLuint divisor) {
941    CALL_GL_API(glVertexBindingDivisor, bindingindex, divisor);
942}
943void API_ENTRY(glBlendBarrier)(void) {
944    CALL_GL_API(glBlendBarrier);
945}
946void API_ENTRY(glCopyImageSubData)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) {
947    CALL_GL_API(glCopyImageSubData, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
948}
949void API_ENTRY(glDebugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) {
950    CALL_GL_API(glDebugMessageControl, source, type, severity, count, ids, enabled);
951}
952void API_ENTRY(glDebugMessageInsert)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf) {
953    CALL_GL_API(glDebugMessageInsert, source, type, id, severity, length, buf);
954}
955void API_ENTRY(glDebugMessageCallback)(GLDEBUGPROC callback, const void *userParam) {
956    CALL_GL_API(glDebugMessageCallback, callback, userParam);
957}
958GLuint API_ENTRY(glGetDebugMessageLog)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog) {
959    CALL_GL_API_RETURN(glGetDebugMessageLog, count, bufSize, sources, types, ids, severities, lengths, messageLog);
960}
961void API_ENTRY(glPushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar *message) {
962    CALL_GL_API(glPushDebugGroup, source, id, length, message);
963}
964void API_ENTRY(glPopDebugGroup)(void) {
965    CALL_GL_API(glPopDebugGroup);
966}
967void API_ENTRY(glObjectLabel)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label) {
968    CALL_GL_API(glObjectLabel, identifier, name, length, label);
969}
970void API_ENTRY(glGetObjectLabel)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label) {
971    CALL_GL_API(glGetObjectLabel, identifier, name, bufSize, length, label);
972}
973void API_ENTRY(glObjectPtrLabel)(const void *ptr, GLsizei length, const GLchar *label) {
974    CALL_GL_API(glObjectPtrLabel, ptr, length, label);
975}
976void API_ENTRY(glGetObjectPtrLabel)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label) {
977    CALL_GL_API(glGetObjectPtrLabel, ptr, bufSize, length, label);
978}
979void API_ENTRY(glGetPointerv)(GLenum pname, void **params) {
980    CALL_GL_API(glGetPointerv, pname, params);
981}
982void API_ENTRY(glEnablei)(GLenum target, GLuint index) {
983    CALL_GL_API(glEnablei, target, index);
984}
985void API_ENTRY(glDisablei)(GLenum target, GLuint index) {
986    CALL_GL_API(glDisablei, target, index);
987}
988void API_ENTRY(glBlendEquationi)(GLuint buf, GLenum mode) {
989    CALL_GL_API(glBlendEquationi, buf, mode);
990}
991void API_ENTRY(glBlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha) {
992    CALL_GL_API(glBlendEquationSeparatei, buf, modeRGB, modeAlpha);
993}
994void API_ENTRY(glBlendFunci)(GLuint buf, GLenum src, GLenum dst) {
995    CALL_GL_API(glBlendFunci, buf, src, dst);
996}
997void API_ENTRY(glBlendFuncSeparatei)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
998    CALL_GL_API(glBlendFuncSeparatei, buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
999}
1000void API_ENTRY(glColorMaski)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) {
1001    CALL_GL_API(glColorMaski, index, r, g, b, a);
1002}
1003GLboolean API_ENTRY(glIsEnabledi)(GLenum target, GLuint index) {
1004    CALL_GL_API_RETURN(glIsEnabledi, target, index);
1005}
1006void API_ENTRY(glDrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) {
1007    CALL_GL_API(glDrawElementsBaseVertex, mode, count, type, indices, basevertex);
1008}
1009void API_ENTRY(glDrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) {
1010    CALL_GL_API(glDrawRangeElementsBaseVertex, mode, start, end, count, type, indices, basevertex);
1011}
1012void API_ENTRY(glDrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) {
1013    CALL_GL_API(glDrawElementsInstancedBaseVertex, mode, count, type, indices, instancecount, basevertex);
1014}
1015void API_ENTRY(glFramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level) {
1016    CALL_GL_API(glFramebufferTexture, target, attachment, texture, level);
1017}
1018void API_ENTRY(glPrimitiveBoundingBox)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) {
1019    CALL_GL_API(glPrimitiveBoundingBox, minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
1020}
1021GLenum API_ENTRY(glGetGraphicsResetStatus)(void) {
1022    CALL_GL_API_RETURN(glGetGraphicsResetStatus);
1023}
1024void API_ENTRY(glReadnPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) {
1025    CALL_GL_API(glReadnPixels, x, y, width, height, format, type, bufSize, data);
1026}
1027void API_ENTRY(glGetnUniformfv)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params) {
1028    CALL_GL_API(glGetnUniformfv, program, location, bufSize, params);
1029}
1030void API_ENTRY(glGetnUniformiv)(GLuint program, GLint location, GLsizei bufSize, GLint *params) {
1031    CALL_GL_API(glGetnUniformiv, program, location, bufSize, params);
1032}
1033void API_ENTRY(glGetnUniformuiv)(GLuint program, GLint location, GLsizei bufSize, GLuint *params) {
1034    CALL_GL_API(glGetnUniformuiv, program, location, bufSize, params);
1035}
1036void API_ENTRY(glMinSampleShading)(GLfloat value) {
1037    CALL_GL_API(glMinSampleShading, value);
1038}
1039void API_ENTRY(glPatchParameteri)(GLenum pname, GLint value) {
1040    CALL_GL_API(glPatchParameteri, pname, value);
1041}
1042void API_ENTRY(glTexParameterIiv)(GLenum target, GLenum pname, const GLint *params) {
1043    CALL_GL_API(glTexParameterIiv, target, pname, params);
1044}
1045void API_ENTRY(glTexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params) {
1046    CALL_GL_API(glTexParameterIuiv, target, pname, params);
1047}
1048void API_ENTRY(glGetTexParameterIiv)(GLenum target, GLenum pname, GLint *params) {
1049    CALL_GL_API(glGetTexParameterIiv, target, pname, params);
1050}
1051void API_ENTRY(glGetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params) {
1052    CALL_GL_API(glGetTexParameterIuiv, target, pname, params);
1053}
1054void API_ENTRY(glSamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint *param) {
1055    CALL_GL_API(glSamplerParameterIiv, sampler, pname, param);
1056}
1057void API_ENTRY(glSamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint *param) {
1058    CALL_GL_API(glSamplerParameterIuiv, sampler, pname, param);
1059}
1060void API_ENTRY(glGetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint *params) {
1061    CALL_GL_API(glGetSamplerParameterIiv, sampler, pname, params);
1062}
1063void API_ENTRY(glGetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint *params) {
1064    CALL_GL_API(glGetSamplerParameterIuiv, sampler, pname, params);
1065}
1066void API_ENTRY(glTexBuffer)(GLenum target, GLenum internalformat, GLuint buffer) {
1067    CALL_GL_API(glTexBuffer, target, internalformat, buffer);
1068}
1069void API_ENTRY(glTexBufferRange)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) {
1070    CALL_GL_API(glTexBufferRange, target, internalformat, buffer, offset, size);
1071}
1072void API_ENTRY(glTexStorage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) {
1073    CALL_GL_API(glTexStorage3DMultisample, target, samples, internalformat, width, height, depth, fixedsamplelocations);
1074}
1075