1 // Generated Code - DO NOT EDIT !!
2 // generated by 'emugen'
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include "gl2_client_context.h"
6 
7 extern "C" {
8 	void glActiveTexture(GLenum texture);
9 	void glAttachShader(GLuint program, GLuint shader);
10 	void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name);
11 	void glBindBuffer(GLenum target, GLuint buffer);
12 	void glBindFramebuffer(GLenum target, GLuint framebuffer);
13 	void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
14 	void glBindTexture(GLenum target, GLuint texture);
15 	void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
16 	void glBlendEquation(GLenum mode);
17 	void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
18 	void glBlendFunc(GLenum sfactor, GLenum dfactor);
19 	void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
20 	void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
21 	void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
22 	GLenum glCheckFramebufferStatus(GLenum target);
23 	void glClear(GLbitfield mask);
24 	void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
25 	void glClearDepthf(GLclampf depth);
26 	void glClearStencil(GLint s);
27 	void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
28 	void glCompileShader(GLuint shader);
29 	void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
30 	void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
31 	void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
32 	void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
33 	GLuint glCreateProgram();
34 	GLuint glCreateShader(GLenum type);
35 	void glCullFace(GLenum mode);
36 	void glDeleteBuffers(GLsizei n, const GLuint* buffers);
37 	void glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers);
38 	void glDeleteProgram(GLuint program);
39 	void glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers);
40 	void glDeleteShader(GLuint shader);
41 	void glDeleteTextures(GLsizei n, const GLuint* textures);
42 	void glDepthFunc(GLenum func);
43 	void glDepthMask(GLboolean flag);
44 	void glDepthRangef(GLclampf zNear, GLclampf zFar);
45 	void glDetachShader(GLuint program, GLuint shader);
46 	void glDisable(GLenum cap);
47 	void glDisableVertexAttribArray(GLuint index);
48 	void glDrawArrays(GLenum mode, GLint first, GLsizei count);
49 	void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
50 	void glEnable(GLenum cap);
51 	void glEnableVertexAttribArray(GLuint index);
52 	void glFinish();
53 	void glFlush();
54 	void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
55 	void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
56 	void glFrontFace(GLenum mode);
57 	void glGenBuffers(GLsizei n, GLuint* buffers);
58 	void glGenerateMipmap(GLenum target);
59 	void glGenFramebuffers(GLsizei n, GLuint* framebuffers);
60 	void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers);
61 	void glGenTextures(GLsizei n, GLuint* textures);
62 	void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
63 	void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
64 	void glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
65 	int glGetAttribLocation(GLuint program, const GLchar* name);
66 	void glGetBooleanv(GLenum pname, GLboolean* params);
67 	void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
68 	GLenum glGetError();
69 	void glGetFloatv(GLenum pname, GLfloat* params);
70 	void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params);
71 	void glGetIntegerv(GLenum pname, GLint* params);
72 	void glGetProgramiv(GLuint program, GLenum pname, GLint* params);
73 	void glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
74 	void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params);
75 	void glGetShaderiv(GLuint shader, GLenum pname, GLint* params);
76 	void glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
77 	void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
78 	void glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
79 	const GLubyte* glGetString(GLenum name);
80 	void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);
81 	void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params);
82 	void glGetUniformfv(GLuint program, GLint location, GLfloat* params);
83 	void glGetUniformiv(GLuint program, GLint location, GLint* params);
84 	int glGetUniformLocation(GLuint program, const GLchar* name);
85 	void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
86 	void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
87 	void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer);
88 	void glHint(GLenum target, GLenum mode);
89 	GLboolean glIsBuffer(GLuint buffer);
90 	GLboolean glIsEnabled(GLenum cap);
91 	GLboolean glIsFramebuffer(GLuint framebuffer);
92 	GLboolean glIsProgram(GLuint program);
93 	GLboolean glIsRenderbuffer(GLuint renderbuffer);
94 	GLboolean glIsShader(GLuint shader);
95 	GLboolean glIsTexture(GLuint texture);
96 	void glLineWidth(GLfloat width);
97 	void glLinkProgram(GLuint program);
98 	void glPixelStorei(GLenum pname, GLint param);
99 	void glPolygonOffset(GLfloat factor, GLfloat units);
100 	void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
101 	void glReleaseShaderCompiler();
102 	void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
103 	void glSampleCoverage(GLclampf value, GLboolean invert);
104 	void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
105 	void glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
106 	void glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
107 	void glStencilFunc(GLenum func, GLint ref, GLuint mask);
108 	void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
109 	void glStencilMask(GLuint mask);
110 	void glStencilMaskSeparate(GLenum face, GLuint mask);
111 	void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
112 	void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
113 	void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
114 	void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
115 	void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params);
116 	void glTexParameteri(GLenum target, GLenum pname, GLint param);
117 	void glTexParameteriv(GLenum target, GLenum pname, const GLint* params);
118 	void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
119 	void glUniform1f(GLint location, GLfloat x);
120 	void glUniform1fv(GLint location, GLsizei count, const GLfloat* v);
121 	void glUniform1i(GLint location, GLint x);
122 	void glUniform1iv(GLint location, GLsizei count, const GLint* v);
123 	void glUniform2f(GLint location, GLfloat x, GLfloat y);
124 	void glUniform2fv(GLint location, GLsizei count, const GLfloat* v);
125 	void glUniform2i(GLint location, GLint x, GLint y);
126 	void glUniform2iv(GLint location, GLsizei count, const GLint* v);
127 	void glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z);
128 	void glUniform3fv(GLint location, GLsizei count, const GLfloat* v);
129 	void glUniform3i(GLint location, GLint x, GLint y, GLint z);
130 	void glUniform3iv(GLint location, GLsizei count, const GLint* v);
131 	void glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
132 	void glUniform4fv(GLint location, GLsizei count, const GLfloat* v);
133 	void glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w);
134 	void glUniform4iv(GLint location, GLsizei count, const GLint* v);
135 	void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
136 	void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
137 	void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
138 	void glUseProgram(GLuint program);
139 	void glValidateProgram(GLuint program);
140 	void glVertexAttrib1f(GLuint indx, GLfloat x);
141 	void glVertexAttrib1fv(GLuint indx, const GLfloat* values);
142 	void glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
143 	void glVertexAttrib2fv(GLuint indx, const GLfloat* values);
144 	void glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
145 	void glVertexAttrib3fv(GLuint indx, const GLfloat* values);
146 	void glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
147 	void glVertexAttrib4fv(GLuint indx, const GLfloat* values);
148 	void glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
149 	void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
150 	void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
151 	void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
152 	void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary);
153 	void glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLint length);
154 	void* glMapBufferOES(GLenum target, GLenum access);
155 	GLboolean glUnmapBufferOES(GLenum target);
156 	void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
157 	void glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
158 	void glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
159 	void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
160 	void glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
161 	void glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
162 	void glBindVertexArrayOES(GLuint array);
163 	void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays);
164 	void glGenVertexArraysOES(GLsizei n, GLuint* arrays);
165 	GLboolean glIsVertexArrayOES(GLuint array);
166 	void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments);
167 	void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
168 	void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount);
169 	void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups);
170 	void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters);
171 	void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString);
172 	void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString);
173 	void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid* data);
174 	void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors);
175 	void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors);
176 	void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* countersList);
177 	void glBeginPerfMonitorAMD(GLuint monitor);
178 	void glEndPerfMonitorAMD(GLuint monitor);
179 	void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten);
180 	void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
181 	void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
182 	void glDeleteFencesNV(GLsizei n, const GLuint* fences);
183 	void glGenFencesNV(GLsizei n, GLuint* fences);
184 	GLboolean glIsFenceNV(GLuint fence);
185 	GLboolean glTestFenceNV(GLuint fence);
186 	void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params);
187 	void glFinishFenceNV(GLuint fence);
188 	void glSetFenceNV(GLuint fence, GLenum condition);
189 	void glCoverageMaskNV(GLboolean mask);
190 	void glCoverageOperationNV(GLenum operation);
191 	void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls);
192 	void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString);
193 	void glEnableDriverControlQCOM(GLuint driverControl);
194 	void glDisableDriverControlQCOM(GLuint driverControl);
195 	void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures);
196 	void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers);
197 	void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers);
198 	void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers);
199 	void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params);
200 	void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);
201 	void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels);
202 	void glExtGetBufferPointervQCOM(GLenum target, GLvoidptr* params);
203 	void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders);
204 	void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms);
205 	GLboolean glExtIsProgramBinaryQCOM(GLuint program);
206 	void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length);
207 	void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
208 	void glEndTilingQCOM(GLbitfield preserveMask);
209 	void glVertexAttribPointerData(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, void* data, GLuint datalen);
210 	void glVertexAttribPointerOffset(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint offset);
211 	void glDrawElementsOffset(GLenum mode, GLsizei count, GLenum type, GLuint offset);
212 	void glDrawElementsData(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen);
213 	void glGetCompressedTextureFormats(int count, GLint* formats);
214 	void glShaderString(GLuint shader, const GLchar* string, GLsizei len);
215 	int glFinishRoundTrip();
216 	void glGenVertexArrays(GLsizei n, GLuint* arrays);
217 	void glBindVertexArray(GLuint array);
218 	void glDeleteVertexArrays(GLsizei n, const GLuint* arrays);
219 	GLboolean glIsVertexArray(GLuint array);
220 	void* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
221 	GLboolean glUnmapBuffer(GLenum target);
222 	void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
223 	void glMapBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* mapped);
224 	void glUnmapBufferAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer, GLboolean* out_res);
225 	void glFlushMappedBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer);
226 	void glReadPixelsOffsetAEMU(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset);
227 	void glCompressedTexImage2DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLuint offset);
228 	void glCompressedTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLuint offset);
229 	void glTexImage2DOffsetAEMU(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLuint offset);
230 	void glTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset);
231 	void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
232 	void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
233 	void glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);
234 	void glClearBufferiv(GLenum buffer, GLint drawBuffer, const GLint* value);
235 	void glClearBufferuiv(GLenum buffer, GLint drawBuffer, const GLuint* value);
236 	void glClearBufferfv(GLenum buffer, GLint drawBuffer, const GLfloat* value);
237 	void glClearBufferfi(GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil);
238 	void glGetBufferParameteri64v(GLenum target, GLenum value, GLint64* data);
239 	void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params);
240 	void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
241 	GLuint glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName);
242 	void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices);
243 	void glGetUniformIndicesAEMU(GLuint program, GLsizei uniformCount, const GLchar* packedUniformNames, GLsizei packedLen, GLuint* uniformIndices);
244 	void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
245 	void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
246 	void glUniform1ui(GLint location, GLuint v0);
247 	void glUniform2ui(GLint location, GLuint v0, GLuint v1);
248 	void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
249 	void glUniform4ui(GLint location, GLint v0, GLuint v1, GLuint v2, GLuint v3);
250 	void glUniform1uiv(GLint location, GLsizei count, const GLuint* value);
251 	void glUniform2uiv(GLint location, GLsizei count, const GLuint* value);
252 	void glUniform3uiv(GLint location, GLsizei count, const GLuint* value);
253 	void glUniform4uiv(GLint location, GLsizei count, const GLuint* value);
254 	void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
255 	void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
256 	void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
257 	void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
258 	void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
259 	void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
260 	void glGetUniformuiv(GLuint program, GLint location, GLuint* params);
261 	void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
262 	void glVertexAttribI4i(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3);
263 	void glVertexAttribI4ui(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
264 	void glVertexAttribI4iv(GLuint index, const GLint* v);
265 	void glVertexAttribI4uiv(GLuint index, const GLuint* v);
266 	void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
267 	void glVertexAttribIPointerOffsetAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, GLuint offset);
268 	void glVertexAttribIPointerDataAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
269 	void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params);
270 	void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params);
271 	void glVertexAttribDivisor(GLuint index, GLuint divisor);
272 	void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
273 	void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
274 	void glDrawElementsInstancedDataAEMU(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLsizei datalen);
275 	void glDrawElementsInstancedOffsetAEMU(GLenum mode, GLsizei count, GLenum type, GLuint offset, GLsizei primcount);
276 	void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
277 	void glDrawRangeElementsDataAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices, GLsizei datalen);
278 	void glDrawRangeElementsOffsetAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLuint offset);
279 	GLsync glFenceSync(GLenum condition, GLbitfield flags);
280 	GLenum glClientWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout);
281 	void glWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout);
282 	void glDeleteSync(GLsync to_delete);
283 	GLboolean glIsSync(GLsync sync);
284 	void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
285 	uint64_t glFenceSyncAEMU(GLenum condition, GLbitfield flags);
286 	GLenum glClientWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout);
287 	void glWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout);
288 	void glDeleteSyncAEMU(uint64_t to_delete);
289 	GLboolean glIsSyncAEMU(uint64_t sync);
290 	void glGetSyncivAEMU(uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
291 	void glDrawBuffers(GLsizei n, const GLenum* bufs);
292 	void glReadBuffer(GLenum src);
293 	void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
294 	void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments);
295 	void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
296 	void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
297 	void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
298 	void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
299 	void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);
300 	void glBeginTransformFeedback(GLenum primitiveMode);
301 	void glEndTransformFeedback();
302 	void glGenTransformFeedbacks(GLsizei n, GLuint* ids);
303 	void glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids);
304 	void glBindTransformFeedback(GLenum target, GLuint id);
305 	void glPauseTransformFeedback();
306 	void glResumeTransformFeedback();
307 	GLboolean glIsTransformFeedback(GLuint id);
308 	void glTransformFeedbackVaryings(GLuint program, GLsizei count, const char** varyings, GLenum bufferMode);
309 	void glTransformFeedbackVaryingsAEMU(GLuint program, GLsizei count, const char* packedVaryings, GLuint packedVaryingsLen, GLenum bufferMode);
310 	void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, char* name);
311 	void glGenSamplers(GLsizei n, GLuint* samplers);
312 	void glDeleteSamplers(GLsizei n, const GLuint* samplers);
313 	void glBindSampler(GLuint unit, GLuint sampler);
314 	void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
315 	void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
316 	void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* params);
317 	void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* params);
318 	void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params);
319 	void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params);
320 	GLboolean glIsSampler(GLuint sampler);
321 	void glGenQueries(GLsizei n, GLuint* queries);
322 	void glDeleteQueries(GLsizei n, const GLuint* queries);
323 	void glBeginQuery(GLenum target, GLuint query);
324 	void glEndQuery(GLenum target);
325 	void glGetQueryiv(GLenum target, GLenum pname, GLint* params);
326 	void glGetQueryObjectuiv(GLuint query, GLenum pname, GLuint* params);
327 	GLboolean glIsQuery(GLuint query);
328 	void glProgramParameteri(GLuint program, GLenum pname, GLint value);
329 	void glProgramBinary(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length);
330 	void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary);
331 	GLint glGetFragDataLocation(GLuint program, const char* name);
332 	void glGetInteger64v(GLenum pname, GLint64* data);
333 	void glGetIntegeri_v(GLenum target, GLuint index, GLint* data);
334 	void glGetInteger64i_v(GLenum target, GLuint index, GLint64* data);
335 	void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data);
336 	void glTexImage3DOffsetAEMU(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLuint offset);
337 	void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
338 	void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* data);
339 	void glTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLuint offset);
340 	void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
341 	void glCompressedTexImage3DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLuint offset);
342 	void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
343 	void glCompressedTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLuint data);
344 	void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
345 	const GLubyte* glGetStringi(GLenum name, GLuint index);
346 	void glGetBooleani_v(GLenum target, GLuint index, GLboolean* data);
347 	void glMemoryBarrier(GLbitfield barriers);
348 	void glMemoryBarrierByRegion(GLbitfield barriers);
349 	void glGenProgramPipelines(GLsizei n, GLuint* pipelines);
350 	void glDeleteProgramPipelines(GLsizei n, const GLuint* pipelines);
351 	void glBindProgramPipeline(GLuint pipeline);
352 	void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params);
353 	void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
354 	void glValidateProgramPipeline(GLuint pipeline);
355 	GLboolean glIsProgramPipeline(GLuint pipeline);
356 	void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
357 	void glActiveShaderProgram(GLuint pipeline, GLuint program);
358 	GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const char** strings);
359 	GLuint glCreateShaderProgramvAEMU(GLenum type, GLsizei count, const char* packedStrings, GLuint packedLen);
360 	void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
361 	void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
362 	void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
363 	void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
364 	void glProgramUniform1i(GLuint program, GLint location, GLint v0);
365 	void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
366 	void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
367 	void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
368 	void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
369 	void glProgramUniform2ui(GLuint program, GLint location, GLint v0, GLuint v1);
370 	void glProgramUniform3ui(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2);
371 	void glProgramUniform4ui(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3);
372 	void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
373 	void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
374 	void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
375 	void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
376 	void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint* value);
377 	void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint* value);
378 	void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint* value);
379 	void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint* value);
380 	void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
381 	void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
382 	void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
383 	void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
384 	void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
385 	void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
386 	void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
387 	void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
388 	void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
389 	void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
390 	void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
391 	void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
392 	void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
393 	void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params);
394 	void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLint* params);
395 	GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const char* name);
396 	GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const char* name);
397 	void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, char* name);
398 	void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
399 	void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
400 	void glDispatchComputeIndirect(GLintptr indirect);
401 	void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride);
402 	void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
403 	void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
404 	void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
405 	void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
406 	void glDrawArraysIndirect(GLenum mode, const void* indirect);
407 	void glDrawArraysIndirectDataAEMU(GLenum mode, const void* indirect, GLuint datalen);
408 	void glDrawArraysIndirectOffsetAEMU(GLenum mode, GLuint offset);
409 	void glDrawElementsIndirect(GLenum mode, GLenum type, const void* indirect);
410 	void glDrawElementsIndirectDataAEMU(GLenum mode, GLenum type, const void* indirect, GLuint datalen);
411 	void glDrawElementsIndirectOffsetAEMU(GLenum mode, GLenum type, GLuint offset);
412 	void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
413 	void glSampleMaski(GLuint maskNumber, GLbitfield mask);
414 	void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val);
415 	void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
416 	void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params);
417 	void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params);
418 	void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params);
419 	void glMapBufferRangeDMA(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr);
420 	void glUnmapBufferDMA(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr, GLboolean* out_res);
421 	uint64_t glMapBufferRangeDirect(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr);
422 	void glUnmapBufferDirect(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr, uint64_t guest_ptr, GLboolean* out_res);
423 	void glFlushMappedBufferRangeDirect(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
424 	GLenum glGetGraphicsResetStatusEXT();
425 	void glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid* data);
426 	void glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params);
427 	void glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params);
428 	void glDrawArraysNullAEMU(GLenum mode, GLint first, GLsizei count);
429 	void glDrawElementsNullAEMU(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
430 	void glDrawElementsOffsetNullAEMU(GLenum mode, GLsizei count, GLenum type, GLuint offset);
431 	void glDrawElementsDataNullAEMU(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen);
432 	void glUnmapBufferAsyncAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer, GLboolean* out_res);
433 	void glFlushMappedBufferRangeAEMU2(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer);
434 	GLboolean glBufferDataSyncAEMU(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
435 	void glTexBufferOES(GLenum target, GLenum internalFormat, GLuint buffer);
436 	void glTexBufferRangeOES(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size);
437 	void glTexBufferEXT(GLenum target, GLenum internalFormat, GLuint buffer);
438 	void glTexBufferRangeEXT(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size);
439 	void glEnableiEXT(GLenum cap, GLuint index);
440 	void glDisableiEXT(GLenum cap, GLuint index);
441 	void glBlendEquationiEXT(GLuint index, GLenum mode);
442 	void glBlendEquationSeparateiEXT(GLuint index, GLenum modeRGB, GLenum modeAlpha);
443 	void glBlendFunciEXT(GLuint index, GLenum sfactor, GLenum dfactor);
444 	void glBlendFuncSeparateiEXT(GLuint index, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
445 	void glColorMaskiEXT(GLuint index, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
446 	GLboolean glIsEnablediEXT(GLenum cap, GLuint index);
447 };
448 
449 #ifndef GET_CONTEXT
450 static gl2_client_context_t::CONTEXT_ACCESSOR_TYPE *getCurrentContext = NULL;
setContextAccessor(CONTEXT_ACCESSOR_TYPE * f)451 void gl2_client_context_t::setContextAccessor(CONTEXT_ACCESSOR_TYPE *f) { getCurrentContext = f; }
452 #define GET_CONTEXT gl2_client_context_t * ctx = getCurrentContext()
453 #endif
454 
glActiveTexture(GLenum texture)455 void glActiveTexture(GLenum texture)
456 {
457 	GET_CONTEXT;
458 	ctx->glActiveTexture(ctx, texture);
459 }
460 
glAttachShader(GLuint program,GLuint shader)461 void glAttachShader(GLuint program, GLuint shader)
462 {
463 	GET_CONTEXT;
464 	ctx->glAttachShader(ctx, program, shader);
465 }
466 
glBindAttribLocation(GLuint program,GLuint index,const GLchar * name)467 void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)
468 {
469 	GET_CONTEXT;
470 	ctx->glBindAttribLocation(ctx, program, index, name);
471 }
472 
glBindBuffer(GLenum target,GLuint buffer)473 void glBindBuffer(GLenum target, GLuint buffer)
474 {
475 	GET_CONTEXT;
476 	ctx->glBindBuffer(ctx, target, buffer);
477 }
478 
glBindFramebuffer(GLenum target,GLuint framebuffer)479 void glBindFramebuffer(GLenum target, GLuint framebuffer)
480 {
481 	GET_CONTEXT;
482 	ctx->glBindFramebuffer(ctx, target, framebuffer);
483 }
484 
glBindRenderbuffer(GLenum target,GLuint renderbuffer)485 void glBindRenderbuffer(GLenum target, GLuint renderbuffer)
486 {
487 	GET_CONTEXT;
488 	ctx->glBindRenderbuffer(ctx, target, renderbuffer);
489 }
490 
glBindTexture(GLenum target,GLuint texture)491 void glBindTexture(GLenum target, GLuint texture)
492 {
493 	GET_CONTEXT;
494 	ctx->glBindTexture(ctx, target, texture);
495 }
496 
glBlendColor(GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha)497 void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
498 {
499 	GET_CONTEXT;
500 	ctx->glBlendColor(ctx, red, green, blue, alpha);
501 }
502 
glBlendEquation(GLenum mode)503 void glBlendEquation(GLenum mode)
504 {
505 	GET_CONTEXT;
506 	ctx->glBlendEquation(ctx, mode);
507 }
508 
glBlendEquationSeparate(GLenum modeRGB,GLenum modeAlpha)509 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
510 {
511 	GET_CONTEXT;
512 	ctx->glBlendEquationSeparate(ctx, modeRGB, modeAlpha);
513 }
514 
glBlendFunc(GLenum sfactor,GLenum dfactor)515 void glBlendFunc(GLenum sfactor, GLenum dfactor)
516 {
517 	GET_CONTEXT;
518 	ctx->glBlendFunc(ctx, sfactor, dfactor);
519 }
520 
glBlendFuncSeparate(GLenum srcRGB,GLenum dstRGB,GLenum srcAlpha,GLenum dstAlpha)521 void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
522 {
523 	GET_CONTEXT;
524 	ctx->glBlendFuncSeparate(ctx, srcRGB, dstRGB, srcAlpha, dstAlpha);
525 }
526 
glBufferData(GLenum target,GLsizeiptr size,const GLvoid * data,GLenum usage)527 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
528 {
529 	GET_CONTEXT;
530 	ctx->glBufferData(ctx, target, size, data, usage);
531 }
532 
glBufferSubData(GLenum target,GLintptr offset,GLsizeiptr size,const GLvoid * data)533 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
534 {
535 	GET_CONTEXT;
536 	ctx->glBufferSubData(ctx, target, offset, size, data);
537 }
538 
glCheckFramebufferStatus(GLenum target)539 GLenum glCheckFramebufferStatus(GLenum target)
540 {
541 	GET_CONTEXT;
542 	return ctx->glCheckFramebufferStatus(ctx, target);
543 }
544 
glClear(GLbitfield mask)545 void glClear(GLbitfield mask)
546 {
547 	GET_CONTEXT;
548 	ctx->glClear(ctx, mask);
549 }
550 
glClearColor(GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha)551 void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
552 {
553 	GET_CONTEXT;
554 	ctx->glClearColor(ctx, red, green, blue, alpha);
555 }
556 
glClearDepthf(GLclampf depth)557 void glClearDepthf(GLclampf depth)
558 {
559 	GET_CONTEXT;
560 	ctx->glClearDepthf(ctx, depth);
561 }
562 
glClearStencil(GLint s)563 void glClearStencil(GLint s)
564 {
565 	GET_CONTEXT;
566 	ctx->glClearStencil(ctx, s);
567 }
568 
glColorMask(GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha)569 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
570 {
571 	GET_CONTEXT;
572 	ctx->glColorMask(ctx, red, green, blue, alpha);
573 }
574 
glCompileShader(GLuint shader)575 void glCompileShader(GLuint shader)
576 {
577 	GET_CONTEXT;
578 	ctx->glCompileShader(ctx, shader);
579 }
580 
glCompressedTexImage2D(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLint border,GLsizei imageSize,const GLvoid * data)581 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data)
582 {
583 	GET_CONTEXT;
584 	 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
585 	ctx->glCompressedTexImage2D(ctx, target, level, internalformat, width, height, border, imageSize, data);
586 }
587 
glCompressedTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLsizei imageSize,const GLvoid * data)588 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data)
589 {
590 	GET_CONTEXT;
591 	 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
592 	ctx->glCompressedTexSubImage2D(ctx, target, level, xoffset, yoffset, width, height, format, imageSize, data);
593 }
594 
glCopyTexImage2D(GLenum target,GLint level,GLenum internalformat,GLint x,GLint y,GLsizei width,GLsizei height,GLint border)595 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
596 {
597 	GET_CONTEXT;
598 	ctx->glCopyTexImage2D(ctx, target, level, internalformat, x, y, width, height, border);
599 }
600 
glCopyTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint x,GLint y,GLsizei width,GLsizei height)601 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
602 {
603 	GET_CONTEXT;
604 	ctx->glCopyTexSubImage2D(ctx, target, level, xoffset, yoffset, x, y, width, height);
605 }
606 
glCreateProgram()607 GLuint glCreateProgram()
608 {
609 	GET_CONTEXT;
610 	return ctx->glCreateProgram(ctx);
611 }
612 
glCreateShader(GLenum type)613 GLuint glCreateShader(GLenum type)
614 {
615 	GET_CONTEXT;
616 	return ctx->glCreateShader(ctx, type);
617 }
618 
glCullFace(GLenum mode)619 void glCullFace(GLenum mode)
620 {
621 	GET_CONTEXT;
622 	ctx->glCullFace(ctx, mode);
623 }
624 
glDeleteBuffers(GLsizei n,const GLuint * buffers)625 void glDeleteBuffers(GLsizei n, const GLuint* buffers)
626 {
627 	GET_CONTEXT;
628 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
629 	ctx->glDeleteBuffers(ctx, n, buffers);
630 }
631 
glDeleteFramebuffers(GLsizei n,const GLuint * framebuffers)632 void glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
633 {
634 	GET_CONTEXT;
635 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
636 	ctx->glDeleteFramebuffers(ctx, n, framebuffers);
637 }
638 
glDeleteProgram(GLuint program)639 void glDeleteProgram(GLuint program)
640 {
641 	GET_CONTEXT;
642 	ctx->glDeleteProgram(ctx, program);
643 }
644 
glDeleteRenderbuffers(GLsizei n,const GLuint * renderbuffers)645 void glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
646 {
647 	GET_CONTEXT;
648 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
649 	ctx->glDeleteRenderbuffers(ctx, n, renderbuffers);
650 }
651 
glDeleteShader(GLuint shader)652 void glDeleteShader(GLuint shader)
653 {
654 	GET_CONTEXT;
655 	ctx->glDeleteShader(ctx, shader);
656 }
657 
glDeleteTextures(GLsizei n,const GLuint * textures)658 void glDeleteTextures(GLsizei n, const GLuint* textures)
659 {
660 	GET_CONTEXT;
661 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
662 	ctx->glDeleteTextures(ctx, n, textures);
663 }
664 
glDepthFunc(GLenum func)665 void glDepthFunc(GLenum func)
666 {
667 	GET_CONTEXT;
668 	ctx->glDepthFunc(ctx, func);
669 }
670 
glDepthMask(GLboolean flag)671 void glDepthMask(GLboolean flag)
672 {
673 	GET_CONTEXT;
674 	ctx->glDepthMask(ctx, flag);
675 }
676 
glDepthRangef(GLclampf zNear,GLclampf zFar)677 void glDepthRangef(GLclampf zNear, GLclampf zFar)
678 {
679 	GET_CONTEXT;
680 	ctx->glDepthRangef(ctx, zNear, zFar);
681 }
682 
glDetachShader(GLuint program,GLuint shader)683 void glDetachShader(GLuint program, GLuint shader)
684 {
685 	GET_CONTEXT;
686 	ctx->glDetachShader(ctx, program, shader);
687 }
688 
glDisable(GLenum cap)689 void glDisable(GLenum cap)
690 {
691 	GET_CONTEXT;
692 	ctx->glDisable(ctx, cap);
693 }
694 
glDisableVertexAttribArray(GLuint index)695 void glDisableVertexAttribArray(GLuint index)
696 {
697 	GET_CONTEXT;
698 	ctx->glDisableVertexAttribArray(ctx, index);
699 }
700 
glDrawArrays(GLenum mode,GLint first,GLsizei count)701 void glDrawArrays(GLenum mode, GLint first, GLsizei count)
702 {
703 	GET_CONTEXT;
704 	ctx->glDrawArrays(ctx, mode, first, count);
705 }
706 
glDrawElements(GLenum mode,GLsizei count,GLenum type,const GLvoid * indices)707 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)
708 {
709 	GET_CONTEXT;
710 	ctx->glDrawElements(ctx, mode, count, type, indices);
711 }
712 
glEnable(GLenum cap)713 void glEnable(GLenum cap)
714 {
715 	GET_CONTEXT;
716 	ctx->glEnable(ctx, cap);
717 }
718 
glEnableVertexAttribArray(GLuint index)719 void glEnableVertexAttribArray(GLuint index)
720 {
721 	GET_CONTEXT;
722 	ctx->glEnableVertexAttribArray(ctx, index);
723 }
724 
glFinish()725 void glFinish()
726 {
727 	GET_CONTEXT;
728 	ctx->glFinish(ctx);
729 }
730 
glFlush()731 void glFlush()
732 {
733 	GET_CONTEXT;
734 	ctx->glFlush(ctx);
735 }
736 
glFramebufferRenderbuffer(GLenum target,GLenum attachment,GLenum renderbuffertarget,GLuint renderbuffer)737 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
738 {
739 	GET_CONTEXT;
740 	ctx->glFramebufferRenderbuffer(ctx, target, attachment, renderbuffertarget, renderbuffer);
741 }
742 
glFramebufferTexture2D(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level)743 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
744 {
745 	GET_CONTEXT;
746 	ctx->glFramebufferTexture2D(ctx, target, attachment, textarget, texture, level);
747 }
748 
glFrontFace(GLenum mode)749 void glFrontFace(GLenum mode)
750 {
751 	GET_CONTEXT;
752 	ctx->glFrontFace(ctx, mode);
753 }
754 
glGenBuffers(GLsizei n,GLuint * buffers)755 void glGenBuffers(GLsizei n, GLuint* buffers)
756 {
757 	GET_CONTEXT;
758 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
759 	ctx->glGenBuffers(ctx, n, buffers);
760 }
761 
glGenerateMipmap(GLenum target)762 void glGenerateMipmap(GLenum target)
763 {
764 	GET_CONTEXT;
765 	ctx->glGenerateMipmap(ctx, target);
766 }
767 
glGenFramebuffers(GLsizei n,GLuint * framebuffers)768 void glGenFramebuffers(GLsizei n, GLuint* framebuffers)
769 {
770 	GET_CONTEXT;
771 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
772 	ctx->glGenFramebuffers(ctx, n, framebuffers);
773 }
774 
glGenRenderbuffers(GLsizei n,GLuint * renderbuffers)775 void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
776 {
777 	GET_CONTEXT;
778 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
779 	ctx->glGenRenderbuffers(ctx, n, renderbuffers);
780 }
781 
glGenTextures(GLsizei n,GLuint * textures)782 void glGenTextures(GLsizei n, GLuint* textures)
783 {
784 	GET_CONTEXT;
785 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
786 	ctx->glGenTextures(ctx, n, textures);
787 }
788 
glGetActiveAttrib(GLuint program,GLuint index,GLsizei bufsize,GLsizei * length,GLint * size,GLenum * type,GLchar * name)789 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
790 {
791 	GET_CONTEXT;
792 	 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
793 	ctx->glGetActiveAttrib(ctx, program, index, bufsize, length, size, type, name);
794 }
795 
glGetActiveUniform(GLuint program,GLuint index,GLsizei bufsize,GLsizei * length,GLint * size,GLenum * type,GLchar * name)796 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
797 {
798 	GET_CONTEXT;
799 	 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
800 	ctx->glGetActiveUniform(ctx, program, index, bufsize, length, size, type, name);
801 }
802 
glGetAttachedShaders(GLuint program,GLsizei maxcount,GLsizei * count,GLuint * shaders)803 void glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
804 {
805 	GET_CONTEXT;
806 	ctx->glGetAttachedShaders(ctx, program, maxcount, count, shaders);
807 }
808 
glGetAttribLocation(GLuint program,const GLchar * name)809 int glGetAttribLocation(GLuint program, const GLchar* name)
810 {
811 	GET_CONTEXT;
812 	return ctx->glGetAttribLocation(ctx, program, name);
813 }
814 
glGetBooleanv(GLenum pname,GLboolean * params)815 void glGetBooleanv(GLenum pname, GLboolean* params)
816 {
817 	GET_CONTEXT;
818 	ctx->glGetBooleanv(ctx, pname, params);
819 }
820 
glGetBufferParameteriv(GLenum target,GLenum pname,GLint * params)821 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
822 {
823 	GET_CONTEXT;
824 	ctx->glGetBufferParameteriv(ctx, target, pname, params);
825 }
826 
glGetError()827 GLenum glGetError()
828 {
829 	GET_CONTEXT;
830 	return ctx->glGetError(ctx);
831 }
832 
glGetFloatv(GLenum pname,GLfloat * params)833 void glGetFloatv(GLenum pname, GLfloat* params)
834 {
835 	GET_CONTEXT;
836 	ctx->glGetFloatv(ctx, pname, params);
837 }
838 
glGetFramebufferAttachmentParameteriv(GLenum target,GLenum attachment,GLenum pname,GLint * params)839 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
840 {
841 	GET_CONTEXT;
842 	ctx->glGetFramebufferAttachmentParameteriv(ctx, target, attachment, pname, params);
843 }
844 
glGetIntegerv(GLenum pname,GLint * params)845 void glGetIntegerv(GLenum pname, GLint* params)
846 {
847 	GET_CONTEXT;
848 	ctx->glGetIntegerv(ctx, pname, params);
849 }
850 
glGetProgramiv(GLuint program,GLenum pname,GLint * params)851 void glGetProgramiv(GLuint program, GLenum pname, GLint* params)
852 {
853 	GET_CONTEXT;
854 	ctx->glGetProgramiv(ctx, program, pname, params);
855 }
856 
glGetProgramInfoLog(GLuint program,GLsizei bufsize,GLsizei * length,GLchar * infolog)857 void glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog)
858 {
859 	GET_CONTEXT;
860 	 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
861 	ctx->glGetProgramInfoLog(ctx, program, bufsize, length, infolog);
862 }
863 
glGetRenderbufferParameteriv(GLenum target,GLenum pname,GLint * params)864 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
865 {
866 	GET_CONTEXT;
867 	ctx->glGetRenderbufferParameteriv(ctx, target, pname, params);
868 }
869 
glGetShaderiv(GLuint shader,GLenum pname,GLint * params)870 void glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
871 {
872 	GET_CONTEXT;
873 	ctx->glGetShaderiv(ctx, shader, pname, params);
874 }
875 
glGetShaderInfoLog(GLuint shader,GLsizei bufsize,GLsizei * length,GLchar * infolog)876 void glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog)
877 {
878 	GET_CONTEXT;
879 	 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
880 	ctx->glGetShaderInfoLog(ctx, shader, bufsize, length, infolog);
881 }
882 
glGetShaderPrecisionFormat(GLenum shadertype,GLenum precisiontype,GLint * range,GLint * precision)883 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
884 {
885 	GET_CONTEXT;
886 	ctx->glGetShaderPrecisionFormat(ctx, shadertype, precisiontype, range, precision);
887 }
888 
glGetShaderSource(GLuint shader,GLsizei bufsize,GLsizei * length,GLchar * source)889 void glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source)
890 {
891 	GET_CONTEXT;
892 	 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
893 	ctx->glGetShaderSource(ctx, shader, bufsize, length, source);
894 }
895 
glGetString(GLenum name)896 const GLubyte* glGetString(GLenum name)
897 {
898 	GET_CONTEXT;
899 	return ctx->glGetString(ctx, name);
900 }
901 
glGetTexParameterfv(GLenum target,GLenum pname,GLfloat * params)902 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
903 {
904 	GET_CONTEXT;
905 	ctx->glGetTexParameterfv(ctx, target, pname, params);
906 }
907 
glGetTexParameteriv(GLenum target,GLenum pname,GLint * params)908 void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
909 {
910 	GET_CONTEXT;
911 	ctx->glGetTexParameteriv(ctx, target, pname, params);
912 }
913 
glGetUniformfv(GLuint program,GLint location,GLfloat * params)914 void glGetUniformfv(GLuint program, GLint location, GLfloat* params)
915 {
916 	GET_CONTEXT;
917 	ctx->glGetUniformfv(ctx, program, location, params);
918 }
919 
glGetUniformiv(GLuint program,GLint location,GLint * params)920 void glGetUniformiv(GLuint program, GLint location, GLint* params)
921 {
922 	GET_CONTEXT;
923 	ctx->glGetUniformiv(ctx, program, location, params);
924 }
925 
glGetUniformLocation(GLuint program,const GLchar * name)926 int glGetUniformLocation(GLuint program, const GLchar* name)
927 {
928 	GET_CONTEXT;
929 	return ctx->glGetUniformLocation(ctx, program, name);
930 }
931 
glGetVertexAttribfv(GLuint index,GLenum pname,GLfloat * params)932 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
933 {
934 	GET_CONTEXT;
935 	ctx->glGetVertexAttribfv(ctx, index, pname, params);
936 }
937 
glGetVertexAttribiv(GLuint index,GLenum pname,GLint * params)938 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
939 {
940 	GET_CONTEXT;
941 	ctx->glGetVertexAttribiv(ctx, index, pname, params);
942 }
943 
glGetVertexAttribPointerv(GLuint index,GLenum pname,GLvoid ** pointer)944 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer)
945 {
946 	GET_CONTEXT;
947 	ctx->glGetVertexAttribPointerv(ctx, index, pname, pointer);
948 }
949 
glHint(GLenum target,GLenum mode)950 void glHint(GLenum target, GLenum mode)
951 {
952 	GET_CONTEXT;
953 	ctx->glHint(ctx, target, mode);
954 }
955 
glIsBuffer(GLuint buffer)956 GLboolean glIsBuffer(GLuint buffer)
957 {
958 	GET_CONTEXT;
959 	return ctx->glIsBuffer(ctx, buffer);
960 }
961 
glIsEnabled(GLenum cap)962 GLboolean glIsEnabled(GLenum cap)
963 {
964 	GET_CONTEXT;
965 	return ctx->glIsEnabled(ctx, cap);
966 }
967 
glIsFramebuffer(GLuint framebuffer)968 GLboolean glIsFramebuffer(GLuint framebuffer)
969 {
970 	GET_CONTEXT;
971 	return ctx->glIsFramebuffer(ctx, framebuffer);
972 }
973 
glIsProgram(GLuint program)974 GLboolean glIsProgram(GLuint program)
975 {
976 	GET_CONTEXT;
977 	return ctx->glIsProgram(ctx, program);
978 }
979 
glIsRenderbuffer(GLuint renderbuffer)980 GLboolean glIsRenderbuffer(GLuint renderbuffer)
981 {
982 	GET_CONTEXT;
983 	return ctx->glIsRenderbuffer(ctx, renderbuffer);
984 }
985 
glIsShader(GLuint shader)986 GLboolean glIsShader(GLuint shader)
987 {
988 	GET_CONTEXT;
989 	return ctx->glIsShader(ctx, shader);
990 }
991 
glIsTexture(GLuint texture)992 GLboolean glIsTexture(GLuint texture)
993 {
994 	GET_CONTEXT;
995 	return ctx->glIsTexture(ctx, texture);
996 }
997 
glLineWidth(GLfloat width)998 void glLineWidth(GLfloat width)
999 {
1000 	GET_CONTEXT;
1001 	ctx->glLineWidth(ctx, width);
1002 }
1003 
glLinkProgram(GLuint program)1004 void glLinkProgram(GLuint program)
1005 {
1006 	GET_CONTEXT;
1007 	ctx->glLinkProgram(ctx, program);
1008 }
1009 
glPixelStorei(GLenum pname,GLint param)1010 void glPixelStorei(GLenum pname, GLint param)
1011 {
1012 	GET_CONTEXT;
1013 	ctx->glPixelStorei(ctx, pname, param);
1014 }
1015 
glPolygonOffset(GLfloat factor,GLfloat units)1016 void glPolygonOffset(GLfloat factor, GLfloat units)
1017 {
1018 	GET_CONTEXT;
1019 	ctx->glPolygonOffset(ctx, factor, units);
1020 }
1021 
glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * pixels)1022 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)
1023 {
1024 	GET_CONTEXT;
1025 	ctx->glReadPixels(ctx, x, y, width, height, format, type, pixels);
1026 }
1027 
glReleaseShaderCompiler()1028 void glReleaseShaderCompiler()
1029 {
1030 	GET_CONTEXT;
1031 	ctx->glReleaseShaderCompiler(ctx);
1032 }
1033 
glRenderbufferStorage(GLenum target,GLenum internalformat,GLsizei width,GLsizei height)1034 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1035 {
1036 	GET_CONTEXT;
1037 	ctx->glRenderbufferStorage(ctx, target, internalformat, width, height);
1038 }
1039 
glSampleCoverage(GLclampf value,GLboolean invert)1040 void glSampleCoverage(GLclampf value, GLboolean invert)
1041 {
1042 	GET_CONTEXT;
1043 	ctx->glSampleCoverage(ctx, value, invert);
1044 }
1045 
glScissor(GLint x,GLint y,GLsizei width,GLsizei height)1046 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
1047 {
1048 	GET_CONTEXT;
1049 	ctx->glScissor(ctx, x, y, width, height);
1050 }
1051 
glShaderBinary(GLsizei n,const GLuint * shaders,GLenum binaryformat,const GLvoid * binary,GLsizei length)1052 void glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length)
1053 {
1054 	GET_CONTEXT;
1055 	ctx->glShaderBinary(ctx, n, shaders, binaryformat, binary, length);
1056 }
1057 
glShaderSource(GLuint shader,GLsizei count,const GLchar * const * string,const GLint * length)1058 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length)
1059 {
1060 	GET_CONTEXT;
1061 	ctx->glShaderSource(ctx, shader, count, string, length);
1062 }
1063 
glStencilFunc(GLenum func,GLint ref,GLuint mask)1064 void glStencilFunc(GLenum func, GLint ref, GLuint mask)
1065 {
1066 	GET_CONTEXT;
1067 	ctx->glStencilFunc(ctx, func, ref, mask);
1068 }
1069 
glStencilFuncSeparate(GLenum face,GLenum func,GLint ref,GLuint mask)1070 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1071 {
1072 	GET_CONTEXT;
1073 	ctx->glStencilFuncSeparate(ctx, face, func, ref, mask);
1074 }
1075 
glStencilMask(GLuint mask)1076 void glStencilMask(GLuint mask)
1077 {
1078 	GET_CONTEXT;
1079 	ctx->glStencilMask(ctx, mask);
1080 }
1081 
glStencilMaskSeparate(GLenum face,GLuint mask)1082 void glStencilMaskSeparate(GLenum face, GLuint mask)
1083 {
1084 	GET_CONTEXT;
1085 	ctx->glStencilMaskSeparate(ctx, face, mask);
1086 }
1087 
glStencilOp(GLenum fail,GLenum zfail,GLenum zpass)1088 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
1089 {
1090 	GET_CONTEXT;
1091 	ctx->glStencilOp(ctx, fail, zfail, zpass);
1092 }
1093 
glStencilOpSeparate(GLenum face,GLenum fail,GLenum zfail,GLenum zpass)1094 void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
1095 {
1096 	GET_CONTEXT;
1097 	ctx->glStencilOpSeparate(ctx, face, fail, zfail, zpass);
1098 }
1099 
glTexImage2D(GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const GLvoid * pixels)1100 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
1101 {
1102 	GET_CONTEXT;
1103 	ctx->glTexImage2D(ctx, target, level, internalformat, width, height, border, format, type, pixels);
1104 }
1105 
glTexParameterf(GLenum target,GLenum pname,GLfloat param)1106 void glTexParameterf(GLenum target, GLenum pname, GLfloat param)
1107 {
1108 	GET_CONTEXT;
1109 	ctx->glTexParameterf(ctx, target, pname, param);
1110 }
1111 
glTexParameterfv(GLenum target,GLenum pname,const GLfloat * params)1112 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
1113 {
1114 	GET_CONTEXT;
1115 	ctx->glTexParameterfv(ctx, target, pname, params);
1116 }
1117 
glTexParameteri(GLenum target,GLenum pname,GLint param)1118 void glTexParameteri(GLenum target, GLenum pname, GLint param)
1119 {
1120 	GET_CONTEXT;
1121 	ctx->glTexParameteri(ctx, target, pname, param);
1122 }
1123 
glTexParameteriv(GLenum target,GLenum pname,const GLint * params)1124 void glTexParameteriv(GLenum target, GLenum pname, const GLint* params)
1125 {
1126 	GET_CONTEXT;
1127 	ctx->glTexParameteriv(ctx, target, pname, params);
1128 }
1129 
glTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,const GLvoid * pixels)1130 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)
1131 {
1132 	GET_CONTEXT;
1133 	ctx->glTexSubImage2D(ctx, target, level, xoffset, yoffset, width, height, format, type, pixels);
1134 }
1135 
glUniform1f(GLint location,GLfloat x)1136 void glUniform1f(GLint location, GLfloat x)
1137 {
1138 	GET_CONTEXT;
1139 	ctx->glUniform1f(ctx, location, x);
1140 }
1141 
glUniform1fv(GLint location,GLsizei count,const GLfloat * v)1142 void glUniform1fv(GLint location, GLsizei count, const GLfloat* v)
1143 {
1144 	GET_CONTEXT;
1145 	ctx->glUniform1fv(ctx, location, count, v);
1146 }
1147 
glUniform1i(GLint location,GLint x)1148 void glUniform1i(GLint location, GLint x)
1149 {
1150 	GET_CONTEXT;
1151 	ctx->glUniform1i(ctx, location, x);
1152 }
1153 
glUniform1iv(GLint location,GLsizei count,const GLint * v)1154 void glUniform1iv(GLint location, GLsizei count, const GLint* v)
1155 {
1156 	GET_CONTEXT;
1157 	ctx->glUniform1iv(ctx, location, count, v);
1158 }
1159 
glUniform2f(GLint location,GLfloat x,GLfloat y)1160 void glUniform2f(GLint location, GLfloat x, GLfloat y)
1161 {
1162 	GET_CONTEXT;
1163 	ctx->glUniform2f(ctx, location, x, y);
1164 }
1165 
glUniform2fv(GLint location,GLsizei count,const GLfloat * v)1166 void glUniform2fv(GLint location, GLsizei count, const GLfloat* v)
1167 {
1168 	GET_CONTEXT;
1169 	ctx->glUniform2fv(ctx, location, count, v);
1170 }
1171 
glUniform2i(GLint location,GLint x,GLint y)1172 void glUniform2i(GLint location, GLint x, GLint y)
1173 {
1174 	GET_CONTEXT;
1175 	ctx->glUniform2i(ctx, location, x, y);
1176 }
1177 
glUniform2iv(GLint location,GLsizei count,const GLint * v)1178 void glUniform2iv(GLint location, GLsizei count, const GLint* v)
1179 {
1180 	GET_CONTEXT;
1181 	ctx->glUniform2iv(ctx, location, count, v);
1182 }
1183 
glUniform3f(GLint location,GLfloat x,GLfloat y,GLfloat z)1184 void glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
1185 {
1186 	GET_CONTEXT;
1187 	ctx->glUniform3f(ctx, location, x, y, z);
1188 }
1189 
glUniform3fv(GLint location,GLsizei count,const GLfloat * v)1190 void glUniform3fv(GLint location, GLsizei count, const GLfloat* v)
1191 {
1192 	GET_CONTEXT;
1193 	ctx->glUniform3fv(ctx, location, count, v);
1194 }
1195 
glUniform3i(GLint location,GLint x,GLint y,GLint z)1196 void glUniform3i(GLint location, GLint x, GLint y, GLint z)
1197 {
1198 	GET_CONTEXT;
1199 	ctx->glUniform3i(ctx, location, x, y, z);
1200 }
1201 
glUniform3iv(GLint location,GLsizei count,const GLint * v)1202 void glUniform3iv(GLint location, GLsizei count, const GLint* v)
1203 {
1204 	GET_CONTEXT;
1205 	ctx->glUniform3iv(ctx, location, count, v);
1206 }
1207 
glUniform4f(GLint location,GLfloat x,GLfloat y,GLfloat z,GLfloat w)1208 void glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
1209 {
1210 	GET_CONTEXT;
1211 	ctx->glUniform4f(ctx, location, x, y, z, w);
1212 }
1213 
glUniform4fv(GLint location,GLsizei count,const GLfloat * v)1214 void glUniform4fv(GLint location, GLsizei count, const GLfloat* v)
1215 {
1216 	GET_CONTEXT;
1217 	ctx->glUniform4fv(ctx, location, count, v);
1218 }
1219 
glUniform4i(GLint location,GLint x,GLint y,GLint z,GLint w)1220 void glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
1221 {
1222 	GET_CONTEXT;
1223 	ctx->glUniform4i(ctx, location, x, y, z, w);
1224 }
1225 
glUniform4iv(GLint location,GLsizei count,const GLint * v)1226 void glUniform4iv(GLint location, GLsizei count, const GLint* v)
1227 {
1228 	GET_CONTEXT;
1229 	ctx->glUniform4iv(ctx, location, count, v);
1230 }
1231 
glUniformMatrix2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1232 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1233 {
1234 	GET_CONTEXT;
1235 	ctx->glUniformMatrix2fv(ctx, location, count, transpose, value);
1236 }
1237 
glUniformMatrix3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1238 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1239 {
1240 	GET_CONTEXT;
1241 	ctx->glUniformMatrix3fv(ctx, location, count, transpose, value);
1242 }
1243 
glUniformMatrix4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1244 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1245 {
1246 	GET_CONTEXT;
1247 	ctx->glUniformMatrix4fv(ctx, location, count, transpose, value);
1248 }
1249 
glUseProgram(GLuint program)1250 void glUseProgram(GLuint program)
1251 {
1252 	GET_CONTEXT;
1253 	ctx->glUseProgram(ctx, program);
1254 }
1255 
glValidateProgram(GLuint program)1256 void glValidateProgram(GLuint program)
1257 {
1258 	GET_CONTEXT;
1259 	ctx->glValidateProgram(ctx, program);
1260 }
1261 
glVertexAttrib1f(GLuint indx,GLfloat x)1262 void glVertexAttrib1f(GLuint indx, GLfloat x)
1263 {
1264 	GET_CONTEXT;
1265 	ctx->glVertexAttrib1f(ctx, indx, x);
1266 }
1267 
glVertexAttrib1fv(GLuint indx,const GLfloat * values)1268 void glVertexAttrib1fv(GLuint indx, const GLfloat* values)
1269 {
1270 	GET_CONTEXT;
1271 	ctx->glVertexAttrib1fv(ctx, indx, values);
1272 }
1273 
glVertexAttrib2f(GLuint indx,GLfloat x,GLfloat y)1274 void glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
1275 {
1276 	GET_CONTEXT;
1277 	ctx->glVertexAttrib2f(ctx, indx, x, y);
1278 }
1279 
glVertexAttrib2fv(GLuint indx,const GLfloat * values)1280 void glVertexAttrib2fv(GLuint indx, const GLfloat* values)
1281 {
1282 	GET_CONTEXT;
1283 	ctx->glVertexAttrib2fv(ctx, indx, values);
1284 }
1285 
glVertexAttrib3f(GLuint indx,GLfloat x,GLfloat y,GLfloat z)1286 void glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
1287 {
1288 	GET_CONTEXT;
1289 	ctx->glVertexAttrib3f(ctx, indx, x, y, z);
1290 }
1291 
glVertexAttrib3fv(GLuint indx,const GLfloat * values)1292 void glVertexAttrib3fv(GLuint indx, const GLfloat* values)
1293 {
1294 	GET_CONTEXT;
1295 	ctx->glVertexAttrib3fv(ctx, indx, values);
1296 }
1297 
glVertexAttrib4f(GLuint indx,GLfloat x,GLfloat y,GLfloat z,GLfloat w)1298 void glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
1299 {
1300 	GET_CONTEXT;
1301 	ctx->glVertexAttrib4f(ctx, indx, x, y, z, w);
1302 }
1303 
glVertexAttrib4fv(GLuint indx,const GLfloat * values)1304 void glVertexAttrib4fv(GLuint indx, const GLfloat* values)
1305 {
1306 	GET_CONTEXT;
1307 	ctx->glVertexAttrib4fv(ctx, indx, values);
1308 }
1309 
glVertexAttribPointer(GLuint indx,GLint size,GLenum type,GLboolean normalized,GLsizei stride,const GLvoid * ptr)1310 void glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr)
1311 {
1312 	GET_CONTEXT;
1313 	ctx->glVertexAttribPointer(ctx, indx, size, type, normalized, stride, ptr);
1314 }
1315 
glViewport(GLint x,GLint y,GLsizei width,GLsizei height)1316 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
1317 {
1318 	GET_CONTEXT;
1319 	ctx->glViewport(ctx, x, y, width, height);
1320 }
1321 
glEGLImageTargetTexture2DOES(GLenum target,GLeglImageOES image)1322 void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
1323 {
1324 	GET_CONTEXT;
1325 	ctx->glEGLImageTargetTexture2DOES(ctx, target, image);
1326 }
1327 
glEGLImageTargetRenderbufferStorageOES(GLenum target,GLeglImageOES image)1328 void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
1329 {
1330 	GET_CONTEXT;
1331 	ctx->glEGLImageTargetRenderbufferStorageOES(ctx, target, image);
1332 }
1333 
glGetProgramBinaryOES(GLuint program,GLsizei bufSize,GLsizei * length,GLenum * binaryFormat,GLvoid * binary)1334 void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)
1335 {
1336 	GET_CONTEXT;
1337 	ctx->glGetProgramBinaryOES(ctx, program, bufSize, length, binaryFormat, binary);
1338 }
1339 
glProgramBinaryOES(GLuint program,GLenum binaryFormat,const GLvoid * binary,GLint length)1340 void glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLint length)
1341 {
1342 	GET_CONTEXT;
1343 	ctx->glProgramBinaryOES(ctx, program, binaryFormat, binary, length);
1344 }
1345 
glMapBufferOES(GLenum target,GLenum access)1346 void* glMapBufferOES(GLenum target, GLenum access)
1347 {
1348 	GET_CONTEXT;
1349 	return ctx->glMapBufferOES(ctx, target, access);
1350 }
1351 
glUnmapBufferOES(GLenum target)1352 GLboolean glUnmapBufferOES(GLenum target)
1353 {
1354 	GET_CONTEXT;
1355 	return ctx->glUnmapBufferOES(ctx, target);
1356 }
1357 
glTexImage3DOES(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLenum format,GLenum type,const GLvoid * pixels)1358 void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
1359 {
1360 	GET_CONTEXT;
1361 	ctx->glTexImage3DOES(ctx, target, level, internalformat, width, height, depth, border, format, type, pixels);
1362 }
1363 
glTexSubImage3DOES(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,const GLvoid * pixels)1364 void glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels)
1365 {
1366 	GET_CONTEXT;
1367 	ctx->glTexSubImage3DOES(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
1368 }
1369 
glCopyTexSubImage3DOES(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLint x,GLint y,GLsizei width,GLsizei height)1370 void glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
1371 {
1372 	GET_CONTEXT;
1373 	ctx->glCopyTexSubImage3DOES(ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height);
1374 }
1375 
glCompressedTexImage3DOES(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLsizei imageSize,const GLvoid * data)1376 void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
1377 {
1378 	GET_CONTEXT;
1379 	 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
1380 	ctx->glCompressedTexImage3DOES(ctx, target, level, internalformat, width, height, depth, border, imageSize, data);
1381 }
1382 
glCompressedTexSubImage3DOES(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLsizei imageSize,const GLvoid * data)1383 void glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data)
1384 {
1385 	GET_CONTEXT;
1386 	 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
1387 	ctx->glCompressedTexSubImage3DOES(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
1388 }
1389 
glFramebufferTexture3DOES(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level,GLint zoffset)1390 void glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1391 {
1392 	GET_CONTEXT;
1393 	ctx->glFramebufferTexture3DOES(ctx, target, attachment, textarget, texture, level, zoffset);
1394 }
1395 
glBindVertexArrayOES(GLuint array)1396 void glBindVertexArrayOES(GLuint array)
1397 {
1398 	GET_CONTEXT;
1399 	ctx->glBindVertexArrayOES(ctx, array);
1400 }
1401 
glDeleteVertexArraysOES(GLsizei n,const GLuint * arrays)1402 void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays)
1403 {
1404 	GET_CONTEXT;
1405 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1406 	ctx->glDeleteVertexArraysOES(ctx, n, arrays);
1407 }
1408 
glGenVertexArraysOES(GLsizei n,GLuint * arrays)1409 void glGenVertexArraysOES(GLsizei n, GLuint* arrays)
1410 {
1411 	GET_CONTEXT;
1412 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1413 	ctx->glGenVertexArraysOES(ctx, n, arrays);
1414 }
1415 
glIsVertexArrayOES(GLuint array)1416 GLboolean glIsVertexArrayOES(GLuint array)
1417 {
1418 	GET_CONTEXT;
1419 	return ctx->glIsVertexArrayOES(ctx, array);
1420 }
1421 
glDiscardFramebufferEXT(GLenum target,GLsizei numAttachments,const GLenum * attachments)1422 void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments)
1423 {
1424 	GET_CONTEXT;
1425 	ctx->glDiscardFramebufferEXT(ctx, target, numAttachments, attachments);
1426 }
1427 
glMultiDrawArraysEXT(GLenum mode,const GLint * first,const GLsizei * count,GLsizei primcount)1428 void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount)
1429 {
1430 	GET_CONTEXT;
1431 	ctx->glMultiDrawArraysEXT(ctx, mode, first, count, primcount);
1432 }
1433 
glMultiDrawElementsEXT(GLenum mode,const GLsizei * count,GLenum type,const GLvoid * const * indices,GLsizei primcount)1434 void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount)
1435 {
1436 	GET_CONTEXT;
1437 	ctx->glMultiDrawElementsEXT(ctx, mode, count, type, indices, primcount);
1438 }
1439 
glGetPerfMonitorGroupsAMD(GLint * numGroups,GLsizei groupsSize,GLuint * groups)1440 void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups)
1441 {
1442 	GET_CONTEXT;
1443 	ctx->glGetPerfMonitorGroupsAMD(ctx, numGroups, groupsSize, groups);
1444 }
1445 
glGetPerfMonitorCountersAMD(GLuint group,GLint * numCounters,GLint * maxActiveCounters,GLsizei counterSize,GLuint * counters)1446 void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters)
1447 {
1448 	GET_CONTEXT;
1449 	ctx->glGetPerfMonitorCountersAMD(ctx, group, numCounters, maxActiveCounters, counterSize, counters);
1450 }
1451 
glGetPerfMonitorGroupStringAMD(GLuint group,GLsizei bufSize,GLsizei * length,GLchar * groupString)1452 void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString)
1453 {
1454 	GET_CONTEXT;
1455 	ctx->glGetPerfMonitorGroupStringAMD(ctx, group, bufSize, length, groupString);
1456 }
1457 
glGetPerfMonitorCounterStringAMD(GLuint group,GLuint counter,GLsizei bufSize,GLsizei * length,GLchar * counterString)1458 void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString)
1459 {
1460 	GET_CONTEXT;
1461 	ctx->glGetPerfMonitorCounterStringAMD(ctx, group, counter, bufSize, length, counterString);
1462 }
1463 
glGetPerfMonitorCounterInfoAMD(GLuint group,GLuint counter,GLenum pname,GLvoid * data)1464 void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid* data)
1465 {
1466 	GET_CONTEXT;
1467 	ctx->glGetPerfMonitorCounterInfoAMD(ctx, group, counter, pname, data);
1468 }
1469 
glGenPerfMonitorsAMD(GLsizei n,GLuint * monitors)1470 void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors)
1471 {
1472 	GET_CONTEXT;
1473 	ctx->glGenPerfMonitorsAMD(ctx, n, monitors);
1474 }
1475 
glDeletePerfMonitorsAMD(GLsizei n,GLuint * monitors)1476 void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors)
1477 {
1478 	GET_CONTEXT;
1479 	ctx->glDeletePerfMonitorsAMD(ctx, n, monitors);
1480 }
1481 
glSelectPerfMonitorCountersAMD(GLuint monitor,GLboolean enable,GLuint group,GLint numCounters,GLuint * countersList)1482 void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* countersList)
1483 {
1484 	GET_CONTEXT;
1485 	ctx->glSelectPerfMonitorCountersAMD(ctx, monitor, enable, group, numCounters, countersList);
1486 }
1487 
glBeginPerfMonitorAMD(GLuint monitor)1488 void glBeginPerfMonitorAMD(GLuint monitor)
1489 {
1490 	GET_CONTEXT;
1491 	ctx->glBeginPerfMonitorAMD(ctx, monitor);
1492 }
1493 
glEndPerfMonitorAMD(GLuint monitor)1494 void glEndPerfMonitorAMD(GLuint monitor)
1495 {
1496 	GET_CONTEXT;
1497 	ctx->glEndPerfMonitorAMD(ctx, monitor);
1498 }
1499 
glGetPerfMonitorCounterDataAMD(GLuint monitor,GLenum pname,GLsizei dataSize,GLuint * data,GLint * bytesWritten)1500 void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten)
1501 {
1502 	GET_CONTEXT;
1503 	ctx->glGetPerfMonitorCounterDataAMD(ctx, monitor, pname, dataSize, data, bytesWritten);
1504 }
1505 
glRenderbufferStorageMultisampleIMG(GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height)1506 void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1507 {
1508 	GET_CONTEXT;
1509 	ctx->glRenderbufferStorageMultisampleIMG(ctx, target, samples, internalformat, width, height);
1510 }
1511 
glFramebufferTexture2DMultisampleIMG(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level,GLsizei samples)1512 void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
1513 {
1514 	GET_CONTEXT;
1515 	ctx->glFramebufferTexture2DMultisampleIMG(ctx, target, attachment, textarget, texture, level, samples);
1516 }
1517 
glDeleteFencesNV(GLsizei n,const GLuint * fences)1518 void glDeleteFencesNV(GLsizei n, const GLuint* fences)
1519 {
1520 	GET_CONTEXT;
1521 	ctx->glDeleteFencesNV(ctx, n, fences);
1522 }
1523 
glGenFencesNV(GLsizei n,GLuint * fences)1524 void glGenFencesNV(GLsizei n, GLuint* fences)
1525 {
1526 	GET_CONTEXT;
1527 	ctx->glGenFencesNV(ctx, n, fences);
1528 }
1529 
glIsFenceNV(GLuint fence)1530 GLboolean glIsFenceNV(GLuint fence)
1531 {
1532 	GET_CONTEXT;
1533 	return ctx->glIsFenceNV(ctx, fence);
1534 }
1535 
glTestFenceNV(GLuint fence)1536 GLboolean glTestFenceNV(GLuint fence)
1537 {
1538 	GET_CONTEXT;
1539 	return ctx->glTestFenceNV(ctx, fence);
1540 }
1541 
glGetFenceivNV(GLuint fence,GLenum pname,GLint * params)1542 void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params)
1543 {
1544 	GET_CONTEXT;
1545 	ctx->glGetFenceivNV(ctx, fence, pname, params);
1546 }
1547 
glFinishFenceNV(GLuint fence)1548 void glFinishFenceNV(GLuint fence)
1549 {
1550 	GET_CONTEXT;
1551 	ctx->glFinishFenceNV(ctx, fence);
1552 }
1553 
glSetFenceNV(GLuint fence,GLenum condition)1554 void glSetFenceNV(GLuint fence, GLenum condition)
1555 {
1556 	GET_CONTEXT;
1557 	ctx->glSetFenceNV(ctx, fence, condition);
1558 }
1559 
glCoverageMaskNV(GLboolean mask)1560 void glCoverageMaskNV(GLboolean mask)
1561 {
1562 	GET_CONTEXT;
1563 	ctx->glCoverageMaskNV(ctx, mask);
1564 }
1565 
glCoverageOperationNV(GLenum operation)1566 void glCoverageOperationNV(GLenum operation)
1567 {
1568 	GET_CONTEXT;
1569 	ctx->glCoverageOperationNV(ctx, operation);
1570 }
1571 
glGetDriverControlsQCOM(GLint * num,GLsizei size,GLuint * driverControls)1572 void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls)
1573 {
1574 	GET_CONTEXT;
1575 	ctx->glGetDriverControlsQCOM(ctx, num, size, driverControls);
1576 }
1577 
glGetDriverControlStringQCOM(GLuint driverControl,GLsizei bufSize,GLsizei * length,GLchar * driverControlString)1578 void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString)
1579 {
1580 	GET_CONTEXT;
1581 	ctx->glGetDriverControlStringQCOM(ctx, driverControl, bufSize, length, driverControlString);
1582 }
1583 
glEnableDriverControlQCOM(GLuint driverControl)1584 void glEnableDriverControlQCOM(GLuint driverControl)
1585 {
1586 	GET_CONTEXT;
1587 	ctx->glEnableDriverControlQCOM(ctx, driverControl);
1588 }
1589 
glDisableDriverControlQCOM(GLuint driverControl)1590 void glDisableDriverControlQCOM(GLuint driverControl)
1591 {
1592 	GET_CONTEXT;
1593 	ctx->glDisableDriverControlQCOM(ctx, driverControl);
1594 }
1595 
glExtGetTexturesQCOM(GLuint * textures,GLint maxTextures,GLint * numTextures)1596 void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures)
1597 {
1598 	GET_CONTEXT;
1599 	ctx->glExtGetTexturesQCOM(ctx, textures, maxTextures, numTextures);
1600 }
1601 
glExtGetBuffersQCOM(GLuint * buffers,GLint maxBuffers,GLint * numBuffers)1602 void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers)
1603 {
1604 	GET_CONTEXT;
1605 	ctx->glExtGetBuffersQCOM(ctx, buffers, maxBuffers, numBuffers);
1606 }
1607 
glExtGetRenderbuffersQCOM(GLuint * renderbuffers,GLint maxRenderbuffers,GLint * numRenderbuffers)1608 void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers)
1609 {
1610 	GET_CONTEXT;
1611 	ctx->glExtGetRenderbuffersQCOM(ctx, renderbuffers, maxRenderbuffers, numRenderbuffers);
1612 }
1613 
glExtGetFramebuffersQCOM(GLuint * framebuffers,GLint maxFramebuffers,GLint * numFramebuffers)1614 void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers)
1615 {
1616 	GET_CONTEXT;
1617 	ctx->glExtGetFramebuffersQCOM(ctx, framebuffers, maxFramebuffers, numFramebuffers);
1618 }
1619 
glExtGetTexLevelParameterivQCOM(GLuint texture,GLenum face,GLint level,GLenum pname,GLint * params)1620 void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params)
1621 {
1622 	GET_CONTEXT;
1623 	ctx->glExtGetTexLevelParameterivQCOM(ctx, texture, face, level, pname, params);
1624 }
1625 
glExtTexObjectStateOverrideiQCOM(GLenum target,GLenum pname,GLint param)1626 void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param)
1627 {
1628 	GET_CONTEXT;
1629 	ctx->glExtTexObjectStateOverrideiQCOM(ctx, target, pname, param);
1630 }
1631 
glExtGetTexSubImageQCOM(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,GLvoid * texels)1632 void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels)
1633 {
1634 	GET_CONTEXT;
1635 	ctx->glExtGetTexSubImageQCOM(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
1636 }
1637 
glExtGetBufferPointervQCOM(GLenum target,GLvoidptr * params)1638 void glExtGetBufferPointervQCOM(GLenum target, GLvoidptr* params)
1639 {
1640 	GET_CONTEXT;
1641 	ctx->glExtGetBufferPointervQCOM(ctx, target, params);
1642 }
1643 
glExtGetShadersQCOM(GLuint * shaders,GLint maxShaders,GLint * numShaders)1644 void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders)
1645 {
1646 	GET_CONTEXT;
1647 	ctx->glExtGetShadersQCOM(ctx, shaders, maxShaders, numShaders);
1648 }
1649 
glExtGetProgramsQCOM(GLuint * programs,GLint maxPrograms,GLint * numPrograms)1650 void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms)
1651 {
1652 	GET_CONTEXT;
1653 	ctx->glExtGetProgramsQCOM(ctx, programs, maxPrograms, numPrograms);
1654 }
1655 
glExtIsProgramBinaryQCOM(GLuint program)1656 GLboolean glExtIsProgramBinaryQCOM(GLuint program)
1657 {
1658 	GET_CONTEXT;
1659 	return ctx->glExtIsProgramBinaryQCOM(ctx, program);
1660 }
1661 
glExtGetProgramBinarySourceQCOM(GLuint program,GLenum shadertype,GLchar * source,GLint * length)1662 void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length)
1663 {
1664 	GET_CONTEXT;
1665 	ctx->glExtGetProgramBinarySourceQCOM(ctx, program, shadertype, source, length);
1666 }
1667 
glStartTilingQCOM(GLuint x,GLuint y,GLuint width,GLuint height,GLbitfield preserveMask)1668 void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
1669 {
1670 	GET_CONTEXT;
1671 	ctx->glStartTilingQCOM(ctx, x, y, width, height, preserveMask);
1672 }
1673 
glEndTilingQCOM(GLbitfield preserveMask)1674 void glEndTilingQCOM(GLbitfield preserveMask)
1675 {
1676 	GET_CONTEXT;
1677 	ctx->glEndTilingQCOM(ctx, preserveMask);
1678 }
1679 
glVertexAttribPointerData(GLuint indx,GLint size,GLenum type,GLboolean normalized,GLsizei stride,void * data,GLuint datalen)1680 void glVertexAttribPointerData(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, void* data, GLuint datalen)
1681 {
1682 	GET_CONTEXT;
1683 	ctx->glVertexAttribPointerData(ctx, indx, size, type, normalized, stride, data, datalen);
1684 }
1685 
glVertexAttribPointerOffset(GLuint indx,GLint size,GLenum type,GLboolean normalized,GLsizei stride,GLuint offset)1686 void glVertexAttribPointerOffset(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint offset)
1687 {
1688 	GET_CONTEXT;
1689 	ctx->glVertexAttribPointerOffset(ctx, indx, size, type, normalized, stride, offset);
1690 }
1691 
glDrawElementsOffset(GLenum mode,GLsizei count,GLenum type,GLuint offset)1692 void glDrawElementsOffset(GLenum mode, GLsizei count, GLenum type, GLuint offset)
1693 {
1694 	GET_CONTEXT;
1695 	ctx->glDrawElementsOffset(ctx, mode, count, type, offset);
1696 }
1697 
glDrawElementsData(GLenum mode,GLsizei count,GLenum type,void * data,GLuint datalen)1698 void glDrawElementsData(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen)
1699 {
1700 	GET_CONTEXT;
1701 	ctx->glDrawElementsData(ctx, mode, count, type, data, datalen);
1702 }
1703 
glGetCompressedTextureFormats(int count,GLint * formats)1704 void glGetCompressedTextureFormats(int count, GLint* formats)
1705 {
1706 	GET_CONTEXT;
1707 	ctx->glGetCompressedTextureFormats(ctx, count, formats);
1708 }
1709 
glShaderString(GLuint shader,const GLchar * string,GLsizei len)1710 void glShaderString(GLuint shader, const GLchar* string, GLsizei len)
1711 {
1712 	GET_CONTEXT;
1713 	ctx->glShaderString(ctx, shader, string, len);
1714 }
1715 
glFinishRoundTrip()1716 int glFinishRoundTrip()
1717 {
1718 	GET_CONTEXT;
1719 	return ctx->glFinishRoundTrip(ctx);
1720 }
1721 
glGenVertexArrays(GLsizei n,GLuint * arrays)1722 void glGenVertexArrays(GLsizei n, GLuint* arrays)
1723 {
1724 	GET_CONTEXT;
1725 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1726 	ctx->glGenVertexArrays(ctx, n, arrays);
1727 }
1728 
glBindVertexArray(GLuint array)1729 void glBindVertexArray(GLuint array)
1730 {
1731 	GET_CONTEXT;
1732 	ctx->glBindVertexArray(ctx, array);
1733 }
1734 
glDeleteVertexArrays(GLsizei n,const GLuint * arrays)1735 void glDeleteVertexArrays(GLsizei n, const GLuint* arrays)
1736 {
1737 	GET_CONTEXT;
1738 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1739 	ctx->glDeleteVertexArrays(ctx, n, arrays);
1740 }
1741 
glIsVertexArray(GLuint array)1742 GLboolean glIsVertexArray(GLuint array)
1743 {
1744 	GET_CONTEXT;
1745 	return ctx->glIsVertexArray(ctx, array);
1746 }
1747 
glMapBufferRange(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access)1748 void* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1749 {
1750 	GET_CONTEXT;
1751 	return ctx->glMapBufferRange(ctx, target, offset, length, access);
1752 }
1753 
glUnmapBuffer(GLenum target)1754 GLboolean glUnmapBuffer(GLenum target)
1755 {
1756 	GET_CONTEXT;
1757 	return ctx->glUnmapBuffer(ctx, target);
1758 }
1759 
glFlushMappedBufferRange(GLenum target,GLintptr offset,GLsizeiptr length)1760 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1761 {
1762 	GET_CONTEXT;
1763 	ctx->glFlushMappedBufferRange(ctx, target, offset, length);
1764 }
1765 
glMapBufferRangeAEMU(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,void * mapped)1766 void glMapBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* mapped)
1767 {
1768 	GET_CONTEXT;
1769 	ctx->glMapBufferRangeAEMU(ctx, target, offset, length, access, mapped);
1770 }
1771 
glUnmapBufferAEMU(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,void * guest_buffer,GLboolean * out_res)1772 void glUnmapBufferAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer, GLboolean* out_res)
1773 {
1774 	GET_CONTEXT;
1775 	ctx->glUnmapBufferAEMU(ctx, target, offset, length, access, guest_buffer, out_res);
1776 }
1777 
glFlushMappedBufferRangeAEMU(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,void * guest_buffer)1778 void glFlushMappedBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer)
1779 {
1780 	GET_CONTEXT;
1781 	ctx->glFlushMappedBufferRangeAEMU(ctx, target, offset, length, access, guest_buffer);
1782 }
1783 
glReadPixelsOffsetAEMU(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLuint offset)1784 void glReadPixelsOffsetAEMU(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset)
1785 {
1786 	GET_CONTEXT;
1787 	ctx->glReadPixelsOffsetAEMU(ctx, x, y, width, height, format, type, offset);
1788 }
1789 
glCompressedTexImage2DOffsetAEMU(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLint border,GLsizei imageSize,GLuint offset)1790 void glCompressedTexImage2DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLuint offset)
1791 {
1792 	GET_CONTEXT;
1793 	ctx->glCompressedTexImage2DOffsetAEMU(ctx, target, level, internalformat, width, height, border, imageSize, offset);
1794 }
1795 
glCompressedTexSubImage2DOffsetAEMU(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLsizei imageSize,GLuint offset)1796 void glCompressedTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLuint offset)
1797 {
1798 	GET_CONTEXT;
1799 	ctx->glCompressedTexSubImage2DOffsetAEMU(ctx, target, level, xoffset, yoffset, width, height, format, imageSize, offset);
1800 }
1801 
glTexImage2DOffsetAEMU(GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,GLuint offset)1802 void glTexImage2DOffsetAEMU(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLuint offset)
1803 {
1804 	GET_CONTEXT;
1805 	ctx->glTexImage2DOffsetAEMU(ctx, target, level, internalformat, width, height, border, format, type, offset);
1806 }
1807 
glTexSubImage2DOffsetAEMU(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,GLuint offset)1808 void glTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset)
1809 {
1810 	GET_CONTEXT;
1811 	ctx->glTexSubImage2DOffsetAEMU(ctx, target, level, xoffset, yoffset, width, height, format, type, offset);
1812 }
1813 
glBindBufferRange(GLenum target,GLuint index,GLuint buffer,GLintptr offset,GLsizeiptr size)1814 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1815 {
1816 	GET_CONTEXT;
1817 	ctx->glBindBufferRange(ctx, target, index, buffer, offset, size);
1818 }
1819 
glBindBufferBase(GLenum target,GLuint index,GLuint buffer)1820 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1821 {
1822 	GET_CONTEXT;
1823 	ctx->glBindBufferBase(ctx, target, index, buffer);
1824 }
1825 
glCopyBufferSubData(GLenum readtarget,GLenum writetarget,GLintptr readoffset,GLintptr writeoffset,GLsizeiptr size)1826 void glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size)
1827 {
1828 	GET_CONTEXT;
1829 	ctx->glCopyBufferSubData(ctx, readtarget, writetarget, readoffset, writeoffset, size);
1830 }
1831 
glClearBufferiv(GLenum buffer,GLint drawBuffer,const GLint * value)1832 void glClearBufferiv(GLenum buffer, GLint drawBuffer, const GLint* value)
1833 {
1834 	GET_CONTEXT;
1835 	ctx->glClearBufferiv(ctx, buffer, drawBuffer, value);
1836 }
1837 
glClearBufferuiv(GLenum buffer,GLint drawBuffer,const GLuint * value)1838 void glClearBufferuiv(GLenum buffer, GLint drawBuffer, const GLuint* value)
1839 {
1840 	GET_CONTEXT;
1841 	ctx->glClearBufferuiv(ctx, buffer, drawBuffer, value);
1842 }
1843 
glClearBufferfv(GLenum buffer,GLint drawBuffer,const GLfloat * value)1844 void glClearBufferfv(GLenum buffer, GLint drawBuffer, const GLfloat* value)
1845 {
1846 	GET_CONTEXT;
1847 	ctx->glClearBufferfv(ctx, buffer, drawBuffer, value);
1848 }
1849 
glClearBufferfi(GLenum buffer,GLint drawBuffer,GLfloat depth,GLint stencil)1850 void glClearBufferfi(GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil)
1851 {
1852 	GET_CONTEXT;
1853 	ctx->glClearBufferfi(ctx, buffer, drawBuffer, depth, stencil);
1854 }
1855 
glGetBufferParameteri64v(GLenum target,GLenum value,GLint64 * data)1856 void glGetBufferParameteri64v(GLenum target, GLenum value, GLint64* data)
1857 {
1858 	GET_CONTEXT;
1859 	ctx->glGetBufferParameteri64v(ctx, target, value, data);
1860 }
1861 
glGetBufferPointerv(GLenum target,GLenum pname,GLvoid ** params)1862 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params)
1863 {
1864 	GET_CONTEXT;
1865 	ctx->glGetBufferPointerv(ctx, target, pname, params);
1866 }
1867 
glUniformBlockBinding(GLuint program,GLuint uniformBlockIndex,GLuint uniformBlockBinding)1868 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1869 {
1870 	GET_CONTEXT;
1871 	ctx->glUniformBlockBinding(ctx, program, uniformBlockIndex, uniformBlockBinding);
1872 }
1873 
glGetUniformBlockIndex(GLuint program,const GLchar * uniformBlockName)1874 GLuint glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName)
1875 {
1876 	GET_CONTEXT;
1877 	return ctx->glGetUniformBlockIndex(ctx, program, uniformBlockName);
1878 }
1879 
glGetUniformIndices(GLuint program,GLsizei uniformCount,const GLchar ** uniformNames,GLuint * uniformIndices)1880 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices)
1881 {
1882 	GET_CONTEXT;
1883 	ctx->glGetUniformIndices(ctx, program, uniformCount, uniformNames, uniformIndices);
1884 }
1885 
glGetUniformIndicesAEMU(GLuint program,GLsizei uniformCount,const GLchar * packedUniformNames,GLsizei packedLen,GLuint * uniformIndices)1886 void glGetUniformIndicesAEMU(GLuint program, GLsizei uniformCount, const GLchar* packedUniformNames, GLsizei packedLen, GLuint* uniformIndices)
1887 {
1888 	GET_CONTEXT;
1889 	ctx->glGetUniformIndicesAEMU(ctx, program, uniformCount, packedUniformNames, packedLen, uniformIndices);
1890 }
1891 
glGetActiveUniformBlockiv(GLuint program,GLuint uniformBlockIndex,GLenum pname,GLint * params)1892 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params)
1893 {
1894 	GET_CONTEXT;
1895 	ctx->glGetActiveUniformBlockiv(ctx, program, uniformBlockIndex, pname, params);
1896 }
1897 
glGetActiveUniformBlockName(GLuint program,GLuint uniformBlockIndex,GLsizei bufSize,GLsizei * length,GLchar * uniformBlockName)1898 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)
1899 {
1900 	GET_CONTEXT;
1901 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
1902 	ctx->glGetActiveUniformBlockName(ctx, program, uniformBlockIndex, bufSize, length, uniformBlockName);
1903 }
1904 
glUniform1ui(GLint location,GLuint v0)1905 void glUniform1ui(GLint location, GLuint v0)
1906 {
1907 	GET_CONTEXT;
1908 	ctx->glUniform1ui(ctx, location, v0);
1909 }
1910 
glUniform2ui(GLint location,GLuint v0,GLuint v1)1911 void glUniform2ui(GLint location, GLuint v0, GLuint v1)
1912 {
1913 	GET_CONTEXT;
1914 	ctx->glUniform2ui(ctx, location, v0, v1);
1915 }
1916 
glUniform3ui(GLint location,GLuint v0,GLuint v1,GLuint v2)1917 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1918 {
1919 	GET_CONTEXT;
1920 	ctx->glUniform3ui(ctx, location, v0, v1, v2);
1921 }
1922 
glUniform4ui(GLint location,GLint v0,GLuint v1,GLuint v2,GLuint v3)1923 void glUniform4ui(GLint location, GLint v0, GLuint v1, GLuint v2, GLuint v3)
1924 {
1925 	GET_CONTEXT;
1926 	ctx->glUniform4ui(ctx, location, v0, v1, v2, v3);
1927 }
1928 
glUniform1uiv(GLint location,GLsizei count,const GLuint * value)1929 void glUniform1uiv(GLint location, GLsizei count, const GLuint* value)
1930 {
1931 	GET_CONTEXT;
1932 	ctx->glUniform1uiv(ctx, location, count, value);
1933 }
1934 
glUniform2uiv(GLint location,GLsizei count,const GLuint * value)1935 void glUniform2uiv(GLint location, GLsizei count, const GLuint* value)
1936 {
1937 	GET_CONTEXT;
1938 	ctx->glUniform2uiv(ctx, location, count, value);
1939 }
1940 
glUniform3uiv(GLint location,GLsizei count,const GLuint * value)1941 void glUniform3uiv(GLint location, GLsizei count, const GLuint* value)
1942 {
1943 	GET_CONTEXT;
1944 	ctx->glUniform3uiv(ctx, location, count, value);
1945 }
1946 
glUniform4uiv(GLint location,GLsizei count,const GLuint * value)1947 void glUniform4uiv(GLint location, GLsizei count, const GLuint* value)
1948 {
1949 	GET_CONTEXT;
1950 	ctx->glUniform4uiv(ctx, location, count, value);
1951 }
1952 
glUniformMatrix2x3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1953 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1954 {
1955 	GET_CONTEXT;
1956 	ctx->glUniformMatrix2x3fv(ctx, location, count, transpose, value);
1957 }
1958 
glUniformMatrix3x2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1959 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1960 {
1961 	GET_CONTEXT;
1962 	ctx->glUniformMatrix3x2fv(ctx, location, count, transpose, value);
1963 }
1964 
glUniformMatrix2x4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1965 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1966 {
1967 	GET_CONTEXT;
1968 	ctx->glUniformMatrix2x4fv(ctx, location, count, transpose, value);
1969 }
1970 
glUniformMatrix4x2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1971 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1972 {
1973 	GET_CONTEXT;
1974 	ctx->glUniformMatrix4x2fv(ctx, location, count, transpose, value);
1975 }
1976 
glUniformMatrix3x4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1977 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1978 {
1979 	GET_CONTEXT;
1980 	ctx->glUniformMatrix3x4fv(ctx, location, count, transpose, value);
1981 }
1982 
glUniformMatrix4x3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)1983 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1984 {
1985 	GET_CONTEXT;
1986 	ctx->glUniformMatrix4x3fv(ctx, location, count, transpose, value);
1987 }
1988 
glGetUniformuiv(GLuint program,GLint location,GLuint * params)1989 void glGetUniformuiv(GLuint program, GLint location, GLuint* params)
1990 {
1991 	GET_CONTEXT;
1992 	ctx->glGetUniformuiv(ctx, program, location, params);
1993 }
1994 
glGetActiveUniformsiv(GLuint program,GLsizei uniformCount,const GLuint * uniformIndices,GLenum pname,GLint * params)1995 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params)
1996 {
1997 	GET_CONTEXT;
1998 	ctx->glGetActiveUniformsiv(ctx, program, uniformCount, uniformIndices, pname, params);
1999 }
2000 
glVertexAttribI4i(GLuint index,GLint v0,GLint v1,GLint v2,GLint v3)2001 void glVertexAttribI4i(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3)
2002 {
2003 	GET_CONTEXT;
2004 	ctx->glVertexAttribI4i(ctx, index, v0, v1, v2, v3);
2005 }
2006 
glVertexAttribI4ui(GLuint index,GLuint v0,GLuint v1,GLuint v2,GLuint v3)2007 void glVertexAttribI4ui(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
2008 {
2009 	GET_CONTEXT;
2010 	ctx->glVertexAttribI4ui(ctx, index, v0, v1, v2, v3);
2011 }
2012 
glVertexAttribI4iv(GLuint index,const GLint * v)2013 void glVertexAttribI4iv(GLuint index, const GLint* v)
2014 {
2015 	GET_CONTEXT;
2016 	ctx->glVertexAttribI4iv(ctx, index, v);
2017 }
2018 
glVertexAttribI4uiv(GLuint index,const GLuint * v)2019 void glVertexAttribI4uiv(GLuint index, const GLuint* v)
2020 {
2021 	GET_CONTEXT;
2022 	ctx->glVertexAttribI4uiv(ctx, index, v);
2023 }
2024 
glVertexAttribIPointer(GLuint index,GLint size,GLenum type,GLsizei stride,const GLvoid * pointer)2025 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
2026 {
2027 	GET_CONTEXT;
2028 	ctx->glVertexAttribIPointer(ctx, index, size, type, stride, pointer);
2029 }
2030 
glVertexAttribIPointerOffsetAEMU(GLuint index,GLint size,GLenum type,GLsizei stride,GLuint offset)2031 void glVertexAttribIPointerOffsetAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, GLuint offset)
2032 {
2033 	GET_CONTEXT;
2034 	ctx->glVertexAttribIPointerOffsetAEMU(ctx, index, size, type, stride, offset);
2035 }
2036 
glVertexAttribIPointerDataAEMU(GLuint index,GLint size,GLenum type,GLsizei stride,void * data,GLuint datalen)2037 void glVertexAttribIPointerDataAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
2038 {
2039 	GET_CONTEXT;
2040 	ctx->glVertexAttribIPointerDataAEMU(ctx, index, size, type, stride, data, datalen);
2041 }
2042 
glGetVertexAttribIiv(GLuint index,GLenum pname,GLint * params)2043 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params)
2044 {
2045 	GET_CONTEXT;
2046 	ctx->glGetVertexAttribIiv(ctx, index, pname, params);
2047 }
2048 
glGetVertexAttribIuiv(GLuint index,GLenum pname,GLuint * params)2049 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params)
2050 {
2051 	GET_CONTEXT;
2052 	ctx->glGetVertexAttribIuiv(ctx, index, pname, params);
2053 }
2054 
glVertexAttribDivisor(GLuint index,GLuint divisor)2055 void glVertexAttribDivisor(GLuint index, GLuint divisor)
2056 {
2057 	GET_CONTEXT;
2058 	ctx->glVertexAttribDivisor(ctx, index, divisor);
2059 }
2060 
glDrawArraysInstanced(GLenum mode,GLint first,GLsizei count,GLsizei primcount)2061 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount)
2062 {
2063 	GET_CONTEXT;
2064 	ctx->glDrawArraysInstanced(ctx, mode, first, count, primcount);
2065 }
2066 
glDrawElementsInstanced(GLenum mode,GLsizei count,GLenum type,const void * indices,GLsizei primcount)2067 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount)
2068 {
2069 	GET_CONTEXT;
2070 	ctx->glDrawElementsInstanced(ctx, mode, count, type, indices, primcount);
2071 }
2072 
glDrawElementsInstancedDataAEMU(GLenum mode,GLsizei count,GLenum type,const void * indices,GLsizei primcount,GLsizei datalen)2073 void glDrawElementsInstancedDataAEMU(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLsizei datalen)
2074 {
2075 	GET_CONTEXT;
2076 	ctx->glDrawElementsInstancedDataAEMU(ctx, mode, count, type, indices, primcount, datalen);
2077 }
2078 
glDrawElementsInstancedOffsetAEMU(GLenum mode,GLsizei count,GLenum type,GLuint offset,GLsizei primcount)2079 void glDrawElementsInstancedOffsetAEMU(GLenum mode, GLsizei count, GLenum type, GLuint offset, GLsizei primcount)
2080 {
2081 	GET_CONTEXT;
2082 	ctx->glDrawElementsInstancedOffsetAEMU(ctx, mode, count, type, offset, primcount);
2083 }
2084 
glDrawRangeElements(GLenum mode,GLuint start,GLuint end,GLsizei count,GLenum type,const GLvoid * indices)2085 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices)
2086 {
2087 	GET_CONTEXT;
2088 	ctx->glDrawRangeElements(ctx, mode, start, end, count, type, indices);
2089 }
2090 
glDrawRangeElementsDataAEMU(GLenum mode,GLuint start,GLuint end,GLsizei count,GLenum type,const GLvoid * indices,GLsizei datalen)2091 void glDrawRangeElementsDataAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices, GLsizei datalen)
2092 {
2093 	GET_CONTEXT;
2094 	ctx->glDrawRangeElementsDataAEMU(ctx, mode, start, end, count, type, indices, datalen);
2095 }
2096 
glDrawRangeElementsOffsetAEMU(GLenum mode,GLuint start,GLuint end,GLsizei count,GLenum type,GLuint offset)2097 void glDrawRangeElementsOffsetAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLuint offset)
2098 {
2099 	GET_CONTEXT;
2100 	ctx->glDrawRangeElementsOffsetAEMU(ctx, mode, start, end, count, type, offset);
2101 }
2102 
glFenceSync(GLenum condition,GLbitfield flags)2103 GLsync glFenceSync(GLenum condition, GLbitfield flags)
2104 {
2105 	GET_CONTEXT;
2106 	return ctx->glFenceSync(ctx, condition, flags);
2107 }
2108 
glClientWaitSync(GLsync wait_on,GLbitfield flags,GLuint64 timeout)2109 GLenum glClientWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout)
2110 {
2111 	GET_CONTEXT;
2112 	return ctx->glClientWaitSync(ctx, wait_on, flags, timeout);
2113 }
2114 
glWaitSync(GLsync wait_on,GLbitfield flags,GLuint64 timeout)2115 void glWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout)
2116 {
2117 	GET_CONTEXT;
2118 	ctx->glWaitSync(ctx, wait_on, flags, timeout);
2119 }
2120 
glDeleteSync(GLsync to_delete)2121 void glDeleteSync(GLsync to_delete)
2122 {
2123 	GET_CONTEXT;
2124 	ctx->glDeleteSync(ctx, to_delete);
2125 }
2126 
glIsSync(GLsync sync)2127 GLboolean glIsSync(GLsync sync)
2128 {
2129 	GET_CONTEXT;
2130 	return ctx->glIsSync(ctx, sync);
2131 }
2132 
glGetSynciv(GLsync sync,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * values)2133 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
2134 {
2135 	GET_CONTEXT;
2136 	ctx->glGetSynciv(ctx, sync, pname, bufSize, length, values);
2137 }
2138 
glFenceSyncAEMU(GLenum condition,GLbitfield flags)2139 uint64_t glFenceSyncAEMU(GLenum condition, GLbitfield flags)
2140 {
2141 	GET_CONTEXT;
2142 	return ctx->glFenceSyncAEMU(ctx, condition, flags);
2143 }
2144 
glClientWaitSyncAEMU(uint64_t wait_on,GLbitfield flags,GLuint64 timeout)2145 GLenum glClientWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
2146 {
2147 	GET_CONTEXT;
2148 	return ctx->glClientWaitSyncAEMU(ctx, wait_on, flags, timeout);
2149 }
2150 
glWaitSyncAEMU(uint64_t wait_on,GLbitfield flags,GLuint64 timeout)2151 void glWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
2152 {
2153 	GET_CONTEXT;
2154 	ctx->glWaitSyncAEMU(ctx, wait_on, flags, timeout);
2155 }
2156 
glDeleteSyncAEMU(uint64_t to_delete)2157 void glDeleteSyncAEMU(uint64_t to_delete)
2158 {
2159 	GET_CONTEXT;
2160 	ctx->glDeleteSyncAEMU(ctx, to_delete);
2161 }
2162 
glIsSyncAEMU(uint64_t sync)2163 GLboolean glIsSyncAEMU(uint64_t sync)
2164 {
2165 	GET_CONTEXT;
2166 	return ctx->glIsSyncAEMU(ctx, sync);
2167 }
2168 
glGetSyncivAEMU(uint64_t sync,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * values)2169 void glGetSyncivAEMU(uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
2170 {
2171 	GET_CONTEXT;
2172 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2173 	ctx->glGetSyncivAEMU(ctx, sync, pname, bufSize, length, values);
2174 }
2175 
glDrawBuffers(GLsizei n,const GLenum * bufs)2176 void glDrawBuffers(GLsizei n, const GLenum* bufs)
2177 {
2178 	GET_CONTEXT;
2179 	ctx->glDrawBuffers(ctx, n, bufs);
2180 }
2181 
glReadBuffer(GLenum src)2182 void glReadBuffer(GLenum src)
2183 {
2184 	GET_CONTEXT;
2185 	ctx->glReadBuffer(ctx, src);
2186 }
2187 
glBlitFramebuffer(GLint srcX0,GLint srcY0,GLint srcX1,GLint srcY1,GLint dstX0,GLint dstY0,GLint dstX1,GLint dstY1,GLbitfield mask,GLenum filter)2188 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
2189 {
2190 	GET_CONTEXT;
2191 	ctx->glBlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
2192 }
2193 
glInvalidateFramebuffer(GLenum target,GLsizei numAttachments,const GLenum * attachments)2194 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments)
2195 {
2196 	GET_CONTEXT;
2197 	ctx->glInvalidateFramebuffer(ctx, target, numAttachments, attachments);
2198 }
2199 
glInvalidateSubFramebuffer(GLenum target,GLsizei numAttachments,const GLenum * attachments,GLint x,GLint y,GLsizei width,GLsizei height)2200 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
2201 {
2202 	GET_CONTEXT;
2203 	ctx->glInvalidateSubFramebuffer(ctx, target, numAttachments, attachments, x, y, width, height);
2204 }
2205 
glFramebufferTextureLayer(GLenum target,GLenum attachment,GLuint texture,GLint level,GLint layer)2206 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
2207 {
2208 	GET_CONTEXT;
2209 	ctx->glFramebufferTextureLayer(ctx, target, attachment, texture, level, layer);
2210 }
2211 
glRenderbufferStorageMultisample(GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height)2212 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
2213 {
2214 	GET_CONTEXT;
2215 	ctx->glRenderbufferStorageMultisample(ctx, target, samples, internalformat, width, height);
2216 }
2217 
glTexStorage2D(GLenum target,GLsizei levels,GLenum internalformat,GLsizei width,GLsizei height)2218 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
2219 {
2220 	GET_CONTEXT;
2221 	ctx->glTexStorage2D(ctx, target, levels, internalformat, width, height);
2222 }
2223 
glGetInternalformativ(GLenum target,GLenum internalformat,GLenum pname,GLsizei bufSize,GLint * params)2224 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)
2225 {
2226 	GET_CONTEXT;
2227 	ctx->glGetInternalformativ(ctx, target, internalformat, pname, bufSize, params);
2228 }
2229 
glBeginTransformFeedback(GLenum primitiveMode)2230 void glBeginTransformFeedback(GLenum primitiveMode)
2231 {
2232 	GET_CONTEXT;
2233 	ctx->glBeginTransformFeedback(ctx, primitiveMode);
2234 }
2235 
glEndTransformFeedback()2236 void glEndTransformFeedback()
2237 {
2238 	GET_CONTEXT;
2239 	ctx->glEndTransformFeedback(ctx);
2240 }
2241 
glGenTransformFeedbacks(GLsizei n,GLuint * ids)2242 void glGenTransformFeedbacks(GLsizei n, GLuint* ids)
2243 {
2244 	GET_CONTEXT;
2245 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2246 	ctx->glGenTransformFeedbacks(ctx, n, ids);
2247 }
2248 
glDeleteTransformFeedbacks(GLsizei n,const GLuint * ids)2249 void glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids)
2250 {
2251 	GET_CONTEXT;
2252 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2253 	ctx->glDeleteTransformFeedbacks(ctx, n, ids);
2254 }
2255 
glBindTransformFeedback(GLenum target,GLuint id)2256 void glBindTransformFeedback(GLenum target, GLuint id)
2257 {
2258 	GET_CONTEXT;
2259 	ctx->glBindTransformFeedback(ctx, target, id);
2260 }
2261 
glPauseTransformFeedback()2262 void glPauseTransformFeedback()
2263 {
2264 	GET_CONTEXT;
2265 	ctx->glPauseTransformFeedback(ctx);
2266 }
2267 
glResumeTransformFeedback()2268 void glResumeTransformFeedback()
2269 {
2270 	GET_CONTEXT;
2271 	ctx->glResumeTransformFeedback(ctx);
2272 }
2273 
glIsTransformFeedback(GLuint id)2274 GLboolean glIsTransformFeedback(GLuint id)
2275 {
2276 	GET_CONTEXT;
2277 	return ctx->glIsTransformFeedback(ctx, id);
2278 }
2279 
glTransformFeedbackVaryings(GLuint program,GLsizei count,const char ** varyings,GLenum bufferMode)2280 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const char** varyings, GLenum bufferMode)
2281 {
2282 	GET_CONTEXT;
2283 	ctx->glTransformFeedbackVaryings(ctx, program, count, varyings, bufferMode);
2284 }
2285 
glTransformFeedbackVaryingsAEMU(GLuint program,GLsizei count,const char * packedVaryings,GLuint packedVaryingsLen,GLenum bufferMode)2286 void glTransformFeedbackVaryingsAEMU(GLuint program, GLsizei count, const char* packedVaryings, GLuint packedVaryingsLen, GLenum bufferMode)
2287 {
2288 	GET_CONTEXT;
2289 	ctx->glTransformFeedbackVaryingsAEMU(ctx, program, count, packedVaryings, packedVaryingsLen, bufferMode);
2290 }
2291 
glGetTransformFeedbackVarying(GLuint program,GLuint index,GLsizei bufSize,GLsizei * length,GLsizei * size,GLenum * type,char * name)2292 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, char* name)
2293 {
2294 	GET_CONTEXT;
2295 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2296 	ctx->glGetTransformFeedbackVarying(ctx, program, index, bufSize, length, size, type, name);
2297 }
2298 
glGenSamplers(GLsizei n,GLuint * samplers)2299 void glGenSamplers(GLsizei n, GLuint* samplers)
2300 {
2301 	GET_CONTEXT;
2302 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2303 	ctx->glGenSamplers(ctx, n, samplers);
2304 }
2305 
glDeleteSamplers(GLsizei n,const GLuint * samplers)2306 void glDeleteSamplers(GLsizei n, const GLuint* samplers)
2307 {
2308 	GET_CONTEXT;
2309 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2310 	ctx->glDeleteSamplers(ctx, n, samplers);
2311 }
2312 
glBindSampler(GLuint unit,GLuint sampler)2313 void glBindSampler(GLuint unit, GLuint sampler)
2314 {
2315 	GET_CONTEXT;
2316 	ctx->glBindSampler(ctx, unit, sampler);
2317 }
2318 
glSamplerParameterf(GLuint sampler,GLenum pname,GLfloat param)2319 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
2320 {
2321 	GET_CONTEXT;
2322 	ctx->glSamplerParameterf(ctx, sampler, pname, param);
2323 }
2324 
glSamplerParameteri(GLuint sampler,GLenum pname,GLint param)2325 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
2326 {
2327 	GET_CONTEXT;
2328 	ctx->glSamplerParameteri(ctx, sampler, pname, param);
2329 }
2330 
glSamplerParameterfv(GLuint sampler,GLenum pname,const GLfloat * params)2331 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* params)
2332 {
2333 	GET_CONTEXT;
2334 	ctx->glSamplerParameterfv(ctx, sampler, pname, params);
2335 }
2336 
glSamplerParameteriv(GLuint sampler,GLenum pname,const GLint * params)2337 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* params)
2338 {
2339 	GET_CONTEXT;
2340 	ctx->glSamplerParameteriv(ctx, sampler, pname, params);
2341 }
2342 
glGetSamplerParameterfv(GLuint sampler,GLenum pname,GLfloat * params)2343 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params)
2344 {
2345 	GET_CONTEXT;
2346 	ctx->glGetSamplerParameterfv(ctx, sampler, pname, params);
2347 }
2348 
glGetSamplerParameteriv(GLuint sampler,GLenum pname,GLint * params)2349 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params)
2350 {
2351 	GET_CONTEXT;
2352 	ctx->glGetSamplerParameteriv(ctx, sampler, pname, params);
2353 }
2354 
glIsSampler(GLuint sampler)2355 GLboolean glIsSampler(GLuint sampler)
2356 {
2357 	GET_CONTEXT;
2358 	return ctx->glIsSampler(ctx, sampler);
2359 }
2360 
glGenQueries(GLsizei n,GLuint * queries)2361 void glGenQueries(GLsizei n, GLuint* queries)
2362 {
2363 	GET_CONTEXT;
2364 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2365 	ctx->glGenQueries(ctx, n, queries);
2366 }
2367 
glDeleteQueries(GLsizei n,const GLuint * queries)2368 void glDeleteQueries(GLsizei n, const GLuint* queries)
2369 {
2370 	GET_CONTEXT;
2371 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2372 	ctx->glDeleteQueries(ctx, n, queries);
2373 }
2374 
glBeginQuery(GLenum target,GLuint query)2375 void glBeginQuery(GLenum target, GLuint query)
2376 {
2377 	GET_CONTEXT;
2378 	ctx->glBeginQuery(ctx, target, query);
2379 }
2380 
glEndQuery(GLenum target)2381 void glEndQuery(GLenum target)
2382 {
2383 	GET_CONTEXT;
2384 	ctx->glEndQuery(ctx, target);
2385 }
2386 
glGetQueryiv(GLenum target,GLenum pname,GLint * params)2387 void glGetQueryiv(GLenum target, GLenum pname, GLint* params)
2388 {
2389 	GET_CONTEXT;
2390 	ctx->glGetQueryiv(ctx, target, pname, params);
2391 }
2392 
glGetQueryObjectuiv(GLuint query,GLenum pname,GLuint * params)2393 void glGetQueryObjectuiv(GLuint query, GLenum pname, GLuint* params)
2394 {
2395 	GET_CONTEXT;
2396 	ctx->glGetQueryObjectuiv(ctx, query, pname, params);
2397 }
2398 
glIsQuery(GLuint query)2399 GLboolean glIsQuery(GLuint query)
2400 {
2401 	GET_CONTEXT;
2402 	return ctx->glIsQuery(ctx, query);
2403 }
2404 
glProgramParameteri(GLuint program,GLenum pname,GLint value)2405 void glProgramParameteri(GLuint program, GLenum pname, GLint value)
2406 {
2407 	GET_CONTEXT;
2408 	ctx->glProgramParameteri(ctx, program, pname, value);
2409 }
2410 
glProgramBinary(GLuint program,GLenum binaryFormat,const void * binary,GLsizei length)2411 void glProgramBinary(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length)
2412 {
2413 	GET_CONTEXT;
2414 	ctx->glProgramBinary(ctx, program, binaryFormat, binary, length);
2415 }
2416 
glGetProgramBinary(GLuint program,GLsizei bufSize,GLsizei * length,GLenum * binaryFormat,void * binary)2417 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary)
2418 {
2419 	GET_CONTEXT;
2420 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2421 	ctx->glGetProgramBinary(ctx, program, bufSize, length, binaryFormat, binary);
2422 }
2423 
glGetFragDataLocation(GLuint program,const char * name)2424 GLint glGetFragDataLocation(GLuint program, const char* name)
2425 {
2426 	GET_CONTEXT;
2427 	return ctx->glGetFragDataLocation(ctx, program, name);
2428 }
2429 
glGetInteger64v(GLenum pname,GLint64 * data)2430 void glGetInteger64v(GLenum pname, GLint64* data)
2431 {
2432 	GET_CONTEXT;
2433 	ctx->glGetInteger64v(ctx, pname, data);
2434 }
2435 
glGetIntegeri_v(GLenum target,GLuint index,GLint * data)2436 void glGetIntegeri_v(GLenum target, GLuint index, GLint* data)
2437 {
2438 	GET_CONTEXT;
2439 	ctx->glGetIntegeri_v(ctx, target, index, data);
2440 }
2441 
glGetInteger64i_v(GLenum target,GLuint index,GLint64 * data)2442 void glGetInteger64i_v(GLenum target, GLuint index, GLint64* data)
2443 {
2444 	GET_CONTEXT;
2445 	ctx->glGetInteger64i_v(ctx, target, index, data);
2446 }
2447 
glTexImage3D(GLenum target,GLint level,GLint internalFormat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLenum format,GLenum type,const GLvoid * data)2448 void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data)
2449 {
2450 	GET_CONTEXT;
2451 	ctx->glTexImage3D(ctx, target, level, internalFormat, width, height, depth, border, format, type, data);
2452 }
2453 
glTexImage3DOffsetAEMU(GLenum target,GLint level,GLint internalFormat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLenum format,GLenum type,GLuint offset)2454 void glTexImage3DOffsetAEMU(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLuint offset)
2455 {
2456 	GET_CONTEXT;
2457 	ctx->glTexImage3DOffsetAEMU(ctx, target, level, internalFormat, width, height, depth, border, format, type, offset);
2458 }
2459 
glTexStorage3D(GLenum target,GLsizei levels,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth)2460 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
2461 {
2462 	GET_CONTEXT;
2463 	ctx->glTexStorage3D(ctx, target, levels, internalformat, width, height, depth);
2464 }
2465 
glTexSubImage3D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,const GLvoid * data)2466 void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* data)
2467 {
2468 	GET_CONTEXT;
2469 	ctx->glTexSubImage3D(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
2470 }
2471 
glTexSubImage3DOffsetAEMU(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,GLuint offset)2472 void glTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLuint offset)
2473 {
2474 	GET_CONTEXT;
2475 	ctx->glTexSubImage3DOffsetAEMU(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset);
2476 }
2477 
glCompressedTexImage3D(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLsizei imageSize,const GLvoid * data)2478 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
2479 {
2480 	GET_CONTEXT;
2481 	 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2482 	ctx->glCompressedTexImage3D(ctx, target, level, internalformat, width, height, depth, border, imageSize, data);
2483 }
2484 
glCompressedTexImage3DOffsetAEMU(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLsizei imageSize,GLuint offset)2485 void glCompressedTexImage3DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLuint offset)
2486 {
2487 	GET_CONTEXT;
2488 	ctx->glCompressedTexImage3DOffsetAEMU(ctx, target, level, internalformat, width, height, depth, border, imageSize, offset);
2489 }
2490 
glCompressedTexSubImage3D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLsizei imageSize,const GLvoid * data)2491 void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data)
2492 {
2493 	GET_CONTEXT;
2494 	 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2495 	ctx->glCompressedTexSubImage3D(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
2496 }
2497 
glCompressedTexSubImage3DOffsetAEMU(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLsizei imageSize,GLuint data)2498 void glCompressedTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLuint data)
2499 {
2500 	GET_CONTEXT;
2501 	ctx->glCompressedTexSubImage3DOffsetAEMU(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
2502 }
2503 
glCopyTexSubImage3D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLint x,GLint y,GLsizei width,GLsizei height)2504 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
2505 {
2506 	GET_CONTEXT;
2507 	ctx->glCopyTexSubImage3D(ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height);
2508 }
2509 
glGetStringi(GLenum name,GLuint index)2510 const GLubyte* glGetStringi(GLenum name, GLuint index)
2511 {
2512 	GET_CONTEXT;
2513 	return ctx->glGetStringi(ctx, name, index);
2514 }
2515 
glGetBooleani_v(GLenum target,GLuint index,GLboolean * data)2516 void glGetBooleani_v(GLenum target, GLuint index, GLboolean* data)
2517 {
2518 	GET_CONTEXT;
2519 	ctx->glGetBooleani_v(ctx, target, index, data);
2520 }
2521 
glMemoryBarrier(GLbitfield barriers)2522 void glMemoryBarrier(GLbitfield barriers)
2523 {
2524 	GET_CONTEXT;
2525 	ctx->glMemoryBarrier(ctx, barriers);
2526 }
2527 
glMemoryBarrierByRegion(GLbitfield barriers)2528 void glMemoryBarrierByRegion(GLbitfield barriers)
2529 {
2530 	GET_CONTEXT;
2531 	ctx->glMemoryBarrierByRegion(ctx, barriers);
2532 }
2533 
glGenProgramPipelines(GLsizei n,GLuint * pipelines)2534 void glGenProgramPipelines(GLsizei n, GLuint* pipelines)
2535 {
2536 	GET_CONTEXT;
2537 	ctx->glGenProgramPipelines(ctx, n, pipelines);
2538 }
2539 
glDeleteProgramPipelines(GLsizei n,const GLuint * pipelines)2540 void glDeleteProgramPipelines(GLsizei n, const GLuint* pipelines)
2541 {
2542 	GET_CONTEXT;
2543 	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2544 	ctx->glDeleteProgramPipelines(ctx, n, pipelines);
2545 }
2546 
glBindProgramPipeline(GLuint pipeline)2547 void glBindProgramPipeline(GLuint pipeline)
2548 {
2549 	GET_CONTEXT;
2550 	ctx->glBindProgramPipeline(ctx, pipeline);
2551 }
2552 
glGetProgramPipelineiv(GLuint pipeline,GLenum pname,GLint * params)2553 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params)
2554 {
2555 	GET_CONTEXT;
2556 	ctx->glGetProgramPipelineiv(ctx, pipeline, pname, params);
2557 }
2558 
glGetProgramPipelineInfoLog(GLuint pipeline,GLsizei bufSize,GLsizei * length,GLchar * infoLog)2559 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
2560 {
2561 	GET_CONTEXT;
2562 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2563 	ctx->glGetProgramPipelineInfoLog(ctx, pipeline, bufSize, length, infoLog);
2564 }
2565 
glValidateProgramPipeline(GLuint pipeline)2566 void glValidateProgramPipeline(GLuint pipeline)
2567 {
2568 	GET_CONTEXT;
2569 	ctx->glValidateProgramPipeline(ctx, pipeline);
2570 }
2571 
glIsProgramPipeline(GLuint pipeline)2572 GLboolean glIsProgramPipeline(GLuint pipeline)
2573 {
2574 	GET_CONTEXT;
2575 	return ctx->glIsProgramPipeline(ctx, pipeline);
2576 }
2577 
glUseProgramStages(GLuint pipeline,GLbitfield stages,GLuint program)2578 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
2579 {
2580 	GET_CONTEXT;
2581 	ctx->glUseProgramStages(ctx, pipeline, stages, program);
2582 }
2583 
glActiveShaderProgram(GLuint pipeline,GLuint program)2584 void glActiveShaderProgram(GLuint pipeline, GLuint program)
2585 {
2586 	GET_CONTEXT;
2587 	ctx->glActiveShaderProgram(ctx, pipeline, program);
2588 }
2589 
glCreateShaderProgramv(GLenum type,GLsizei count,const char ** strings)2590 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const char** strings)
2591 {
2592 	GET_CONTEXT;
2593 	return ctx->glCreateShaderProgramv(ctx, type, count, strings);
2594 }
2595 
glCreateShaderProgramvAEMU(GLenum type,GLsizei count,const char * packedStrings,GLuint packedLen)2596 GLuint glCreateShaderProgramvAEMU(GLenum type, GLsizei count, const char* packedStrings, GLuint packedLen)
2597 {
2598 	GET_CONTEXT;
2599 	return ctx->glCreateShaderProgramvAEMU(ctx, type, count, packedStrings, packedLen);
2600 }
2601 
glProgramUniform1f(GLuint program,GLint location,GLfloat v0)2602 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
2603 {
2604 	GET_CONTEXT;
2605 	ctx->glProgramUniform1f(ctx, program, location, v0);
2606 }
2607 
glProgramUniform2f(GLuint program,GLint location,GLfloat v0,GLfloat v1)2608 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
2609 {
2610 	GET_CONTEXT;
2611 	ctx->glProgramUniform2f(ctx, program, location, v0, v1);
2612 }
2613 
glProgramUniform3f(GLuint program,GLint location,GLfloat v0,GLfloat v1,GLfloat v2)2614 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
2615 {
2616 	GET_CONTEXT;
2617 	ctx->glProgramUniform3f(ctx, program, location, v0, v1, v2);
2618 }
2619 
glProgramUniform4f(GLuint program,GLint location,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3)2620 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
2621 {
2622 	GET_CONTEXT;
2623 	ctx->glProgramUniform4f(ctx, program, location, v0, v1, v2, v3);
2624 }
2625 
glProgramUniform1i(GLuint program,GLint location,GLint v0)2626 void glProgramUniform1i(GLuint program, GLint location, GLint v0)
2627 {
2628 	GET_CONTEXT;
2629 	ctx->glProgramUniform1i(ctx, program, location, v0);
2630 }
2631 
glProgramUniform2i(GLuint program,GLint location,GLint v0,GLint v1)2632 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
2633 {
2634 	GET_CONTEXT;
2635 	ctx->glProgramUniform2i(ctx, program, location, v0, v1);
2636 }
2637 
glProgramUniform3i(GLuint program,GLint location,GLint v0,GLint v1,GLint v2)2638 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
2639 {
2640 	GET_CONTEXT;
2641 	ctx->glProgramUniform3i(ctx, program, location, v0, v1, v2);
2642 }
2643 
glProgramUniform4i(GLuint program,GLint location,GLint v0,GLint v1,GLint v2,GLint v3)2644 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
2645 {
2646 	GET_CONTEXT;
2647 	ctx->glProgramUniform4i(ctx, program, location, v0, v1, v2, v3);
2648 }
2649 
glProgramUniform1ui(GLuint program,GLint location,GLuint v0)2650 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
2651 {
2652 	GET_CONTEXT;
2653 	ctx->glProgramUniform1ui(ctx, program, location, v0);
2654 }
2655 
glProgramUniform2ui(GLuint program,GLint location,GLint v0,GLuint v1)2656 void glProgramUniform2ui(GLuint program, GLint location, GLint v0, GLuint v1)
2657 {
2658 	GET_CONTEXT;
2659 	ctx->glProgramUniform2ui(ctx, program, location, v0, v1);
2660 }
2661 
glProgramUniform3ui(GLuint program,GLint location,GLint v0,GLint v1,GLuint v2)2662 void glProgramUniform3ui(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2)
2663 {
2664 	GET_CONTEXT;
2665 	ctx->glProgramUniform3ui(ctx, program, location, v0, v1, v2);
2666 }
2667 
glProgramUniform4ui(GLuint program,GLint location,GLint v0,GLint v1,GLint v2,GLuint v3)2668 void glProgramUniform4ui(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3)
2669 {
2670 	GET_CONTEXT;
2671 	ctx->glProgramUniform4ui(ctx, program, location, v0, v1, v2, v3);
2672 }
2673 
glProgramUniform1fv(GLuint program,GLint location,GLsizei count,const GLfloat * value)2674 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2675 {
2676 	GET_CONTEXT;
2677 	ctx->glProgramUniform1fv(ctx, program, location, count, value);
2678 }
2679 
glProgramUniform2fv(GLuint program,GLint location,GLsizei count,const GLfloat * value)2680 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2681 {
2682 	GET_CONTEXT;
2683 	ctx->glProgramUniform2fv(ctx, program, location, count, value);
2684 }
2685 
glProgramUniform3fv(GLuint program,GLint location,GLsizei count,const GLfloat * value)2686 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2687 {
2688 	GET_CONTEXT;
2689 	ctx->glProgramUniform3fv(ctx, program, location, count, value);
2690 }
2691 
glProgramUniform4fv(GLuint program,GLint location,GLsizei count,const GLfloat * value)2692 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2693 {
2694 	GET_CONTEXT;
2695 	ctx->glProgramUniform4fv(ctx, program, location, count, value);
2696 }
2697 
glProgramUniform1iv(GLuint program,GLint location,GLsizei count,const GLint * value)2698 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2699 {
2700 	GET_CONTEXT;
2701 	ctx->glProgramUniform1iv(ctx, program, location, count, value);
2702 }
2703 
glProgramUniform2iv(GLuint program,GLint location,GLsizei count,const GLint * value)2704 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2705 {
2706 	GET_CONTEXT;
2707 	ctx->glProgramUniform2iv(ctx, program, location, count, value);
2708 }
2709 
glProgramUniform3iv(GLuint program,GLint location,GLsizei count,const GLint * value)2710 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2711 {
2712 	GET_CONTEXT;
2713 	ctx->glProgramUniform3iv(ctx, program, location, count, value);
2714 }
2715 
glProgramUniform4iv(GLuint program,GLint location,GLsizei count,const GLint * value)2716 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2717 {
2718 	GET_CONTEXT;
2719 	ctx->glProgramUniform4iv(ctx, program, location, count, value);
2720 }
2721 
glProgramUniform1uiv(GLuint program,GLint location,GLsizei count,const GLuint * value)2722 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2723 {
2724 	GET_CONTEXT;
2725 	ctx->glProgramUniform1uiv(ctx, program, location, count, value);
2726 }
2727 
glProgramUniform2uiv(GLuint program,GLint location,GLsizei count,const GLuint * value)2728 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2729 {
2730 	GET_CONTEXT;
2731 	ctx->glProgramUniform2uiv(ctx, program, location, count, value);
2732 }
2733 
glProgramUniform3uiv(GLuint program,GLint location,GLsizei count,const GLuint * value)2734 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2735 {
2736 	GET_CONTEXT;
2737 	ctx->glProgramUniform3uiv(ctx, program, location, count, value);
2738 }
2739 
glProgramUniform4uiv(GLuint program,GLint location,GLsizei count,const GLuint * value)2740 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2741 {
2742 	GET_CONTEXT;
2743 	ctx->glProgramUniform4uiv(ctx, program, location, count, value);
2744 }
2745 
glProgramUniformMatrix2fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2746 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2747 {
2748 	GET_CONTEXT;
2749 	ctx->glProgramUniformMatrix2fv(ctx, program, location, count, transpose, value);
2750 }
2751 
glProgramUniformMatrix3fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2752 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2753 {
2754 	GET_CONTEXT;
2755 	ctx->glProgramUniformMatrix3fv(ctx, program, location, count, transpose, value);
2756 }
2757 
glProgramUniformMatrix4fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2758 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2759 {
2760 	GET_CONTEXT;
2761 	ctx->glProgramUniformMatrix4fv(ctx, program, location, count, transpose, value);
2762 }
2763 
glProgramUniformMatrix2x3fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2764 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2765 {
2766 	GET_CONTEXT;
2767 	ctx->glProgramUniformMatrix2x3fv(ctx, program, location, count, transpose, value);
2768 }
2769 
glProgramUniformMatrix3x2fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2770 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2771 {
2772 	GET_CONTEXT;
2773 	ctx->glProgramUniformMatrix3x2fv(ctx, program, location, count, transpose, value);
2774 }
2775 
glProgramUniformMatrix2x4fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2776 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2777 {
2778 	GET_CONTEXT;
2779 	ctx->glProgramUniformMatrix2x4fv(ctx, program, location, count, transpose, value);
2780 }
2781 
glProgramUniformMatrix4x2fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2782 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2783 {
2784 	GET_CONTEXT;
2785 	ctx->glProgramUniformMatrix4x2fv(ctx, program, location, count, transpose, value);
2786 }
2787 
glProgramUniformMatrix3x4fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2788 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2789 {
2790 	GET_CONTEXT;
2791 	ctx->glProgramUniformMatrix3x4fv(ctx, program, location, count, transpose, value);
2792 }
2793 
glProgramUniformMatrix4x3fv(GLuint program,GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)2794 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2795 {
2796 	GET_CONTEXT;
2797 	ctx->glProgramUniformMatrix4x3fv(ctx, program, location, count, transpose, value);
2798 }
2799 
glGetProgramInterfaceiv(GLuint program,GLenum programInterface,GLenum pname,GLint * params)2800 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params)
2801 {
2802 	GET_CONTEXT;
2803 	ctx->glGetProgramInterfaceiv(ctx, program, programInterface, pname, params);
2804 }
2805 
glGetProgramResourceiv(GLuint program,GLenum programInterface,GLuint index,GLsizei propCount,const GLenum * props,GLsizei bufSize,GLsizei * length,GLint * params)2806 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLint* params)
2807 {
2808 	GET_CONTEXT;
2809 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2810 	ctx->glGetProgramResourceiv(ctx, program, programInterface, index, propCount, props, bufSize, length, params);
2811 }
2812 
glGetProgramResourceIndex(GLuint program,GLenum programInterface,const char * name)2813 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const char* name)
2814 {
2815 	GET_CONTEXT;
2816 	return ctx->glGetProgramResourceIndex(ctx, program, programInterface, name);
2817 }
2818 
glGetProgramResourceLocation(GLuint program,GLenum programInterface,const char * name)2819 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const char* name)
2820 {
2821 	GET_CONTEXT;
2822 	return ctx->glGetProgramResourceLocation(ctx, program, programInterface, name);
2823 }
2824 
glGetProgramResourceName(GLuint program,GLenum programInterface,GLuint index,GLsizei bufSize,GLsizei * length,char * name)2825 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, char* name)
2826 {
2827 	GET_CONTEXT;
2828 	 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2829 	ctx->glGetProgramResourceName(ctx, program, programInterface, index, bufSize, length, name);
2830 }
2831 
glBindImageTexture(GLuint unit,GLuint texture,GLint level,GLboolean layered,GLint layer,GLenum access,GLenum format)2832 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
2833 {
2834 	GET_CONTEXT;
2835 	ctx->glBindImageTexture(ctx, unit, texture, level, layered, layer, access, format);
2836 }
2837 
glDispatchCompute(GLuint num_groups_x,GLuint num_groups_y,GLuint num_groups_z)2838 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)
2839 {
2840 	GET_CONTEXT;
2841 	ctx->glDispatchCompute(ctx, num_groups_x, num_groups_y, num_groups_z);
2842 }
2843 
glDispatchComputeIndirect(GLintptr indirect)2844 void glDispatchComputeIndirect(GLintptr indirect)
2845 {
2846 	GET_CONTEXT;
2847 	ctx->glDispatchComputeIndirect(ctx, indirect);
2848 }
2849 
glBindVertexBuffer(GLuint bindingindex,GLuint buffer,GLintptr offset,GLintptr stride)2850 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride)
2851 {
2852 	GET_CONTEXT;
2853 	ctx->glBindVertexBuffer(ctx, bindingindex, buffer, offset, stride);
2854 }
2855 
glVertexAttribBinding(GLuint attribindex,GLuint bindingindex)2856 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex)
2857 {
2858 	GET_CONTEXT;
2859 	ctx->glVertexAttribBinding(ctx, attribindex, bindingindex);
2860 }
2861 
glVertexAttribFormat(GLuint attribindex,GLint size,GLenum type,GLboolean normalized,GLuint relativeoffset)2862 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
2863 {
2864 	GET_CONTEXT;
2865 	ctx->glVertexAttribFormat(ctx, attribindex, size, type, normalized, relativeoffset);
2866 }
2867 
glVertexAttribIFormat(GLuint attribindex,GLint size,GLenum type,GLuint relativeoffset)2868 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
2869 {
2870 	GET_CONTEXT;
2871 	ctx->glVertexAttribIFormat(ctx, attribindex, size, type, relativeoffset);
2872 }
2873 
glVertexBindingDivisor(GLuint bindingindex,GLuint divisor)2874 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)
2875 {
2876 	GET_CONTEXT;
2877 	ctx->glVertexBindingDivisor(ctx, bindingindex, divisor);
2878 }
2879 
glDrawArraysIndirect(GLenum mode,const void * indirect)2880 void glDrawArraysIndirect(GLenum mode, const void* indirect)
2881 {
2882 	GET_CONTEXT;
2883 	ctx->glDrawArraysIndirect(ctx, mode, indirect);
2884 }
2885 
glDrawArraysIndirectDataAEMU(GLenum mode,const void * indirect,GLuint datalen)2886 void glDrawArraysIndirectDataAEMU(GLenum mode, const void* indirect, GLuint datalen)
2887 {
2888 	GET_CONTEXT;
2889 	ctx->glDrawArraysIndirectDataAEMU(ctx, mode, indirect, datalen);
2890 }
2891 
glDrawArraysIndirectOffsetAEMU(GLenum mode,GLuint offset)2892 void glDrawArraysIndirectOffsetAEMU(GLenum mode, GLuint offset)
2893 {
2894 	GET_CONTEXT;
2895 	ctx->glDrawArraysIndirectOffsetAEMU(ctx, mode, offset);
2896 }
2897 
glDrawElementsIndirect(GLenum mode,GLenum type,const void * indirect)2898 void glDrawElementsIndirect(GLenum mode, GLenum type, const void* indirect)
2899 {
2900 	GET_CONTEXT;
2901 	ctx->glDrawElementsIndirect(ctx, mode, type, indirect);
2902 }
2903 
glDrawElementsIndirectDataAEMU(GLenum mode,GLenum type,const void * indirect,GLuint datalen)2904 void glDrawElementsIndirectDataAEMU(GLenum mode, GLenum type, const void* indirect, GLuint datalen)
2905 {
2906 	GET_CONTEXT;
2907 	ctx->glDrawElementsIndirectDataAEMU(ctx, mode, type, indirect, datalen);
2908 }
2909 
glDrawElementsIndirectOffsetAEMU(GLenum mode,GLenum type,GLuint offset)2910 void glDrawElementsIndirectOffsetAEMU(GLenum mode, GLenum type, GLuint offset)
2911 {
2912 	GET_CONTEXT;
2913 	ctx->glDrawElementsIndirectOffsetAEMU(ctx, mode, type, offset);
2914 }
2915 
glTexStorage2DMultisample(GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height,GLboolean fixedsamplelocations)2916 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
2917 {
2918 	GET_CONTEXT;
2919 	ctx->glTexStorage2DMultisample(ctx, target, samples, internalformat, width, height, fixedsamplelocations);
2920 }
2921 
glSampleMaski(GLuint maskNumber,GLbitfield mask)2922 void glSampleMaski(GLuint maskNumber, GLbitfield mask)
2923 {
2924 	GET_CONTEXT;
2925 	ctx->glSampleMaski(ctx, maskNumber, mask);
2926 }
2927 
glGetMultisamplefv(GLenum pname,GLuint index,GLfloat * val)2928 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val)
2929 {
2930 	GET_CONTEXT;
2931 	ctx->glGetMultisamplefv(ctx, pname, index, val);
2932 }
2933 
glFramebufferParameteri(GLenum target,GLenum pname,GLint param)2934 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
2935 {
2936 	GET_CONTEXT;
2937 	ctx->glFramebufferParameteri(ctx, target, pname, param);
2938 }
2939 
glGetFramebufferParameteriv(GLenum target,GLenum pname,GLint * params)2940 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params)
2941 {
2942 	GET_CONTEXT;
2943 	ctx->glGetFramebufferParameteriv(ctx, target, pname, params);
2944 }
2945 
glGetTexLevelParameterfv(GLenum target,GLint level,GLenum pname,GLfloat * params)2946 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params)
2947 {
2948 	GET_CONTEXT;
2949 	ctx->glGetTexLevelParameterfv(ctx, target, level, pname, params);
2950 }
2951 
glGetTexLevelParameteriv(GLenum target,GLint level,GLenum pname,GLint * params)2952 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params)
2953 {
2954 	GET_CONTEXT;
2955 	ctx->glGetTexLevelParameteriv(ctx, target, level, pname, params);
2956 }
2957 
glMapBufferRangeDMA(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,uint64_t paddr)2958 void glMapBufferRangeDMA(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr)
2959 {
2960 	GET_CONTEXT;
2961 	ctx->glMapBufferRangeDMA(ctx, target, offset, length, access, paddr);
2962 }
2963 
glUnmapBufferDMA(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,uint64_t paddr,GLboolean * out_res)2964 void glUnmapBufferDMA(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr, GLboolean* out_res)
2965 {
2966 	GET_CONTEXT;
2967 	ctx->glUnmapBufferDMA(ctx, target, offset, length, access, paddr, out_res);
2968 }
2969 
glMapBufferRangeDirect(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,uint64_t paddr)2970 uint64_t glMapBufferRangeDirect(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr)
2971 {
2972 	GET_CONTEXT;
2973 	return ctx->glMapBufferRangeDirect(ctx, target, offset, length, access, paddr);
2974 }
2975 
glUnmapBufferDirect(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,uint64_t paddr,uint64_t guest_ptr,GLboolean * out_res)2976 void glUnmapBufferDirect(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, uint64_t paddr, uint64_t guest_ptr, GLboolean* out_res)
2977 {
2978 	GET_CONTEXT;
2979 	ctx->glUnmapBufferDirect(ctx, target, offset, length, access, paddr, guest_ptr, out_res);
2980 }
2981 
glFlushMappedBufferRangeDirect(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access)2982 void glFlushMappedBufferRangeDirect(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
2983 {
2984 	GET_CONTEXT;
2985 	ctx->glFlushMappedBufferRangeDirect(ctx, target, offset, length, access);
2986 }
2987 
glGetGraphicsResetStatusEXT()2988 GLenum glGetGraphicsResetStatusEXT()
2989 {
2990 	GET_CONTEXT;
2991 	return ctx->glGetGraphicsResetStatusEXT(ctx);
2992 }
2993 
glReadnPixelsEXT(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLsizei bufSize,GLvoid * data)2994 void glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid* data)
2995 {
2996 	GET_CONTEXT;
2997 	ctx->glReadnPixelsEXT(ctx, x, y, width, height, format, type, bufSize, data);
2998 }
2999 
glGetnUniformfvEXT(GLuint program,GLint location,GLsizei bufSize,GLfloat * params)3000 void glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params)
3001 {
3002 	GET_CONTEXT;
3003 	ctx->glGetnUniformfvEXT(ctx, program, location, bufSize, params);
3004 }
3005 
glGetnUniformivEXT(GLuint program,GLint location,GLsizei bufSize,GLint * params)3006 void glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params)
3007 {
3008 	GET_CONTEXT;
3009 	ctx->glGetnUniformivEXT(ctx, program, location, bufSize, params);
3010 }
3011 
glDrawArraysNullAEMU(GLenum mode,GLint first,GLsizei count)3012 void glDrawArraysNullAEMU(GLenum mode, GLint first, GLsizei count)
3013 {
3014 	GET_CONTEXT;
3015 	ctx->glDrawArraysNullAEMU(ctx, mode, first, count);
3016 }
3017 
glDrawElementsNullAEMU(GLenum mode,GLsizei count,GLenum type,const GLvoid * indices)3018 void glDrawElementsNullAEMU(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)
3019 {
3020 	GET_CONTEXT;
3021 	ctx->glDrawElementsNullAEMU(ctx, mode, count, type, indices);
3022 }
3023 
glDrawElementsOffsetNullAEMU(GLenum mode,GLsizei count,GLenum type,GLuint offset)3024 void glDrawElementsOffsetNullAEMU(GLenum mode, GLsizei count, GLenum type, GLuint offset)
3025 {
3026 	GET_CONTEXT;
3027 	ctx->glDrawElementsOffsetNullAEMU(ctx, mode, count, type, offset);
3028 }
3029 
glDrawElementsDataNullAEMU(GLenum mode,GLsizei count,GLenum type,void * data,GLuint datalen)3030 void glDrawElementsDataNullAEMU(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen)
3031 {
3032 	GET_CONTEXT;
3033 	ctx->glDrawElementsDataNullAEMU(ctx, mode, count, type, data, datalen);
3034 }
3035 
glUnmapBufferAsyncAEMU(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,void * guest_buffer,GLboolean * out_res)3036 void glUnmapBufferAsyncAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer, GLboolean* out_res)
3037 {
3038 	GET_CONTEXT;
3039 	ctx->glUnmapBufferAsyncAEMU(ctx, target, offset, length, access, guest_buffer, out_res);
3040 }
3041 
glFlushMappedBufferRangeAEMU2(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access,void * guest_buffer)3042 void glFlushMappedBufferRangeAEMU2(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer)
3043 {
3044 	GET_CONTEXT;
3045 	ctx->glFlushMappedBufferRangeAEMU2(ctx, target, offset, length, access, guest_buffer);
3046 }
3047 
glBufferDataSyncAEMU(GLenum target,GLsizeiptr size,const GLvoid * data,GLenum usage)3048 GLboolean glBufferDataSyncAEMU(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
3049 {
3050 	GET_CONTEXT;
3051 	return ctx->glBufferDataSyncAEMU(ctx, target, size, data, usage);
3052 }
3053 
glTexBufferOES(GLenum target,GLenum internalFormat,GLuint buffer)3054 void glTexBufferOES(GLenum target, GLenum internalFormat, GLuint buffer)
3055 {
3056 	GET_CONTEXT;
3057 	ctx->glTexBufferOES(ctx, target, internalFormat, buffer);
3058 }
3059 
glTexBufferRangeOES(GLenum target,GLenum internalFormat,GLuint buffer,GLintptr offset,GLsizeiptr size)3060 void glTexBufferRangeOES(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size)
3061 {
3062 	GET_CONTEXT;
3063 	ctx->glTexBufferRangeOES(ctx, target, internalFormat, buffer, offset, size);
3064 }
3065 
glTexBufferEXT(GLenum target,GLenum internalFormat,GLuint buffer)3066 void glTexBufferEXT(GLenum target, GLenum internalFormat, GLuint buffer)
3067 {
3068 	GET_CONTEXT;
3069 	ctx->glTexBufferEXT(ctx, target, internalFormat, buffer);
3070 }
3071 
glTexBufferRangeEXT(GLenum target,GLenum internalFormat,GLuint buffer,GLintptr offset,GLsizeiptr size)3072 void glTexBufferRangeEXT(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size)
3073 {
3074 	GET_CONTEXT;
3075 	ctx->glTexBufferRangeEXT(ctx, target, internalFormat, buffer, offset, size);
3076 }
3077 
glEnableiEXT(GLenum cap,GLuint index)3078 void glEnableiEXT(GLenum cap, GLuint index)
3079 {
3080 	GET_CONTEXT;
3081 	ctx->glEnableiEXT(ctx, cap, index);
3082 }
3083 
glDisableiEXT(GLenum cap,GLuint index)3084 void glDisableiEXT(GLenum cap, GLuint index)
3085 {
3086 	GET_CONTEXT;
3087 	ctx->glDisableiEXT(ctx, cap, index);
3088 }
3089 
glBlendEquationiEXT(GLuint index,GLenum mode)3090 void glBlendEquationiEXT(GLuint index, GLenum mode)
3091 {
3092 	GET_CONTEXT;
3093 	ctx->glBlendEquationiEXT(ctx, index, mode);
3094 }
3095 
glBlendEquationSeparateiEXT(GLuint index,GLenum modeRGB,GLenum modeAlpha)3096 void glBlendEquationSeparateiEXT(GLuint index, GLenum modeRGB, GLenum modeAlpha)
3097 {
3098 	GET_CONTEXT;
3099 	ctx->glBlendEquationSeparateiEXT(ctx, index, modeRGB, modeAlpha);
3100 }
3101 
glBlendFunciEXT(GLuint index,GLenum sfactor,GLenum dfactor)3102 void glBlendFunciEXT(GLuint index, GLenum sfactor, GLenum dfactor)
3103 {
3104 	GET_CONTEXT;
3105 	ctx->glBlendFunciEXT(ctx, index, sfactor, dfactor);
3106 }
3107 
glBlendFuncSeparateiEXT(GLuint index,GLenum srcRGB,GLenum dstRGB,GLenum srcAlpha,GLenum dstAlpha)3108 void glBlendFuncSeparateiEXT(GLuint index, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
3109 {
3110 	GET_CONTEXT;
3111 	ctx->glBlendFuncSeparateiEXT(ctx, index, srcRGB, dstRGB, srcAlpha, dstAlpha);
3112 }
3113 
glColorMaskiEXT(GLuint index,GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha)3114 void glColorMaskiEXT(GLuint index, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
3115 {
3116 	GET_CONTEXT;
3117 	ctx->glColorMaskiEXT(ctx, index, red, green, blue, alpha);
3118 }
3119 
glIsEnablediEXT(GLenum cap,GLuint index)3120 GLboolean glIsEnablediEXT(GLenum cap, GLuint index)
3121 {
3122 	GET_CONTEXT;
3123 	return ctx->glIsEnablediEXT(ctx, cap, index);
3124 }
3125 
3126