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