1 // Generated Code - DO NOT EDIT !!
2 // generated by 'emugen'
5 #include "gl2_client_context.h"
9 void glActiveTexture(GLenum texture);
10 void glAttachShader(GLuint program, GLuint shader);
11 void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name);
12 void glBindBuffer(GLenum target, GLuint buffer);
13 void glBindFramebuffer(GLenum target, GLuint framebuffer);
14 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
15 void glBindTexture(GLenum target, GLuint texture);
16 void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
17 void glBlendEquation(GLenum mode);
18 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
19 void glBlendFunc(GLenum sfactor, GLenum dfactor);
20 void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
21 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
22 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
23 GLenum glCheckFramebufferStatus(GLenum target);
24 void glClear(GLbitfield mask);
25 void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
26 void glClearDepthf(GLclampf depth);
27 void glClearStencil(GLint s);
28 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
29 void glCompileShader(GLuint shader);
30 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
31 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
32 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
33 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
34 GLuint glCreateProgram();
35 GLuint glCreateShader(GLenum type);
36 void glCullFace(GLenum mode);
37 void glDeleteBuffers(GLsizei n, const GLuint* buffers);
38 void glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers);
39 void glDeleteProgram(GLuint program);
40 void glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers);
41 void glDeleteShader(GLuint shader);
42 void glDeleteTextures(GLsizei n, const GLuint* textures);
43 void glDepthFunc(GLenum func);
44 void glDepthMask(GLboolean flag);
45 void glDepthRangef(GLclampf zNear, GLclampf zFar);
46 void glDetachShader(GLuint program, GLuint shader);
47 void glDisable(GLenum cap);
48 void glDisableVertexAttribArray(GLuint index);
49 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
50 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
51 void glEnable(GLenum cap);
52 void glEnableVertexAttribArray(GLuint index);
55 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
56 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
57 void glFrontFace(GLenum mode);
58 void glGenBuffers(GLsizei n, GLuint* buffers);
59 void glGenerateMipmap(GLenum target);
60 void glGenFramebuffers(GLsizei n, GLuint* framebuffers);
61 void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers);
62 void glGenTextures(GLsizei n, GLuint* textures);
63 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
64 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
65 void glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
66 int glGetAttribLocation(GLuint program, const GLchar* name);
67 void glGetBooleanv(GLenum pname, GLboolean* params);
68 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
70 void glGetFloatv(GLenum pname, GLfloat* params);
71 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params);
72 void glGetIntegerv(GLenum pname, GLint* params);
73 void glGetProgramiv(GLuint program, GLenum pname, GLint* params);
74 void glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
75 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params);
76 void glGetShaderiv(GLuint shader, GLenum pname, GLint* params);
77 void glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
78 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
79 void glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
80 const GLubyte* glGetString(GLenum name);
81 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);
82 void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params);
83 void glGetUniformfv(GLuint program, GLint location, GLfloat* params);
84 void glGetUniformiv(GLuint program, GLint location, GLint* params);
85 int glGetUniformLocation(GLuint program, const GLchar* name);
86 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
87 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
88 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer);
89 void glHint(GLenum target, GLenum mode);
90 GLboolean glIsBuffer(GLuint buffer);
91 GLboolean glIsEnabled(GLenum cap);
92 GLboolean glIsFramebuffer(GLuint framebuffer);
93 GLboolean glIsProgram(GLuint program);
94 GLboolean glIsRenderbuffer(GLuint renderbuffer);
95 GLboolean glIsShader(GLuint shader);
96 GLboolean glIsTexture(GLuint texture);
97 void glLineWidth(GLfloat width);
98 void glLinkProgram(GLuint program);
99 void glPixelStorei(GLenum pname, GLint param);
100 void glPolygonOffset(GLfloat factor, GLfloat units);
101 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
102 void glReleaseShaderCompiler();
103 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
104 void glSampleCoverage(GLclampf value, GLboolean invert);
105 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
106 void glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
107 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
108 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
109 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
110 void glStencilMask(GLuint mask);
111 void glStencilMaskSeparate(GLenum face, GLuint mask);
112 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
113 void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
114 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
115 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
116 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params);
117 void glTexParameteri(GLenum target, GLenum pname, GLint param);
118 void glTexParameteriv(GLenum target, GLenum pname, const GLint* params);
119 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
120 void glUniform1f(GLint location, GLfloat x);
121 void glUniform1fv(GLint location, GLsizei count, const GLfloat* v);
122 void glUniform1i(GLint location, GLint x);
123 void glUniform1iv(GLint location, GLsizei count, const GLint* v);
124 void glUniform2f(GLint location, GLfloat x, GLfloat y);
125 void glUniform2fv(GLint location, GLsizei count, const GLfloat* v);
126 void glUniform2i(GLint location, GLint x, GLint y);
127 void glUniform2iv(GLint location, GLsizei count, const GLint* v);
128 void glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z);
129 void glUniform3fv(GLint location, GLsizei count, const GLfloat* v);
130 void glUniform3i(GLint location, GLint x, GLint y, GLint z);
131 void glUniform3iv(GLint location, GLsizei count, const GLint* v);
132 void glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
133 void glUniform4fv(GLint location, GLsizei count, const GLfloat* v);
134 void glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w);
135 void glUniform4iv(GLint location, GLsizei count, const GLint* v);
136 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
137 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
138 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
139 void glUseProgram(GLuint program);
140 void glValidateProgram(GLuint program);
141 void glVertexAttrib1f(GLuint indx, GLfloat x);
142 void glVertexAttrib1fv(GLuint indx, const GLfloat* values);
143 void glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
144 void glVertexAttrib2fv(GLuint indx, const GLfloat* values);
145 void glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
146 void glVertexAttrib3fv(GLuint indx, const GLfloat* values);
147 void glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
148 void glVertexAttrib4fv(GLuint indx, const GLfloat* values);
149 void glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
150 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
151 void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
152 void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
153 void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary);
154 void glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLint length);
155 void* glMapBufferOES(GLenum target, GLenum access);
156 GLboolean glUnmapBufferOES(GLenum target);
157 void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
158 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);
159 void glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
160 void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
161 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);
162 void glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
163 void glBindVertexArrayOES(GLuint array);
164 void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays);
165 void glGenVertexArraysOES(GLsizei n, GLuint* arrays);
166 GLboolean glIsVertexArrayOES(GLuint array);
167 void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments);
168 void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
169 void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount);
170 void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups);
171 void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters);
172 void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString);
173 void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString);
174 void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid* data);
175 void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors);
176 void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors);
177 void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* countersList);
178 void glBeginPerfMonitorAMD(GLuint monitor);
179 void glEndPerfMonitorAMD(GLuint monitor);
180 void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten);
181 void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
182 void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
183 void glDeleteFencesNV(GLsizei n, const GLuint* fences);
184 void glGenFencesNV(GLsizei n, GLuint* fences);
185 GLboolean glIsFenceNV(GLuint fence);
186 GLboolean glTestFenceNV(GLuint fence);
187 void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params);
188 void glFinishFenceNV(GLuint fence);
189 void glSetFenceNV(GLuint fence, GLenum condition);
190 void glCoverageMaskNV(GLboolean mask);
191 void glCoverageOperationNV(GLenum operation);
192 void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls);
193 void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString);
194 void glEnableDriverControlQCOM(GLuint driverControl);
195 void glDisableDriverControlQCOM(GLuint driverControl);
196 void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures);
197 void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers);
198 void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers);
199 void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers);
200 void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params);
201 void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);
202 void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels);
203 void glExtGetBufferPointervQCOM(GLenum target, GLvoidptr* params);
204 void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders);
205 void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms);
206 GLboolean glExtIsProgramBinaryQCOM(GLuint program);
207 void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length);
208 void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
209 void glEndTilingQCOM(GLbitfield preserveMask);
210 void glVertexAttribPointerData(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, void* data, GLuint datalen);
211 void glVertexAttribPointerOffset(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint offset);
212 void glDrawElementsOffset(GLenum mode, GLsizei count, GLenum type, GLuint offset);
213 void glDrawElementsData(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen);
214 void glGetCompressedTextureFormats(int count, GLint* formats);
215 void glShaderString(GLuint shader, const GLchar* string, GLsizei len);
216 int glFinishRoundTrip();
217 void glGenVertexArrays(GLsizei n, GLuint* arrays);
218 void glBindVertexArray(GLuint array);
219 void glDeleteVertexArrays(GLsizei n, const GLuint* arrays);
220 GLboolean glIsVertexArray(GLuint array);
221 void* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
222 GLboolean glUnmapBuffer(GLenum target);
223 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
224 void glMapBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* mapped);
225 void glUnmapBufferAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer, GLboolean* out_res);
226 void glFlushMappedBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer);
227 void glReadPixelsOffsetAEMU(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset);
228 void glCompressedTexImage2DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLuint offset);
229 void glCompressedTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLuint offset);
230 void glTexImage2DOffsetAEMU(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLuint offset);
231 void glTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset);
232 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
233 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
234 void glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);
235 void glClearBufferiv(GLenum buffer, GLint drawBuffer, const GLint* value);
236 void glClearBufferuiv(GLenum buffer, GLint drawBuffer, const GLuint* value);
237 void glClearBufferfv(GLenum buffer, GLint drawBuffer, const GLfloat* value);
238 void glClearBufferfi(GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil);
239 void glGetBufferParameteri64v(GLenum target, GLenum value, GLint64* data);
240 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params);
241 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
242 GLuint glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName);
243 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices);
244 void glGetUniformIndicesAEMU(GLuint program, GLsizei uniformCount, const GLchar* packedUniformNames, GLsizei packedLen, GLuint* uniformIndices);
245 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
246 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
247 void glUniform1ui(GLint location, GLuint v0);
248 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
249 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
250 void glUniform4ui(GLint location, GLint v0, GLuint v1, GLuint v2, GLuint v3);
251 void glUniform1uiv(GLint location, GLsizei count, const GLuint* value);
252 void glUniform2uiv(GLint location, GLsizei count, const GLuint* value);
253 void glUniform3uiv(GLint location, GLsizei count, const GLuint* value);
254 void glUniform4uiv(GLint location, GLsizei count, const GLuint* value);
255 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
256 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
257 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
258 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
259 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
260 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
261 void glGetUniformuiv(GLuint program, GLint location, GLuint* params);
262 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
263 void glVertexAttribI4i(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3);
264 void glVertexAttribI4ui(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
265 void glVertexAttribI4iv(GLuint index, const GLint* v);
266 void glVertexAttribI4uiv(GLuint index, const GLuint* v);
267 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
268 void glVertexAttribIPointerOffsetAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, GLuint offset);
269 void glVertexAttribIPointerDataAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
270 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params);
271 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params);
272 void glVertexAttribDivisor(GLuint index, GLuint divisor);
273 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
274 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
275 void glDrawElementsInstancedDataAEMU(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLsizei datalen);
276 void glDrawElementsInstancedOffsetAEMU(GLenum mode, GLsizei count, GLenum type, GLuint offset, GLsizei primcount);
277 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
278 void glDrawRangeElementsDataAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices, GLsizei datalen);
279 void glDrawRangeElementsOffsetAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLuint offset);
280 GLsync glFenceSync(GLenum condition, GLbitfield flags);
281 GLenum glClientWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout);
282 void glWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout);
283 void glDeleteSync(GLsync to_delete);
284 GLboolean glIsSync(GLsync sync);
285 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
286 uint64_t glFenceSyncAEMU(GLenum condition, GLbitfield flags);
287 GLenum glClientWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout);
288 void glWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout);
289 void glDeleteSyncAEMU(uint64_t to_delete);
290 GLboolean glIsSyncAEMU(uint64_t sync);
291 void glGetSyncivAEMU(uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
292 void glDrawBuffers(GLsizei n, const GLenum* bufs);
293 void glReadBuffer(GLenum src);
294 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
295 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments);
296 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
297 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
298 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
299 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
300 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);
301 void glBeginTransformFeedback(GLenum primitiveMode);
302 void glEndTransformFeedback();
303 void glGenTransformFeedbacks(GLsizei n, GLuint* ids);
304 void glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids);
305 void glBindTransformFeedback(GLenum target, GLuint id);
306 void glPauseTransformFeedback();
307 void glResumeTransformFeedback();
308 GLboolean glIsTransformFeedback(GLuint id);
309 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const char** varyings, GLenum bufferMode);
310 void glTransformFeedbackVaryingsAEMU(GLuint program, GLsizei count, const char* packedVaryings, GLuint packedVaryingsLen, GLenum bufferMode);
311 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, char* name);
312 void glGenSamplers(GLsizei n, GLuint* samplers);
313 void glDeleteSamplers(GLsizei n, const GLuint* samplers);
314 void glBindSampler(GLuint unit, GLuint sampler);
315 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
316 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
317 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* params);
318 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* params);
319 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params);
320 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params);
321 GLboolean glIsSampler(GLuint sampler);
322 void glGenQueries(GLsizei n, GLuint* queries);
323 void glDeleteQueries(GLsizei n, const GLuint* queries);
324 void glBeginQuery(GLenum target, GLuint query);
325 void glEndQuery(GLenum target);
326 void glGetQueryiv(GLenum target, GLenum pname, GLint* params);
327 void glGetQueryObjectuiv(GLuint query, GLenum pname, GLuint* params);
328 GLboolean glIsQuery(GLuint query);
329 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
330 void glProgramBinary(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length);
331 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary);
332 GLint glGetFragDataLocation(GLuint program, const char* name);
333 void glGetInteger64v(GLenum pname, GLint64* data);
334 void glGetIntegeri_v(GLenum target, GLuint index, GLint* data);
335 void glGetInteger64i_v(GLenum target, GLuint index, GLint64* data);
336 void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data);
337 void glTexImage3DOffsetAEMU(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLuint offset);
338 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
339 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);
340 void glTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLuint offset);
341 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
342 void glCompressedTexImage3DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLuint offset);
343 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);
344 void glCompressedTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLuint data);
345 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
346 const GLubyte* glGetStringi(GLenum name, GLuint index);
347 void glGetBooleani_v(GLenum target, GLuint index, GLboolean* data);
348 void glMemoryBarrier(GLbitfield barriers);
349 void glMemoryBarrierByRegion(GLbitfield barriers);
350 void glGenProgramPipelines(GLsizei n, GLuint* pipelines);
351 void glDeleteProgramPipelines(GLsizei n, const GLuint* pipelines);
352 void glBindProgramPipeline(GLuint pipeline);
353 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params);
354 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
355 void glValidateProgramPipeline(GLuint pipeline);
356 GLboolean glIsProgramPipeline(GLuint pipeline);
357 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
358 void glActiveShaderProgram(GLuint pipeline, GLuint program);
359 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const char** strings);
360 GLuint glCreateShaderProgramvAEMU(GLenum type, GLsizei count, const char* packedStrings, GLuint packedLen);
361 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
362 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
363 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
364 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
365 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
366 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
367 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
368 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
369 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
370 void glProgramUniform2ui(GLuint program, GLint location, GLint v0, GLuint v1);
371 void glProgramUniform3ui(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2);
372 void glProgramUniform4ui(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3);
373 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
374 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
375 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
376 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat* value);
377 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint* value);
378 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint* value);
379 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint* value);
380 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint* value);
381 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
382 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
383 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
384 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint* value);
385 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
386 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
387 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
388 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
389 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
390 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
391 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
392 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
393 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
394 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params);
395 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLint* params);
396 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const char* name);
397 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const char* name);
398 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, char* name);
399 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
400 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
401 void glDispatchComputeIndirect(GLintptr indirect);
402 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride);
403 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
404 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
405 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
406 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
407 void glDrawArraysIndirect(GLenum mode, const void* indirect);
408 void glDrawArraysIndirectDataAEMU(GLenum mode, const void* indirect, GLuint datalen);
409 void glDrawArraysIndirectOffsetAEMU(GLenum mode, GLuint offset);
410 void glDrawElementsIndirect(GLenum mode, GLenum type, const void* indirect);
411 void glDrawElementsIndirectDataAEMU(GLenum mode, GLenum type, const void* indirect, GLuint datalen);
412 void glDrawElementsIndirectOffsetAEMU(GLenum mode, GLenum type, GLuint offset);
413 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
414 void glSampleMaski(GLuint maskNumber, GLbitfield mask);
415 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val);
416 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
417 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params);
418 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params);
419 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params);
424 static gl2_client_context_t::CONTEXT_ACCESSOR_TYPE *getCurrentContext = NULL;
425 void gl2_client_context_t::setContextAccessor(CONTEXT_ACCESSOR_TYPE *f) { getCurrentContext = f; }
426 #define GET_CONTEXT gl2_client_context_t * ctx = getCurrentContext()
429 void glActiveTexture(GLenum texture)
432 ctx->glActiveTexture(ctx, texture);
435 void glAttachShader(GLuint program, GLuint shader)
438 ctx->glAttachShader(ctx, program, shader);
441 void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)
444 ctx->glBindAttribLocation(ctx, program, index, name);
447 void glBindBuffer(GLenum target, GLuint buffer)
450 ctx->glBindBuffer(ctx, target, buffer);
453 void glBindFramebuffer(GLenum target, GLuint framebuffer)
456 ctx->glBindFramebuffer(ctx, target, framebuffer);
459 void glBindRenderbuffer(GLenum target, GLuint renderbuffer)
462 ctx->glBindRenderbuffer(ctx, target, renderbuffer);
465 void glBindTexture(GLenum target, GLuint texture)
468 ctx->glBindTexture(ctx, target, texture);
471 void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
474 ctx->glBlendColor(ctx, red, green, blue, alpha);
477 void glBlendEquation(GLenum mode)
480 ctx->glBlendEquation(ctx, mode);
483 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
486 ctx->glBlendEquationSeparate(ctx, modeRGB, modeAlpha);
489 void glBlendFunc(GLenum sfactor, GLenum dfactor)
492 ctx->glBlendFunc(ctx, sfactor, dfactor);
495 void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
498 ctx->glBlendFuncSeparate(ctx, srcRGB, dstRGB, srcAlpha, dstAlpha);
501 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
504 ctx->glBufferData(ctx, target, size, data, usage);
507 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
510 ctx->glBufferSubData(ctx, target, offset, size, data);
513 GLenum glCheckFramebufferStatus(GLenum target)
516 return ctx->glCheckFramebufferStatus(ctx, target);
519 void glClear(GLbitfield mask)
522 ctx->glClear(ctx, mask);
525 void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
528 ctx->glClearColor(ctx, red, green, blue, alpha);
531 void glClearDepthf(GLclampf depth)
534 ctx->glClearDepthf(ctx, depth);
537 void glClearStencil(GLint s)
540 ctx->glClearStencil(ctx, s);
543 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
546 ctx->glColorMask(ctx, red, green, blue, alpha);
549 void glCompileShader(GLuint shader)
552 ctx->glCompileShader(ctx, shader);
555 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data)
558 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
559 ctx->glCompressedTexImage2D(ctx, target, level, internalformat, width, height, border, imageSize, data);
562 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data)
565 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
566 ctx->glCompressedTexSubImage2D(ctx, target, level, xoffset, yoffset, width, height, format, imageSize, data);
569 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
572 ctx->glCopyTexImage2D(ctx, target, level, internalformat, x, y, width, height, border);
575 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
578 ctx->glCopyTexSubImage2D(ctx, target, level, xoffset, yoffset, x, y, width, height);
581 GLuint glCreateProgram()
584 return ctx->glCreateProgram(ctx);
587 GLuint glCreateShader(GLenum type)
590 return ctx->glCreateShader(ctx, type);
593 void glCullFace(GLenum mode)
596 ctx->glCullFace(ctx, mode);
599 void glDeleteBuffers(GLsizei n, const GLuint* buffers)
602 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
603 ctx->glDeleteBuffers(ctx, n, buffers);
606 void glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
609 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
610 ctx->glDeleteFramebuffers(ctx, n, framebuffers);
613 void glDeleteProgram(GLuint program)
616 ctx->glDeleteProgram(ctx, program);
619 void glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
622 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
623 ctx->glDeleteRenderbuffers(ctx, n, renderbuffers);
626 void glDeleteShader(GLuint shader)
629 ctx->glDeleteShader(ctx, shader);
632 void glDeleteTextures(GLsizei n, const GLuint* textures)
635 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
636 ctx->glDeleteTextures(ctx, n, textures);
639 void glDepthFunc(GLenum func)
642 ctx->glDepthFunc(ctx, func);
645 void glDepthMask(GLboolean flag)
648 ctx->glDepthMask(ctx, flag);
651 void glDepthRangef(GLclampf zNear, GLclampf zFar)
654 ctx->glDepthRangef(ctx, zNear, zFar);
657 void glDetachShader(GLuint program, GLuint shader)
660 ctx->glDetachShader(ctx, program, shader);
663 void glDisable(GLenum cap)
666 ctx->glDisable(ctx, cap);
669 void glDisableVertexAttribArray(GLuint index)
672 ctx->glDisableVertexAttribArray(ctx, index);
675 void glDrawArrays(GLenum mode, GLint first, GLsizei count)
678 ctx->glDrawArrays(ctx, mode, first, count);
681 void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)
684 ctx->glDrawElements(ctx, mode, count, type, indices);
687 void glEnable(GLenum cap)
690 ctx->glEnable(ctx, cap);
693 void glEnableVertexAttribArray(GLuint index)
696 ctx->glEnableVertexAttribArray(ctx, index);
711 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
714 ctx->glFramebufferRenderbuffer(ctx, target, attachment, renderbuffertarget, renderbuffer);
717 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
720 ctx->glFramebufferTexture2D(ctx, target, attachment, textarget, texture, level);
723 void glFrontFace(GLenum mode)
726 ctx->glFrontFace(ctx, mode);
729 void glGenBuffers(GLsizei n, GLuint* buffers)
732 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
733 ctx->glGenBuffers(ctx, n, buffers);
736 void glGenerateMipmap(GLenum target)
739 ctx->glGenerateMipmap(ctx, target);
742 void glGenFramebuffers(GLsizei n, GLuint* framebuffers)
745 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
746 ctx->glGenFramebuffers(ctx, n, framebuffers);
749 void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
752 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
753 ctx->glGenRenderbuffers(ctx, n, renderbuffers);
756 void glGenTextures(GLsizei n, GLuint* textures)
759 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
760 ctx->glGenTextures(ctx, n, textures);
763 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
766 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
767 ctx->glGetActiveAttrib(ctx, program, index, bufsize, length, size, type, name);
770 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
773 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
774 ctx->glGetActiveUniform(ctx, program, index, bufsize, length, size, type, name);
777 void glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
780 ctx->glGetAttachedShaders(ctx, program, maxcount, count, shaders);
783 int glGetAttribLocation(GLuint program, const GLchar* name)
786 return ctx->glGetAttribLocation(ctx, program, name);
789 void glGetBooleanv(GLenum pname, GLboolean* params)
792 ctx->glGetBooleanv(ctx, pname, params);
795 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
798 ctx->glGetBufferParameteriv(ctx, target, pname, params);
804 return ctx->glGetError(ctx);
807 void glGetFloatv(GLenum pname, GLfloat* params)
810 ctx->glGetFloatv(ctx, pname, params);
813 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
816 ctx->glGetFramebufferAttachmentParameteriv(ctx, target, attachment, pname, params);
819 void glGetIntegerv(GLenum pname, GLint* params)
822 ctx->glGetIntegerv(ctx, pname, params);
825 void glGetProgramiv(GLuint program, GLenum pname, GLint* params)
828 ctx->glGetProgramiv(ctx, program, pname, params);
831 void glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog)
834 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
835 ctx->glGetProgramInfoLog(ctx, program, bufsize, length, infolog);
838 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
841 ctx->glGetRenderbufferParameteriv(ctx, target, pname, params);
844 void glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
847 ctx->glGetShaderiv(ctx, shader, pname, params);
850 void glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog)
853 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
854 ctx->glGetShaderInfoLog(ctx, shader, bufsize, length, infolog);
857 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
860 ctx->glGetShaderPrecisionFormat(ctx, shadertype, precisiontype, range, precision);
863 void glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source)
866 if(bufsize<0){ ctx->setError(GL_INVALID_VALUE); return; }
867 ctx->glGetShaderSource(ctx, shader, bufsize, length, source);
870 const GLubyte* glGetString(GLenum name)
873 return ctx->glGetString(ctx, name);
876 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
879 ctx->glGetTexParameterfv(ctx, target, pname, params);
882 void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
885 ctx->glGetTexParameteriv(ctx, target, pname, params);
888 void glGetUniformfv(GLuint program, GLint location, GLfloat* params)
891 ctx->glGetUniformfv(ctx, program, location, params);
894 void glGetUniformiv(GLuint program, GLint location, GLint* params)
897 ctx->glGetUniformiv(ctx, program, location, params);
900 int glGetUniformLocation(GLuint program, const GLchar* name)
903 return ctx->glGetUniformLocation(ctx, program, name);
906 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
909 ctx->glGetVertexAttribfv(ctx, index, pname, params);
912 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
915 ctx->glGetVertexAttribiv(ctx, index, pname, params);
918 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer)
921 ctx->glGetVertexAttribPointerv(ctx, index, pname, pointer);
924 void glHint(GLenum target, GLenum mode)
927 ctx->glHint(ctx, target, mode);
930 GLboolean glIsBuffer(GLuint buffer)
933 return ctx->glIsBuffer(ctx, buffer);
936 GLboolean glIsEnabled(GLenum cap)
939 return ctx->glIsEnabled(ctx, cap);
942 GLboolean glIsFramebuffer(GLuint framebuffer)
945 return ctx->glIsFramebuffer(ctx, framebuffer);
948 GLboolean glIsProgram(GLuint program)
951 return ctx->glIsProgram(ctx, program);
954 GLboolean glIsRenderbuffer(GLuint renderbuffer)
957 return ctx->glIsRenderbuffer(ctx, renderbuffer);
960 GLboolean glIsShader(GLuint shader)
963 return ctx->glIsShader(ctx, shader);
966 GLboolean glIsTexture(GLuint texture)
969 return ctx->glIsTexture(ctx, texture);
972 void glLineWidth(GLfloat width)
975 ctx->glLineWidth(ctx, width);
978 void glLinkProgram(GLuint program)
981 ctx->glLinkProgram(ctx, program);
984 void glPixelStorei(GLenum pname, GLint param)
987 ctx->glPixelStorei(ctx, pname, param);
990 void glPolygonOffset(GLfloat factor, GLfloat units)
993 ctx->glPolygonOffset(ctx, factor, units);
996 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)
999 ctx->glReadPixels(ctx, x, y, width, height, format, type, pixels);
1002 void glReleaseShaderCompiler()
1005 ctx->glReleaseShaderCompiler(ctx);
1008 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1011 ctx->glRenderbufferStorage(ctx, target, internalformat, width, height);
1014 void glSampleCoverage(GLclampf value, GLboolean invert)
1017 ctx->glSampleCoverage(ctx, value, invert);
1020 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
1023 ctx->glScissor(ctx, x, y, width, height);
1026 void glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length)
1029 ctx->glShaderBinary(ctx, n, shaders, binaryformat, binary, length);
1032 void glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length)
1035 ctx->glShaderSource(ctx, shader, count, string, length);
1038 void glStencilFunc(GLenum func, GLint ref, GLuint mask)
1041 ctx->glStencilFunc(ctx, func, ref, mask);
1044 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1047 ctx->glStencilFuncSeparate(ctx, face, func, ref, mask);
1050 void glStencilMask(GLuint mask)
1053 ctx->glStencilMask(ctx, mask);
1056 void glStencilMaskSeparate(GLenum face, GLuint mask)
1059 ctx->glStencilMaskSeparate(ctx, face, mask);
1062 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
1065 ctx->glStencilOp(ctx, fail, zfail, zpass);
1068 void glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
1071 ctx->glStencilOpSeparate(ctx, face, fail, zfail, zpass);
1074 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
1077 ctx->glTexImage2D(ctx, target, level, internalformat, width, height, border, format, type, pixels);
1080 void glTexParameterf(GLenum target, GLenum pname, GLfloat param)
1083 ctx->glTexParameterf(ctx, target, pname, param);
1086 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
1089 ctx->glTexParameterfv(ctx, target, pname, params);
1092 void glTexParameteri(GLenum target, GLenum pname, GLint param)
1095 ctx->glTexParameteri(ctx, target, pname, param);
1098 void glTexParameteriv(GLenum target, GLenum pname, const GLint* params)
1101 ctx->glTexParameteriv(ctx, target, pname, params);
1104 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)
1107 ctx->glTexSubImage2D(ctx, target, level, xoffset, yoffset, width, height, format, type, pixels);
1110 void glUniform1f(GLint location, GLfloat x)
1113 ctx->glUniform1f(ctx, location, x);
1116 void glUniform1fv(GLint location, GLsizei count, const GLfloat* v)
1119 ctx->glUniform1fv(ctx, location, count, v);
1122 void glUniform1i(GLint location, GLint x)
1125 ctx->glUniform1i(ctx, location, x);
1128 void glUniform1iv(GLint location, GLsizei count, const GLint* v)
1131 ctx->glUniform1iv(ctx, location, count, v);
1134 void glUniform2f(GLint location, GLfloat x, GLfloat y)
1137 ctx->glUniform2f(ctx, location, x, y);
1140 void glUniform2fv(GLint location, GLsizei count, const GLfloat* v)
1143 ctx->glUniform2fv(ctx, location, count, v);
1146 void glUniform2i(GLint location, GLint x, GLint y)
1149 ctx->glUniform2i(ctx, location, x, y);
1152 void glUniform2iv(GLint location, GLsizei count, const GLint* v)
1155 ctx->glUniform2iv(ctx, location, count, v);
1158 void glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
1161 ctx->glUniform3f(ctx, location, x, y, z);
1164 void glUniform3fv(GLint location, GLsizei count, const GLfloat* v)
1167 ctx->glUniform3fv(ctx, location, count, v);
1170 void glUniform3i(GLint location, GLint x, GLint y, GLint z)
1173 ctx->glUniform3i(ctx, location, x, y, z);
1176 void glUniform3iv(GLint location, GLsizei count, const GLint* v)
1179 ctx->glUniform3iv(ctx, location, count, v);
1182 void glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
1185 ctx->glUniform4f(ctx, location, x, y, z, w);
1188 void glUniform4fv(GLint location, GLsizei count, const GLfloat* v)
1191 ctx->glUniform4fv(ctx, location, count, v);
1194 void glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
1197 ctx->glUniform4i(ctx, location, x, y, z, w);
1200 void glUniform4iv(GLint location, GLsizei count, const GLint* v)
1203 ctx->glUniform4iv(ctx, location, count, v);
1206 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1209 ctx->glUniformMatrix2fv(ctx, location, count, transpose, value);
1212 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1215 ctx->glUniformMatrix3fv(ctx, location, count, transpose, value);
1218 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1221 ctx->glUniformMatrix4fv(ctx, location, count, transpose, value);
1224 void glUseProgram(GLuint program)
1227 ctx->glUseProgram(ctx, program);
1230 void glValidateProgram(GLuint program)
1233 ctx->glValidateProgram(ctx, program);
1236 void glVertexAttrib1f(GLuint indx, GLfloat x)
1239 ctx->glVertexAttrib1f(ctx, indx, x);
1242 void glVertexAttrib1fv(GLuint indx, const GLfloat* values)
1245 ctx->glVertexAttrib1fv(ctx, indx, values);
1248 void glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
1251 ctx->glVertexAttrib2f(ctx, indx, x, y);
1254 void glVertexAttrib2fv(GLuint indx, const GLfloat* values)
1257 ctx->glVertexAttrib2fv(ctx, indx, values);
1260 void glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
1263 ctx->glVertexAttrib3f(ctx, indx, x, y, z);
1266 void glVertexAttrib3fv(GLuint indx, const GLfloat* values)
1269 ctx->glVertexAttrib3fv(ctx, indx, values);
1272 void glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
1275 ctx->glVertexAttrib4f(ctx, indx, x, y, z, w);
1278 void glVertexAttrib4fv(GLuint indx, const GLfloat* values)
1281 ctx->glVertexAttrib4fv(ctx, indx, values);
1284 void glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr)
1287 ctx->glVertexAttribPointer(ctx, indx, size, type, normalized, stride, ptr);
1290 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
1293 ctx->glViewport(ctx, x, y, width, height);
1296 void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
1299 ctx->glEGLImageTargetTexture2DOES(ctx, target, image);
1302 void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
1305 ctx->glEGLImageTargetRenderbufferStorageOES(ctx, target, image);
1308 void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)
1311 ctx->glGetProgramBinaryOES(ctx, program, bufSize, length, binaryFormat, binary);
1314 void glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLint length)
1317 ctx->glProgramBinaryOES(ctx, program, binaryFormat, binary, length);
1320 void* glMapBufferOES(GLenum target, GLenum access)
1323 return ctx->glMapBufferOES(ctx, target, access);
1326 GLboolean glUnmapBufferOES(GLenum target)
1329 return ctx->glUnmapBufferOES(ctx, target);
1332 void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
1335 ctx->glTexImage3DOES(ctx, target, level, internalformat, width, height, depth, border, format, type, pixels);
1338 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)
1341 ctx->glTexSubImage3DOES(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
1344 void glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
1347 ctx->glCopyTexSubImage3DOES(ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height);
1350 void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
1353 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
1354 ctx->glCompressedTexImage3DOES(ctx, target, level, internalformat, width, height, depth, border, imageSize, data);
1357 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)
1360 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
1361 ctx->glCompressedTexSubImage3DOES(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
1364 void glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1367 ctx->glFramebufferTexture3DOES(ctx, target, attachment, textarget, texture, level, zoffset);
1370 void glBindVertexArrayOES(GLuint array)
1373 ctx->glBindVertexArrayOES(ctx, array);
1376 void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays)
1379 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1380 ctx->glDeleteVertexArraysOES(ctx, n, arrays);
1383 void glGenVertexArraysOES(GLsizei n, GLuint* arrays)
1386 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1387 ctx->glGenVertexArraysOES(ctx, n, arrays);
1390 GLboolean glIsVertexArrayOES(GLuint array)
1393 return ctx->glIsVertexArrayOES(ctx, array);
1396 void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments)
1399 ctx->glDiscardFramebufferEXT(ctx, target, numAttachments, attachments);
1402 void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount)
1405 ctx->glMultiDrawArraysEXT(ctx, mode, first, count, primcount);
1408 void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount)
1411 ctx->glMultiDrawElementsEXT(ctx, mode, count, type, indices, primcount);
1414 void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups)
1417 ctx->glGetPerfMonitorGroupsAMD(ctx, numGroups, groupsSize, groups);
1420 void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters)
1423 ctx->glGetPerfMonitorCountersAMD(ctx, group, numCounters, maxActiveCounters, counterSize, counters);
1426 void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString)
1429 ctx->glGetPerfMonitorGroupStringAMD(ctx, group, bufSize, length, groupString);
1432 void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString)
1435 ctx->glGetPerfMonitorCounterStringAMD(ctx, group, counter, bufSize, length, counterString);
1438 void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid* data)
1441 ctx->glGetPerfMonitorCounterInfoAMD(ctx, group, counter, pname, data);
1444 void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors)
1447 ctx->glGenPerfMonitorsAMD(ctx, n, monitors);
1450 void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors)
1453 ctx->glDeletePerfMonitorsAMD(ctx, n, monitors);
1456 void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* countersList)
1459 ctx->glSelectPerfMonitorCountersAMD(ctx, monitor, enable, group, numCounters, countersList);
1462 void glBeginPerfMonitorAMD(GLuint monitor)
1465 ctx->glBeginPerfMonitorAMD(ctx, monitor);
1468 void glEndPerfMonitorAMD(GLuint monitor)
1471 ctx->glEndPerfMonitorAMD(ctx, monitor);
1474 void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten)
1477 ctx->glGetPerfMonitorCounterDataAMD(ctx, monitor, pname, dataSize, data, bytesWritten);
1480 void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1483 ctx->glRenderbufferStorageMultisampleIMG(ctx, target, samples, internalformat, width, height);
1486 void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
1489 ctx->glFramebufferTexture2DMultisampleIMG(ctx, target, attachment, textarget, texture, level, samples);
1492 void glDeleteFencesNV(GLsizei n, const GLuint* fences)
1495 ctx->glDeleteFencesNV(ctx, n, fences);
1498 void glGenFencesNV(GLsizei n, GLuint* fences)
1501 ctx->glGenFencesNV(ctx, n, fences);
1504 GLboolean glIsFenceNV(GLuint fence)
1507 return ctx->glIsFenceNV(ctx, fence);
1510 GLboolean glTestFenceNV(GLuint fence)
1513 return ctx->glTestFenceNV(ctx, fence);
1516 void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params)
1519 ctx->glGetFenceivNV(ctx, fence, pname, params);
1522 void glFinishFenceNV(GLuint fence)
1525 ctx->glFinishFenceNV(ctx, fence);
1528 void glSetFenceNV(GLuint fence, GLenum condition)
1531 ctx->glSetFenceNV(ctx, fence, condition);
1534 void glCoverageMaskNV(GLboolean mask)
1537 ctx->glCoverageMaskNV(ctx, mask);
1540 void glCoverageOperationNV(GLenum operation)
1543 ctx->glCoverageOperationNV(ctx, operation);
1546 void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls)
1549 ctx->glGetDriverControlsQCOM(ctx, num, size, driverControls);
1552 void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString)
1555 ctx->glGetDriverControlStringQCOM(ctx, driverControl, bufSize, length, driverControlString);
1558 void glEnableDriverControlQCOM(GLuint driverControl)
1561 ctx->glEnableDriverControlQCOM(ctx, driverControl);
1564 void glDisableDriverControlQCOM(GLuint driverControl)
1567 ctx->glDisableDriverControlQCOM(ctx, driverControl);
1570 void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures)
1573 ctx->glExtGetTexturesQCOM(ctx, textures, maxTextures, numTextures);
1576 void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers)
1579 ctx->glExtGetBuffersQCOM(ctx, buffers, maxBuffers, numBuffers);
1582 void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers)
1585 ctx->glExtGetRenderbuffersQCOM(ctx, renderbuffers, maxRenderbuffers, numRenderbuffers);
1588 void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers)
1591 ctx->glExtGetFramebuffersQCOM(ctx, framebuffers, maxFramebuffers, numFramebuffers);
1594 void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params)
1597 ctx->glExtGetTexLevelParameterivQCOM(ctx, texture, face, level, pname, params);
1600 void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param)
1603 ctx->glExtTexObjectStateOverrideiQCOM(ctx, target, pname, param);
1606 void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels)
1609 ctx->glExtGetTexSubImageQCOM(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
1612 void glExtGetBufferPointervQCOM(GLenum target, GLvoidptr* params)
1615 ctx->glExtGetBufferPointervQCOM(ctx, target, params);
1618 void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders)
1621 ctx->glExtGetShadersQCOM(ctx, shaders, maxShaders, numShaders);
1624 void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms)
1627 ctx->glExtGetProgramsQCOM(ctx, programs, maxPrograms, numPrograms);
1630 GLboolean glExtIsProgramBinaryQCOM(GLuint program)
1633 return ctx->glExtIsProgramBinaryQCOM(ctx, program);
1636 void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length)
1639 ctx->glExtGetProgramBinarySourceQCOM(ctx, program, shadertype, source, length);
1642 void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
1645 ctx->glStartTilingQCOM(ctx, x, y, width, height, preserveMask);
1648 void glEndTilingQCOM(GLbitfield preserveMask)
1651 ctx->glEndTilingQCOM(ctx, preserveMask);
1654 void glVertexAttribPointerData(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, void* data, GLuint datalen)
1657 ctx->glVertexAttribPointerData(ctx, indx, size, type, normalized, stride, data, datalen);
1660 void glVertexAttribPointerOffset(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint offset)
1663 ctx->glVertexAttribPointerOffset(ctx, indx, size, type, normalized, stride, offset);
1666 void glDrawElementsOffset(GLenum mode, GLsizei count, GLenum type, GLuint offset)
1669 ctx->glDrawElementsOffset(ctx, mode, count, type, offset);
1672 void glDrawElementsData(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen)
1675 ctx->glDrawElementsData(ctx, mode, count, type, data, datalen);
1678 void glGetCompressedTextureFormats(int count, GLint* formats)
1681 ctx->glGetCompressedTextureFormats(ctx, count, formats);
1684 void glShaderString(GLuint shader, const GLchar* string, GLsizei len)
1687 ctx->glShaderString(ctx, shader, string, len);
1690 int glFinishRoundTrip()
1693 return ctx->glFinishRoundTrip(ctx);
1696 void glGenVertexArrays(GLsizei n, GLuint* arrays)
1699 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1700 ctx->glGenVertexArrays(ctx, n, arrays);
1703 void glBindVertexArray(GLuint array)
1706 ctx->glBindVertexArray(ctx, array);
1709 void glDeleteVertexArrays(GLsizei n, const GLuint* arrays)
1712 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
1713 ctx->glDeleteVertexArrays(ctx, n, arrays);
1716 GLboolean glIsVertexArray(GLuint array)
1719 return ctx->glIsVertexArray(ctx, array);
1722 void* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
1725 return ctx->glMapBufferRange(ctx, target, offset, length, access);
1728 GLboolean glUnmapBuffer(GLenum target)
1731 return ctx->glUnmapBuffer(ctx, target);
1734 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
1737 ctx->glFlushMappedBufferRange(ctx, target, offset, length);
1740 void glMapBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* mapped)
1743 ctx->glMapBufferRangeAEMU(ctx, target, offset, length, access, mapped);
1746 void glUnmapBufferAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer, GLboolean* out_res)
1749 ctx->glUnmapBufferAEMU(ctx, target, offset, length, access, guest_buffer, out_res);
1752 void glFlushMappedBufferRangeAEMU(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access, void* guest_buffer)
1755 ctx->glFlushMappedBufferRangeAEMU(ctx, target, offset, length, access, guest_buffer);
1758 void glReadPixelsOffsetAEMU(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset)
1761 ctx->glReadPixelsOffsetAEMU(ctx, x, y, width, height, format, type, offset);
1764 void glCompressedTexImage2DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLuint offset)
1767 ctx->glCompressedTexImage2DOffsetAEMU(ctx, target, level, internalformat, width, height, border, imageSize, offset);
1770 void glCompressedTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLuint offset)
1773 ctx->glCompressedTexSubImage2DOffsetAEMU(ctx, target, level, xoffset, yoffset, width, height, format, imageSize, offset);
1776 void glTexImage2DOffsetAEMU(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLuint offset)
1779 ctx->glTexImage2DOffsetAEMU(ctx, target, level, internalformat, width, height, border, format, type, offset);
1782 void glTexSubImage2DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint offset)
1785 ctx->glTexSubImage2DOffsetAEMU(ctx, target, level, xoffset, yoffset, width, height, format, type, offset);
1788 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
1791 ctx->glBindBufferRange(ctx, target, index, buffer, offset, size);
1794 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
1797 ctx->glBindBufferBase(ctx, target, index, buffer);
1800 void glCopyBufferSubData(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size)
1803 ctx->glCopyBufferSubData(ctx, readtarget, writetarget, readoffset, writeoffset, size);
1806 void glClearBufferiv(GLenum buffer, GLint drawBuffer, const GLint* value)
1809 ctx->glClearBufferiv(ctx, buffer, drawBuffer, value);
1812 void glClearBufferuiv(GLenum buffer, GLint drawBuffer, const GLuint* value)
1815 ctx->glClearBufferuiv(ctx, buffer, drawBuffer, value);
1818 void glClearBufferfv(GLenum buffer, GLint drawBuffer, const GLfloat* value)
1821 ctx->glClearBufferfv(ctx, buffer, drawBuffer, value);
1824 void glClearBufferfi(GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil)
1827 ctx->glClearBufferfi(ctx, buffer, drawBuffer, depth, stencil);
1830 void glGetBufferParameteri64v(GLenum target, GLenum value, GLint64* data)
1833 ctx->glGetBufferParameteri64v(ctx, target, value, data);
1836 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params)
1839 ctx->glGetBufferPointerv(ctx, target, pname, params);
1842 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
1845 ctx->glUniformBlockBinding(ctx, program, uniformBlockIndex, uniformBlockBinding);
1848 GLuint glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName)
1851 return ctx->glGetUniformBlockIndex(ctx, program, uniformBlockName);
1854 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices)
1857 ctx->glGetUniformIndices(ctx, program, uniformCount, uniformNames, uniformIndices);
1860 void glGetUniformIndicesAEMU(GLuint program, GLsizei uniformCount, const GLchar* packedUniformNames, GLsizei packedLen, GLuint* uniformIndices)
1863 ctx->glGetUniformIndicesAEMU(ctx, program, uniformCount, packedUniformNames, packedLen, uniformIndices);
1866 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params)
1869 ctx->glGetActiveUniformBlockiv(ctx, program, uniformBlockIndex, pname, params);
1872 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)
1875 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
1876 ctx->glGetActiveUniformBlockName(ctx, program, uniformBlockIndex, bufSize, length, uniformBlockName);
1879 void glUniform1ui(GLint location, GLuint v0)
1882 ctx->glUniform1ui(ctx, location, v0);
1885 void glUniform2ui(GLint location, GLuint v0, GLuint v1)
1888 ctx->glUniform2ui(ctx, location, v0, v1);
1891 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
1894 ctx->glUniform3ui(ctx, location, v0, v1, v2);
1897 void glUniform4ui(GLint location, GLint v0, GLuint v1, GLuint v2, GLuint v3)
1900 ctx->glUniform4ui(ctx, location, v0, v1, v2, v3);
1903 void glUniform1uiv(GLint location, GLsizei count, const GLuint* value)
1906 ctx->glUniform1uiv(ctx, location, count, value);
1909 void glUniform2uiv(GLint location, GLsizei count, const GLuint* value)
1912 ctx->glUniform2uiv(ctx, location, count, value);
1915 void glUniform3uiv(GLint location, GLsizei count, const GLuint* value)
1918 ctx->glUniform3uiv(ctx, location, count, value);
1921 void glUniform4uiv(GLint location, GLsizei count, const GLuint* value)
1924 ctx->glUniform4uiv(ctx, location, count, value);
1927 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1930 ctx->glUniformMatrix2x3fv(ctx, location, count, transpose, value);
1933 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1936 ctx->glUniformMatrix3x2fv(ctx, location, count, transpose, value);
1939 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1942 ctx->glUniformMatrix2x4fv(ctx, location, count, transpose, value);
1945 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1948 ctx->glUniformMatrix4x2fv(ctx, location, count, transpose, value);
1951 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1954 ctx->glUniformMatrix3x4fv(ctx, location, count, transpose, value);
1957 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
1960 ctx->glUniformMatrix4x3fv(ctx, location, count, transpose, value);
1963 void glGetUniformuiv(GLuint program, GLint location, GLuint* params)
1966 ctx->glGetUniformuiv(ctx, program, location, params);
1969 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params)
1972 ctx->glGetActiveUniformsiv(ctx, program, uniformCount, uniformIndices, pname, params);
1975 void glVertexAttribI4i(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3)
1978 ctx->glVertexAttribI4i(ctx, index, v0, v1, v2, v3);
1981 void glVertexAttribI4ui(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
1984 ctx->glVertexAttribI4ui(ctx, index, v0, v1, v2, v3);
1987 void glVertexAttribI4iv(GLuint index, const GLint* v)
1990 ctx->glVertexAttribI4iv(ctx, index, v);
1993 void glVertexAttribI4uiv(GLuint index, const GLuint* v)
1996 ctx->glVertexAttribI4uiv(ctx, index, v);
1999 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
2002 ctx->glVertexAttribIPointer(ctx, index, size, type, stride, pointer);
2005 void glVertexAttribIPointerOffsetAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, GLuint offset)
2008 ctx->glVertexAttribIPointerOffsetAEMU(ctx, index, size, type, stride, offset);
2011 void glVertexAttribIPointerDataAEMU(GLuint index, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
2014 ctx->glVertexAttribIPointerDataAEMU(ctx, index, size, type, stride, data, datalen);
2017 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params)
2020 ctx->glGetVertexAttribIiv(ctx, index, pname, params);
2023 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params)
2026 ctx->glGetVertexAttribIuiv(ctx, index, pname, params);
2029 void glVertexAttribDivisor(GLuint index, GLuint divisor)
2032 ctx->glVertexAttribDivisor(ctx, index, divisor);
2035 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount)
2038 ctx->glDrawArraysInstanced(ctx, mode, first, count, primcount);
2041 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount)
2044 ctx->glDrawElementsInstanced(ctx, mode, count, type, indices, primcount);
2047 void glDrawElementsInstancedDataAEMU(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLsizei datalen)
2050 ctx->glDrawElementsInstancedDataAEMU(ctx, mode, count, type, indices, primcount, datalen);
2053 void glDrawElementsInstancedOffsetAEMU(GLenum mode, GLsizei count, GLenum type, GLuint offset, GLsizei primcount)
2056 ctx->glDrawElementsInstancedOffsetAEMU(ctx, mode, count, type, offset, primcount);
2059 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices)
2062 ctx->glDrawRangeElements(ctx, mode, start, end, count, type, indices);
2065 void glDrawRangeElementsDataAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices, GLsizei datalen)
2068 ctx->glDrawRangeElementsDataAEMU(ctx, mode, start, end, count, type, indices, datalen);
2071 void glDrawRangeElementsOffsetAEMU(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLuint offset)
2074 ctx->glDrawRangeElementsOffsetAEMU(ctx, mode, start, end, count, type, offset);
2077 GLsync glFenceSync(GLenum condition, GLbitfield flags)
2080 return ctx->glFenceSync(ctx, condition, flags);
2083 GLenum glClientWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout)
2086 return ctx->glClientWaitSync(ctx, wait_on, flags, timeout);
2089 void glWaitSync(GLsync wait_on, GLbitfield flags, GLuint64 timeout)
2092 ctx->glWaitSync(ctx, wait_on, flags, timeout);
2095 void glDeleteSync(GLsync to_delete)
2098 ctx->glDeleteSync(ctx, to_delete);
2101 GLboolean glIsSync(GLsync sync)
2104 return ctx->glIsSync(ctx, sync);
2107 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
2110 ctx->glGetSynciv(ctx, sync, pname, bufSize, length, values);
2113 uint64_t glFenceSyncAEMU(GLenum condition, GLbitfield flags)
2116 return ctx->glFenceSyncAEMU(ctx, condition, flags);
2119 GLenum glClientWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
2122 return ctx->glClientWaitSyncAEMU(ctx, wait_on, flags, timeout);
2125 void glWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
2128 ctx->glWaitSyncAEMU(ctx, wait_on, flags, timeout);
2131 void glDeleteSyncAEMU(uint64_t to_delete)
2134 ctx->glDeleteSyncAEMU(ctx, to_delete);
2137 GLboolean glIsSyncAEMU(uint64_t sync)
2140 return ctx->glIsSyncAEMU(ctx, sync);
2143 void glGetSyncivAEMU(uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
2146 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2147 ctx->glGetSyncivAEMU(ctx, sync, pname, bufSize, length, values);
2150 void glDrawBuffers(GLsizei n, const GLenum* bufs)
2153 ctx->glDrawBuffers(ctx, n, bufs);
2156 void glReadBuffer(GLenum src)
2159 ctx->glReadBuffer(ctx, src);
2162 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
2165 ctx->glBlitFramebuffer(ctx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
2168 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments)
2171 ctx->glInvalidateFramebuffer(ctx, target, numAttachments, attachments);
2174 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
2177 ctx->glInvalidateSubFramebuffer(ctx, target, numAttachments, attachments, x, y, width, height);
2180 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
2183 ctx->glFramebufferTextureLayer(ctx, target, attachment, texture, level, layer);
2186 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
2189 ctx->glRenderbufferStorageMultisample(ctx, target, samples, internalformat, width, height);
2192 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
2195 ctx->glTexStorage2D(ctx, target, levels, internalformat, width, height);
2198 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)
2201 ctx->glGetInternalformativ(ctx, target, internalformat, pname, bufSize, params);
2204 void glBeginTransformFeedback(GLenum primitiveMode)
2207 ctx->glBeginTransformFeedback(ctx, primitiveMode);
2210 void glEndTransformFeedback()
2213 ctx->glEndTransformFeedback(ctx);
2216 void glGenTransformFeedbacks(GLsizei n, GLuint* ids)
2219 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2220 ctx->glGenTransformFeedbacks(ctx, n, ids);
2223 void glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids)
2226 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2227 ctx->glDeleteTransformFeedbacks(ctx, n, ids);
2230 void glBindTransformFeedback(GLenum target, GLuint id)
2233 ctx->glBindTransformFeedback(ctx, target, id);
2236 void glPauseTransformFeedback()
2239 ctx->glPauseTransformFeedback(ctx);
2242 void glResumeTransformFeedback()
2245 ctx->glResumeTransformFeedback(ctx);
2248 GLboolean glIsTransformFeedback(GLuint id)
2251 return ctx->glIsTransformFeedback(ctx, id);
2254 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const char** varyings, GLenum bufferMode)
2257 ctx->glTransformFeedbackVaryings(ctx, program, count, varyings, bufferMode);
2260 void glTransformFeedbackVaryingsAEMU(GLuint program, GLsizei count, const char* packedVaryings, GLuint packedVaryingsLen, GLenum bufferMode)
2263 ctx->glTransformFeedbackVaryingsAEMU(ctx, program, count, packedVaryings, packedVaryingsLen, bufferMode);
2266 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, char* name)
2269 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2270 ctx->glGetTransformFeedbackVarying(ctx, program, index, bufSize, length, size, type, name);
2273 void glGenSamplers(GLsizei n, GLuint* samplers)
2276 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2277 ctx->glGenSamplers(ctx, n, samplers);
2280 void glDeleteSamplers(GLsizei n, const GLuint* samplers)
2283 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2284 ctx->glDeleteSamplers(ctx, n, samplers);
2287 void glBindSampler(GLuint unit, GLuint sampler)
2290 ctx->glBindSampler(ctx, unit, sampler);
2293 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
2296 ctx->glSamplerParameterf(ctx, sampler, pname, param);
2299 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
2302 ctx->glSamplerParameteri(ctx, sampler, pname, param);
2305 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* params)
2308 ctx->glSamplerParameterfv(ctx, sampler, pname, params);
2311 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* params)
2314 ctx->glSamplerParameteriv(ctx, sampler, pname, params);
2317 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params)
2320 ctx->glGetSamplerParameterfv(ctx, sampler, pname, params);
2323 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params)
2326 ctx->glGetSamplerParameteriv(ctx, sampler, pname, params);
2329 GLboolean glIsSampler(GLuint sampler)
2332 return ctx->glIsSampler(ctx, sampler);
2335 void glGenQueries(GLsizei n, GLuint* queries)
2338 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2339 ctx->glGenQueries(ctx, n, queries);
2342 void glDeleteQueries(GLsizei n, const GLuint* queries)
2345 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2346 ctx->glDeleteQueries(ctx, n, queries);
2349 void glBeginQuery(GLenum target, GLuint query)
2352 ctx->glBeginQuery(ctx, target, query);
2355 void glEndQuery(GLenum target)
2358 ctx->glEndQuery(ctx, target);
2361 void glGetQueryiv(GLenum target, GLenum pname, GLint* params)
2364 ctx->glGetQueryiv(ctx, target, pname, params);
2367 void glGetQueryObjectuiv(GLuint query, GLenum pname, GLuint* params)
2370 ctx->glGetQueryObjectuiv(ctx, query, pname, params);
2373 GLboolean glIsQuery(GLuint query)
2376 return ctx->glIsQuery(ctx, query);
2379 void glProgramParameteri(GLuint program, GLenum pname, GLint value)
2382 ctx->glProgramParameteri(ctx, program, pname, value);
2385 void glProgramBinary(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length)
2388 ctx->glProgramBinary(ctx, program, binaryFormat, binary, length);
2391 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary)
2394 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2395 ctx->glGetProgramBinary(ctx, program, bufSize, length, binaryFormat, binary);
2398 GLint glGetFragDataLocation(GLuint program, const char* name)
2401 return ctx->glGetFragDataLocation(ctx, program, name);
2404 void glGetInteger64v(GLenum pname, GLint64* data)
2407 ctx->glGetInteger64v(ctx, pname, data);
2410 void glGetIntegeri_v(GLenum target, GLuint index, GLint* data)
2413 ctx->glGetIntegeri_v(ctx, target, index, data);
2416 void glGetInteger64i_v(GLenum target, GLuint index, GLint64* data)
2419 ctx->glGetInteger64i_v(ctx, target, index, data);
2422 void glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data)
2425 ctx->glTexImage3D(ctx, target, level, internalFormat, width, height, depth, border, format, type, data);
2428 void glTexImage3DOffsetAEMU(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLuint offset)
2431 ctx->glTexImage3DOffsetAEMU(ctx, target, level, internalFormat, width, height, depth, border, format, type, offset);
2434 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
2437 ctx->glTexStorage3D(ctx, target, levels, internalformat, width, height, depth);
2440 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)
2443 ctx->glTexSubImage3D(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
2446 void glTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLuint offset)
2449 ctx->glTexSubImage3DOffsetAEMU(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset);
2452 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
2455 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2456 ctx->glCompressedTexImage3D(ctx, target, level, internalformat, width, height, depth, border, imageSize, data);
2459 void glCompressedTexImage3DOffsetAEMU(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLuint offset)
2462 ctx->glCompressedTexImage3DOffsetAEMU(ctx, target, level, internalformat, width, height, depth, border, imageSize, offset);
2465 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)
2468 if(imageSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2469 ctx->glCompressedTexSubImage3D(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
2472 void glCompressedTexSubImage3DOffsetAEMU(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLuint data)
2475 ctx->glCompressedTexSubImage3DOffsetAEMU(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
2478 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
2481 ctx->glCopyTexSubImage3D(ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height);
2484 const GLubyte* glGetStringi(GLenum name, GLuint index)
2487 return ctx->glGetStringi(ctx, name, index);
2490 void glGetBooleani_v(GLenum target, GLuint index, GLboolean* data)
2493 ctx->glGetBooleani_v(ctx, target, index, data);
2496 void glMemoryBarrier(GLbitfield barriers)
2499 ctx->glMemoryBarrier(ctx, barriers);
2502 void glMemoryBarrierByRegion(GLbitfield barriers)
2505 ctx->glMemoryBarrierByRegion(ctx, barriers);
2508 void glGenProgramPipelines(GLsizei n, GLuint* pipelines)
2511 ctx->glGenProgramPipelines(ctx, n, pipelines);
2514 void glDeleteProgramPipelines(GLsizei n, const GLuint* pipelines)
2517 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
2518 ctx->glDeleteProgramPipelines(ctx, n, pipelines);
2521 void glBindProgramPipeline(GLuint pipeline)
2524 ctx->glBindProgramPipeline(ctx, pipeline);
2527 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params)
2530 ctx->glGetProgramPipelineiv(ctx, pipeline, pname, params);
2533 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
2536 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2537 ctx->glGetProgramPipelineInfoLog(ctx, pipeline, bufSize, length, infoLog);
2540 void glValidateProgramPipeline(GLuint pipeline)
2543 ctx->glValidateProgramPipeline(ctx, pipeline);
2546 GLboolean glIsProgramPipeline(GLuint pipeline)
2549 return ctx->glIsProgramPipeline(ctx, pipeline);
2552 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
2555 ctx->glUseProgramStages(ctx, pipeline, stages, program);
2558 void glActiveShaderProgram(GLuint pipeline, GLuint program)
2561 ctx->glActiveShaderProgram(ctx, pipeline, program);
2564 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const char** strings)
2567 return ctx->glCreateShaderProgramv(ctx, type, count, strings);
2570 GLuint glCreateShaderProgramvAEMU(GLenum type, GLsizei count, const char* packedStrings, GLuint packedLen)
2573 return ctx->glCreateShaderProgramvAEMU(ctx, type, count, packedStrings, packedLen);
2576 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
2579 ctx->glProgramUniform1f(ctx, program, location, v0);
2582 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
2585 ctx->glProgramUniform2f(ctx, program, location, v0, v1);
2588 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
2591 ctx->glProgramUniform3f(ctx, program, location, v0, v1, v2);
2594 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
2597 ctx->glProgramUniform4f(ctx, program, location, v0, v1, v2, v3);
2600 void glProgramUniform1i(GLuint program, GLint location, GLint v0)
2603 ctx->glProgramUniform1i(ctx, program, location, v0);
2606 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
2609 ctx->glProgramUniform2i(ctx, program, location, v0, v1);
2612 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
2615 ctx->glProgramUniform3i(ctx, program, location, v0, v1, v2);
2618 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
2621 ctx->glProgramUniform4i(ctx, program, location, v0, v1, v2, v3);
2624 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
2627 ctx->glProgramUniform1ui(ctx, program, location, v0);
2630 void glProgramUniform2ui(GLuint program, GLint location, GLint v0, GLuint v1)
2633 ctx->glProgramUniform2ui(ctx, program, location, v0, v1);
2636 void glProgramUniform3ui(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2)
2639 ctx->glProgramUniform3ui(ctx, program, location, v0, v1, v2);
2642 void glProgramUniform4ui(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3)
2645 ctx->glProgramUniform4ui(ctx, program, location, v0, v1, v2, v3);
2648 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2651 ctx->glProgramUniform1fv(ctx, program, location, count, value);
2654 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2657 ctx->glProgramUniform2fv(ctx, program, location, count, value);
2660 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2663 ctx->glProgramUniform3fv(ctx, program, location, count, value);
2666 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat* value)
2669 ctx->glProgramUniform4fv(ctx, program, location, count, value);
2672 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2675 ctx->glProgramUniform1iv(ctx, program, location, count, value);
2678 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2681 ctx->glProgramUniform2iv(ctx, program, location, count, value);
2684 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2687 ctx->glProgramUniform3iv(ctx, program, location, count, value);
2690 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint* value)
2693 ctx->glProgramUniform4iv(ctx, program, location, count, value);
2696 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2699 ctx->glProgramUniform1uiv(ctx, program, location, count, value);
2702 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2705 ctx->glProgramUniform2uiv(ctx, program, location, count, value);
2708 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2711 ctx->glProgramUniform3uiv(ctx, program, location, count, value);
2714 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint* value)
2717 ctx->glProgramUniform4uiv(ctx, program, location, count, value);
2720 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2723 ctx->glProgramUniformMatrix2fv(ctx, program, location, count, transpose, value);
2726 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2729 ctx->glProgramUniformMatrix3fv(ctx, program, location, count, transpose, value);
2732 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2735 ctx->glProgramUniformMatrix4fv(ctx, program, location, count, transpose, value);
2738 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2741 ctx->glProgramUniformMatrix2x3fv(ctx, program, location, count, transpose, value);
2744 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2747 ctx->glProgramUniformMatrix3x2fv(ctx, program, location, count, transpose, value);
2750 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2753 ctx->glProgramUniformMatrix2x4fv(ctx, program, location, count, transpose, value);
2756 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2759 ctx->glProgramUniformMatrix4x2fv(ctx, program, location, count, transpose, value);
2762 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2765 ctx->glProgramUniformMatrix3x4fv(ctx, program, location, count, transpose, value);
2768 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2771 ctx->glProgramUniformMatrix4x3fv(ctx, program, location, count, transpose, value);
2774 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params)
2777 ctx->glGetProgramInterfaceiv(ctx, program, programInterface, pname, params);
2780 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLint* params)
2783 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2784 ctx->glGetProgramResourceiv(ctx, program, programInterface, index, propCount, props, bufSize, length, params);
2787 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const char* name)
2790 return ctx->glGetProgramResourceIndex(ctx, program, programInterface, name);
2793 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const char* name)
2796 return ctx->glGetProgramResourceLocation(ctx, program, programInterface, name);
2799 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, char* name)
2802 if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
2803 ctx->glGetProgramResourceName(ctx, program, programInterface, index, bufSize, length, name);
2806 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
2809 ctx->glBindImageTexture(ctx, unit, texture, level, layered, layer, access, format);
2812 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)
2815 ctx->glDispatchCompute(ctx, num_groups_x, num_groups_y, num_groups_z);
2818 void glDispatchComputeIndirect(GLintptr indirect)
2821 ctx->glDispatchComputeIndirect(ctx, indirect);
2824 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride)
2827 ctx->glBindVertexBuffer(ctx, bindingindex, buffer, offset, stride);
2830 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex)
2833 ctx->glVertexAttribBinding(ctx, attribindex, bindingindex);
2836 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
2839 ctx->glVertexAttribFormat(ctx, attribindex, size, type, normalized, relativeoffset);
2842 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
2845 ctx->glVertexAttribIFormat(ctx, attribindex, size, type, relativeoffset);
2848 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)
2851 ctx->glVertexBindingDivisor(ctx, bindingindex, divisor);
2854 void glDrawArraysIndirect(GLenum mode, const void* indirect)
2857 ctx->glDrawArraysIndirect(ctx, mode, indirect);
2860 void glDrawArraysIndirectDataAEMU(GLenum mode, const void* indirect, GLuint datalen)
2863 ctx->glDrawArraysIndirectDataAEMU(ctx, mode, indirect, datalen);
2866 void glDrawArraysIndirectOffsetAEMU(GLenum mode, GLuint offset)
2869 ctx->glDrawArraysIndirectOffsetAEMU(ctx, mode, offset);
2872 void glDrawElementsIndirect(GLenum mode, GLenum type, const void* indirect)
2875 ctx->glDrawElementsIndirect(ctx, mode, type, indirect);
2878 void glDrawElementsIndirectDataAEMU(GLenum mode, GLenum type, const void* indirect, GLuint datalen)
2881 ctx->glDrawElementsIndirectDataAEMU(ctx, mode, type, indirect, datalen);
2884 void glDrawElementsIndirectOffsetAEMU(GLenum mode, GLenum type, GLuint offset)
2887 ctx->glDrawElementsIndirectOffsetAEMU(ctx, mode, type, offset);
2890 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
2893 ctx->glTexStorage2DMultisample(ctx, target, samples, internalformat, width, height, fixedsamplelocations);
2896 void glSampleMaski(GLuint maskNumber, GLbitfield mask)
2899 ctx->glSampleMaski(ctx, maskNumber, mask);
2902 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val)
2905 ctx->glGetMultisamplefv(ctx, pname, index, val);
2908 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
2911 ctx->glFramebufferParameteri(ctx, target, pname, param);
2914 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params)
2917 ctx->glGetFramebufferParameteriv(ctx, target, pname, params);
2920 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params)
2923 ctx->glGetTexLevelParameterfv(ctx, target, level, pname, params);
2926 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params)
2929 ctx->glGetTexLevelParameteriv(ctx, target, level, pname, params);