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