4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
8 * Sanghyun Lee <sanghyunnim.lee@samsung.com>
9 * Juyoung Kim <j0.kim@samsung.com>
10 * Vitaliy Cherepanov <v.cherepanov@samsung.com>
12 * This library is free software; you can redistribute it and/or modify it under
13 * the terms of the GNU Lesser General Public License as published by the
14 * Free Software Foundation; either version 2.1 of the License, or (at your option)
17 * This library is distributed in the hope that it will be useful, but WITHOUT ANY
18 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
20 * License for more details.
22 * You should have received a copy of the GNU Lesser General Public License
23 * along with this library; if not, write to the Free Software Foundation, Inc., 51
24 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
30 #include "da_gles20.h"
33 static enum DaOptions _sopt = OPT_GLES;
35 // ==================================================================
37 // ==================================================================
39 void glActiveTexture(GLenum texture) {
40 typedef void (*methodType)(GLenum);
41 BEFORE(glActiveTexture);
42 glActiveTexturep(texture);
44 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
48 void glAttachShader(GLuint program, GLuint shader) {
49 typedef void (*methodType)(GLuint, GLuint);
50 BEFORE(glAttachShader);
51 glAttachShaderp(program, shader);
53 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
57 // ==================================================================
59 // ==================================================================
61 void glBindAttribLocation(GLuint program, GLuint index, const char *name) {
62 typedef void (*methodType)(GLuint, GLuint, const char *);
63 BEFORE(glBindAttribLocation);
64 glBindAttribLocationp(program, index, name);
66 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dds",
67 program, index, name);
70 void glBindBuffer(GLenum target, GLuint buffer) {
71 typedef void (*methodType)(GLenum, GLuint);
73 glBindBufferp(target, buffer);
75 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
76 (uint64_t)(target), buffer);
79 void glBindFramebuffer(GLenum target, GLuint framebuffer) {
80 typedef void (*methodType)(GLenum, GLuint);
81 BEFORE(glBindFramebuffer);
82 glBindFramebufferp(target, framebuffer);
84 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
85 (uint64_t)(target), framebuffer);
88 void glBindRenderbuffer(GLenum target, GLuint renderbuffer) {
89 typedef void (*methodType)(GLenum, GLuint);
90 BEFORE(glBindRenderbuffer);
91 glBindRenderbufferp(target, renderbuffer);
93 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
94 (uint64_t)(target), renderbuffer);
97 void glBindTexture(GLenum target, GLuint texture) {
98 typedef void (*methodType)(GLenum, GLuint);
99 BEFORE(glBindTexture);
100 glBindTexturep(target, texture);
101 error = glGetError();
102 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
103 (uint64_t)(target), texture);
106 void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
107 typedef void (*methodType)(GLclampf, GLclampf, GLclampf, GLclampf);
108 BEFORE(glBlendColor);
109 glBlendColorp(red, green, blue, alpha);
110 error = glGetError();
111 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ffff",
112 red, green, blue, alpha);
115 void glBlendEquation(GLenum mode) {
116 typedef void (*methodType)(GLenum);
117 BEFORE(glBlendEquation);
118 glBlendEquationp(mode);
119 error = glGetError();
120 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
124 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) {
125 typedef void (*methodType)(GLenum, GLenum);
126 BEFORE(glBlendEquationSeparate);
127 glBlendEquationSeparatep(modeRGB, modeAlpha);
128 error = glGetError();
129 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
130 (uint64_t)(modeRGB), (uint64_t)(modeAlpha));
133 void glBlendFunc(GLenum sfactor, GLenum dfactor) {
134 typedef void (*methodType)(GLenum, GLenum);
136 glBlendFuncp(sfactor, dfactor);
137 error = glGetError();
138 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
139 (uint64_t)(sfactor), (uint64_t)(dfactor));
142 void glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
144 typedef void (*methodType)(GLenum, GLenum, GLenum, GLenum);
145 BEFORE(glBlendFuncSeparate);
146 glBlendFuncSeparatep(srcRGB, dstRGB, srcAlpha, dstAlpha);
147 error = glGetError();
148 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxx",
149 (uint64_t)(srcRGB), (uint64_t)(dstRGB),
150 (uint64_t)(srcAlpha), (uint64_t)(dstAlpha));
153 void glBufferData(GLenum target, GLsizeiptr size, const GLvoid * data,
155 typedef void (*methodType)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
156 BEFORE(glBufferData);
157 glBufferDatap(target, size, data, usage);
158 error = glGetError();
159 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxpx",
160 (uint64_t)(target), (uint64_t)(size),
161 voidp_to_uint64(data), (uint64_t)(usage));
164 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size,
165 const GLvoid * data) {
166 typedef void (*methodType)(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
167 BEFORE(glBufferSubData);
168 glBufferSubDatap(target, offset, size, data);
169 error = glGetError();
170 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxp",
171 (uint64_t)(target), (uint64_t)(offset),
172 (uint64_t)(size), voidp_to_uint64(data));
175 // ==================================================================
177 // ==================================================================
179 GLenum glCheckFramebufferStatus(GLenum target) {
180 typedef GLenum (*methodType)(GLenum);
181 BEFORE(glCheckFramebufferStatus);
182 GLenum ret = glCheckFramebufferStatusp(target);
183 error = glGetError();
184 AFTER(ret, APITYPE_CONTEXT, "", "x",
190 void glClear(GLbitfield mask) {
191 typedef void (*methodType)(GLbitfield);
194 error = glGetError();
195 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
199 void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
200 typedef void (*methodType)(GLclampf, GLclampf, GLclampf, GLclampf);
201 BEFORE(glClearColor);
202 glClearColorp(red, green, blue, alpha);
203 error = glGetError();
204 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ffff",
205 red, green, blue, alpha);
208 void glClearDepthf(GLclampf depth) {
209 typedef void (*methodType)(GLclampf);
210 BEFORE(glClearDepthf);
211 glClearDepthfp(depth);
212 error = glGetError();
213 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "f", depth);
216 void glClearStencil(GLint s) {
217 typedef void (*methodType)(GLint);
218 BEFORE(glClearStencil);
220 error = glGetError();
221 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", s);
224 void glColorMask(GLboolean red, GLboolean green, GLboolean blue,
226 typedef void (*methodType)(GLboolean, GLboolean, GLboolean, GLboolean);
228 glColorMaskp(red, green, blue, alpha);
229 error = glGetError();
230 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
231 red, green, blue, alpha);
234 void glCompileShader(GLuint shader) {
235 typedef void (*methodType)(GLuint);
236 BEFORE(glCompileShader);
237 glCompileShaderp(shader);
238 error = glGetError();
239 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(shader));
242 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
243 GLsizei width, GLsizei height, GLint border, GLsizei imageSize,
244 const GLvoid * data) {
245 typedef void (*methodType)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint,
246 GLsizei, const GLvoid *);
247 BEFORE(glCompressedTexImage2D);
248 glCompressedTexImage2Dp(target, level, internalformat, width, height,
249 border, imageSize, data);
250 error = glGetError();
251 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdxddddp",
252 (uint64_t)(target), level,
253 (uint64_t)(internalformat), width, height, border, imageSize,
254 voidp_to_uint64(data));
257 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset,
258 GLint yoffset, GLsizei width, GLsizei height, GLenum format,
259 GLsizei imageSize, const GLvoid * data) {
260 typedef void (*methodType)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei,
261 GLenum, GLsizei, const GLvoid *);
262 BEFORE(glCompressedTexSubImage2D);
263 glCompressedTexSubImage2Dp(target, level, xoffset, yoffset, width, height,
264 format, imageSize, data);
265 error = glGetError();
266 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdddddxdp",
267 (uint64_t)(target), level, xoffset, yoffset, width, height,
268 (uint64_t)(format), imageSize, voidp_to_uint64(data));
271 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat,
272 GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
273 typedef void (*methodType)(GLenum, GLint, GLenum, GLint, GLint, GLsizei,
275 BEFORE(glCopyTexImage2D);
276 glCopyTexImage2Dp(target, level, internalformat, x, y, width, height,
278 error = glGetError();
279 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdxddddd",
280 (uint64_t)(target), level,
281 (uint64_t)(internalformat), x, y, width, height, border);
284 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset,
285 GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
286 typedef void (*methodType)(GLenum, GLint, GLint, GLint, GLint, GLint,
288 BEFORE(glCopyTexSubImage2D);
289 glCopyTexSubImage2Dp(target, level, xoffset, yoffset, x, y, width, height);
290 error = glGetError();
291 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xddddddd",
292 (uint64_t)(target), level, xoffset, yoffset, x, y, width,
296 GLuint glCreateProgram(void) {
297 typedef GLuint (*methodType)(void);
298 BEFORE(glCreateProgram);
299 GLuint ret = glCreateProgramp();
300 error = glGetError();
301 AFTER_NO_PARAM(ret, APITYPE_CONTEXT, "");
306 GLuint glCreateShader(GLenum shaderType) {
307 typedef GLuint (*methodType)(GLenum);
308 BEFORE(glCreateShader);
309 GLuint ret = glCreateShaderp(shaderType);
310 error = glGetError();
311 AFTER(ret, APITYPE_CONTEXT, "", "x", (uint64_t)(shaderType));
316 void glCullFace(GLenum mode) {
317 typedef void (*methodType)(GLenum);
320 error = glGetError();
321 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(mode));
324 // ==================================================================
326 // ==================================================================
328 void glDeleteBuffers(GLsizei n, const GLuint * buffers) {
329 typedef void (*methodType)(GLsizei, const GLuint *);
330 BEFORE(glDeleteBuffers);
331 glDeleteBuffersp(n, buffers);
332 error = glGetError();
333 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
334 n, voidp_to_uint64(buffers));
337 void glDeleteFramebuffers(GLsizei n, const GLuint * framebuffers) {
338 typedef void (*methodType)(GLsizei, const GLuint *);
339 BEFORE(glDeleteFramebuffers);
340 glDeleteFramebuffersp(n, framebuffers);
341 error = glGetError();
342 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
343 n, voidp_to_uint64(framebuffers));
346 void glDeleteProgram(GLuint program) {
347 typedef void (*methodType)(GLuint);
348 BEFORE(glDeleteProgram);
349 glDeleteProgramp(program);
350 error = glGetError();
351 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d",
355 void glDeleteRenderbuffers(GLsizei n, const GLuint * renderbuffers) {
356 typedef void (*methodType)(GLsizei, const GLuint *);
357 BEFORE(glDeleteRenderbuffers);
358 glDeleteRenderbuffersp(n, renderbuffers);
359 error = glGetError();
360 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
361 n, voidp_to_uint64(renderbuffers));
364 void glDeleteShader(GLuint shader) {
365 typedef void (*methodType)(GLuint);
366 BEFORE(glDeleteShader);
367 glDeleteShaderp(shader);
368 error = glGetError();
369 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", shader);
372 void glDeleteTextures(GLsizei n, const GLuint * textures) {
373 typedef void (*methodType)(GLsizei, const GLuint *);
374 BEFORE(glDeleteTextures);
375 glDeleteTexturesp(n, textures);
376 error = glGetError();
377 if (error == GL_NO_ERROR) {
380 for (int i = 0; i < n; i++) {
381 bufP += sprintf(buf + bufP, "%u", textures[i]);
383 bufP += sprintf(buf + bufP, ",");
386 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, buf, "dp",
387 n, voidp_to_uint64(textures));
389 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
390 n, voidp_to_uint64(textures));
394 void glDepthFunc(GLenum func) {
395 typedef void (*methodType)(GLenum);
398 error = glGetError();
399 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(func));
402 void glDepthMask(GLboolean flag) {
403 typedef void (*methodType)(GLboolean);
406 error = glGetError();
407 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(flag));
410 void glDepthRangef(GLclampf nearVal, GLclampf farVal) {
411 typedef void (*methodType)(GLclampf, GLclampf);
412 BEFORE(glDepthRangef);
413 glDepthRangefp(nearVal, farVal);
414 error = glGetError();
415 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ff",
419 void glDetachShader(GLuint program, GLuint shader) {
420 typedef void (*methodType)(GLuint, GLuint);
421 BEFORE(glDetachShader);
422 glDetachShaderp(program, shader);
423 error = glGetError();
424 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
428 void glDisable(GLenum cap) {
429 typedef void (*methodType)(GLenum);
432 error = glGetError();
433 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(cap));
436 void glDisableVertexAttribArray(GLuint index) {
437 typedef void (*methodType)(GLuint);
438 BEFORE(glDisableVertexAttribArray);
439 glDisableVertexAttribArrayp(index);
440 error = glGetError();
441 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", index);
444 void glDrawArrays(GLenum mode, GLint first, GLsizei count) {
445 typedef void (*methodType)(GLenum, GLint, GLsizei);
446 BEFORE(glDrawArrays);
447 glDrawArraysp(mode, first, count);
448 error = glGetError();
449 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdd",
450 (uint64_t)(mode), first, count);
453 void glDrawElements(GLenum mode, GLsizei count, GLenum type,
454 const GLvoid * indices) {
455 typedef void (*methodType)(GLenum, GLsizei, GLenum, const GLvoid *);
456 BEFORE(glDrawElements);
457 glDrawElementsp(mode, count, type, indices);
458 error = glGetError();
459 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdxp",
460 (uint64_t)(mode), count, (uint64_t)(type), indices);
463 // ==================================================================
465 // ==================================================================
467 void glEnable(GLenum cap) {
468 typedef void (*methodType)(GLenum);
471 error = glGetError();
472 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(cap));
475 void glEnableVertexAttribArray(GLuint index) {
476 typedef void (*methodType)(GLuint);
477 BEFORE(glEnableVertexAttribArray);
478 glEnableVertexAttribArrayp(index);
479 error = glGetError();
480 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", index);
483 #undef eglSwapBuffers
484 extern "C" EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
485 typedef EGLBoolean (*methodType)(EGLDisplay, EGLSurface);
486 BEFORE_EGL(eglSwapBuffers);
487 EGLBoolean ret = eglSwapBuffersp(dpy, surface);
488 error = eglGetError();
489 AFTER_NO_PARAM(ret, APITYPE_CONTEXT, "");
493 #define eglSwapBuffers _SglSwapBuffers
495 EGLBoolean _SglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
496 typedef EGLBoolean (*methodType)(EGLDisplay, EGLSurface);
497 BEFORE_OSP_UIFW(_SglSwapBuffers);
498 EGLBoolean ret = _SglSwapBuffersp(dpy, surface);
499 error = eglGetError();
500 AFTER_NO_PARAM(ret, APITYPE_CONTEXT, "");
505 // ==================================================================
507 // ==================================================================
509 void glFinish(void) {
510 typedef void (*methodType)(void);
513 error = glGetError();
514 AFTER_NO_PARAM(NO_RETURN_VALUE, APITYPE_CONTEXT, "");
518 typedef void (*methodType)(void);
521 error = glGetError();
522 AFTER_NO_PARAM(NO_RETURN_VALUE, APITYPE_CONTEXT, "");
525 void glFramebufferRenderbuffer(GLenum target, GLenum attachment,
526 GLenum renderbuffertarget, GLuint renderbuffer) {
527 typedef void (*methodType)(GLenum, GLenum, GLenum, GLuint);
528 BEFORE(glFramebufferRenderbuffer);
529 glFramebufferRenderbufferp(target, attachment, renderbuffertarget,
531 error = glGetError();
532 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxd",
533 (uint64_t)(target), (uint64_t)(attachment),
534 (uint64_t)(renderbuffertarget), renderbuffer);
537 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget,
538 GLuint texture, GLint level) {
539 typedef void (*methodType)(GLenum, GLenum, GLenum, GLuint, GLint);
540 BEFORE(glFramebufferTexture2D);
541 glFramebufferTexture2Dp(target, attachment, textarget, texture, level);
542 error = glGetError();
543 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxdd",
544 (uint64_t)(target), (uint64_t)(attachment),
545 (uint64_t)(textarget), texture, level);
548 void glFrontFace(GLenum mode) {
549 typedef void (*methodType)(GLenum);
552 error = glGetError();
553 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
557 // ==================================================================
559 // ==================================================================
561 void glGenBuffers(GLsizei n, GLuint * buffers) {
562 typedef void (*methodType)(GLsizei, GLuint *);
563 BEFORE(glGenBuffers);
564 glGenBuffersp(n, buffers);
565 error = glGetError();
566 if (error == GL_NO_ERROR) {
569 for (int i = 0; i < n; i++) {
570 bufP += sprintf(buf + bufP, "%u", buffers[i]);
572 bufP += sprintf(buf + bufP, ",");
575 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, buf, "dp",
576 n, voidp_to_uint64(buffers));
578 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
579 n, voidp_to_uint64(buffers));
583 void glGenFramebuffers(GLsizei n, GLuint * framebuffers) {
584 typedef void (*methodType)(GLsizei, GLuint *);
585 BEFORE(glGenFramebuffers);
586 glGenFramebuffersp(n, framebuffers);
587 error = glGetError();
588 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
589 n, voidp_to_uint64(framebuffers));
592 void glGenRenderbuffers(GLsizei n, GLuint * renderbuffers) {
593 typedef void (*methodType)(GLsizei, GLuint *);
594 BEFORE(glGenRenderbuffers);
595 glGenRenderbuffersp(n, renderbuffers);
596 error = glGetError();
597 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
598 n, voidp_to_uint64(renderbuffers));
601 void glGenTextures(GLsizei n, GLuint * textures) {
602 typedef void (*methodType)(GLsizei, GLuint *);
603 BEFORE(glGenTextures);
604 glGenTexturesp(n, textures);
605 error = glGetError();
606 if (error == GL_NO_ERROR) {
609 for (int i = 0; i < n; i++) {
610 bufP += sprintf(buf + bufP, "%u", textures[i]);
612 bufP += sprintf(buf + bufP, ",");
615 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, buf, "dp",
616 n, voidp_to_uint64(textures));
618 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
619 n, voidp_to_uint64(textures));
623 void glGenerateMipmap(GLenum target) {
624 typedef void (*methodType)(GLenum);
625 BEFORE(glGenerateMipmap);
626 glGenerateMipmapp(target);
627 error = glGetError();
628 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(target));
632 void glGetBooleanv(GLenum pname, GLboolean * params) {
633 typedef void (*methodType)(GLenum, GLboolean *);
634 BEFORE(glGetBooleanv);
635 glGetBooleanvp(pname, params);
636 error = glGetError();
637 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
641 void glGetFloatv(GLenum pname, GLfloat * params) {
642 typedef void (*methodType)(GLenum, GLfloat *);
644 glGetFloatvp(pname, params);
645 error = glGetError();
646 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
650 void glGetIntegerv(GLenum pname, GLint * params) {
651 typedef void (*methodType)(GLenum, GLint *);
652 BEFORE(glGetIntegerv);
653 glGetIntegervp(pname, params);
654 error = glGetError();
655 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
659 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize,
660 GLsizei *length, GLint *size, GLenum *type, char *name) {
661 typedef void (*methodType)(GLuint, GLuint, GLsizei, GLsizei *, GLint *,
663 BEFORE(glGetActiveAttrib);
664 glGetActiveAttribp(program, index, bufSize, length, size, type, name);
665 error = glGetError();
666 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddd",
667 program, index, bufSize);
671 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize,
672 GLsizei *length, GLint *size, GLenum *type, char *name) {
673 typedef void (*methodType)(GLuint, GLuint, GLsizei, GLsizei *, GLint *,
675 BEFORE(glGetActiveUniform);
676 glGetActiveUniformp(program, index, bufSize, length, size, type, name);
677 error = glGetError();
678 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddd",
679 program, index, bufSize);
683 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count,
685 typedef void (*methodType)(GLuint, GLsizei, GLsizei *, GLuint *);
686 BEFORE(glGetAttachedShaders);
687 glGetAttachedShadersp(program, maxCount, count, shaders);
688 error = glGetError();
689 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
694 void glGetAttribLocation(GLenum pname, GLint * params) {
695 typedef void (*methodType)(GLenum, GLint *);
696 BEFORE(glGetAttribLocation);
697 glGetAttribLocationp(pname, params);
698 error = glGetError();
699 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
703 void glGetBufferParameteriv(GLenum target, GLenum value, GLint * data) {
704 typedef void (*methodType)(GLenum, GLenum, GLint *);
705 BEFORE(glGetBufferParameteriv);
706 glGetBufferParameterivp(target, value, data);
707 error = glGetError();
708 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
709 (uint64_t)(target), (uint64_t)(value));
712 GLenum glGetError(void) {
713 typedef GLenum (*methodType)(void);
715 GLenum ret = glGetErrorp();
716 // error = glGetError();
717 AFTER_NO_PARAM(ret, APITYPE_CONTEXT, "");
723 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment,
724 GLenum pname, GLint * params) {
725 typedef void (*methodType)(GLenum, GLenum, GLenum, GLint *);
726 BEFORE(glGetFramebufferAttachmentParameteriv);
727 glGetFramebufferAttachmentParameterivp(target, attachment, pname, params);
728 error = glGetError();
729 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxx",
730 (uint64_t)(target), (uint64_t)(attachment),
735 void glGetProgramInfoLog(GLuint program, GLsizei maxLength, GLsizei *length,
737 typedef void (*methodType)(GLuint, GLsizei, GLsizei *, char *);
738 BEFORE(glGetProgramInfoLog);
739 glGetProgramInfoLogp(program, maxLength, length, infoLog);
740 error = glGetError();
741 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
746 void glGetProgramiv(GLuint program, GLenum pname, GLint *params) {
747 typedef void (*methodType)(GLuint, GLenum, GLint *);
748 BEFORE(glGetProgramiv);
749 glGetProgramivp(program, pname, params);
750 error = glGetError();
751 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
752 program, (uint64_t)(pname));
756 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) {
757 typedef void (*methodType)(GLenum, GLenum, GLint *);
758 BEFORE(glGetRenderbufferParameteriv);
759 glGetRenderbufferParameterivp(target, pname, params);
760 error = glGetError();
761 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
762 (uint64_t)(target), (uint64_t)(pname));
766 void glGetShaderInfoLog(GLuint shader, GLsizei maxLength, GLsizei *length,
768 typedef void (*methodType)(GLuint, GLsizei, GLsizei *, char *);
769 BEFORE(glGetShaderInfoLog);
770 glGetShaderInfoLogp(shader, maxLength, length, infoLog);
771 error = glGetError();
772 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
777 void glGetShaderPrecisionFormat(GLenum shaderType, GLenum precisionType,
778 GLint *range, GLint *precision) {
779 typedef void (*methodType)(GLenum, GLenum, GLint *, GLint *);
780 BEFORE(glGetShaderPrecisionFormat);
781 glGetShaderPrecisionFormatp(shaderType, precisionType, range, precision);
782 error = glGetError();
783 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
784 (uint64_t)(shaderType), (uint64_t)(precisionType));
788 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length,
790 typedef void (*methodType)(GLuint, GLsizei, GLsizei *, char *);
791 BEFORE(glGetShaderSource);
792 glGetShaderSourcep(shader, bufSize, length, source);
793 error = glGetError();
794 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
799 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params) {
800 typedef void (*methodType)(GLuint, GLenum, GLint *);
801 BEFORE(glGetShaderiv);
802 glGetShaderivp(shader, pname, params);
803 error = glGetError();
804 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
805 shader, (uint64_t)(pname));
808 const GLubyte* glGetString(GLenum name) {
809 typedef const GLubyte* (*methodType)(GLenum);
811 const GLubyte* ret = glGetStringp(name);
812 error = glGetError();
813 AFTER(ret, APITYPE_CONTEXT, "", "x", (uint64_t)(name));
819 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat * params) {
820 typedef void (*methodType)(GLenum, GLenum, GLfloat *);
821 BEFORE(glGetTexParameterfv);
822 glGetTexParameterfvp(target, pname, params);
823 error = glGetError();
824 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
825 (uint64_t)(target), (uint64_t)(pname));
829 void glGetTexParameteriv(GLenum target, GLenum pname, GLint * params) {
830 typedef void (*methodType)(GLenum, GLenum, GLint *);
831 BEFORE(glGetTexParameteriv);
832 glGetTexParameterivp(target, pname, params);
833 error = glGetError();
834 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
835 (uint64_t)(target), (uint64_t)(pname));
839 void glGetUniformfv(GLuint program, GLint location, GLfloat *params) {
840 typedef void (*methodType)(GLuint, GLuint, GLfloat *);
841 BEFORE(glGetUniformfv);
842 glGetUniformfvp(program, location, params);
843 error = glGetError();
844 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
849 void glGetUniformiv(GLuint program, GLint location, GLint *params) {
850 typedef void (*methodType)(GLuint, GLuint, GLint *);
851 BEFORE(glGetUniformiv);
852 glGetUniformivp(program, location, params);
853 error = glGetError();
854 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
859 GLint glGetUniformLocation(GLuint program, const char *name) {
860 typedef GLint (*methodType)(GLuint, const char *);
861 BEFORE(glGetUniformLocation);
862 GLint ret = glGetUniformLocationp(program, name);
863 error = glGetError();
864 AFTER(ret, APITYPE_CONTEXT, "", "d", program);
870 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) {
871 typedef void (*methodType)(GLuint, GLenum, GLfloat *);
872 BEFORE(glGetVertexAttribfv);
873 glGetVertexAttribfvp(index, pname, params);
874 error = glGetError();
875 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
876 index, (uint64_t)(pname));
880 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) {
881 typedef void (*methodType)(GLuint, GLenum, GLint *);
882 BEFORE(glGetVertexAttribiv);
883 glGetVertexAttribivp(index, pname, params);
884 error = glGetError();
885 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
886 index, (uint64_t)(pname));
890 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer) {
891 typedef void (*methodType)(GLuint, GLenum, GLvoid **);
892 BEFORE(glGetVertexAttribPointerv);
893 glGetVertexAttribPointervp(index, pname, pointer);
894 error = glGetError();
895 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
896 index, (uint64_t)(pname));
899 // ==================================================================
901 // ==================================================================
903 void glHint(GLenum target, GLenum mode) {
904 typedef void (*methodType)(GLenum, GLenum);
906 glHintp(target, mode);
907 error = glGetError();
908 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
909 (uint64_t)(target), (uint64_t)(mode));
912 // ==================================================================
914 // ==================================================================
916 GLboolean glIsBuffer(GLuint buffer) {
917 typedef GLboolean (*methodType)(GLuint);
919 GLboolean ret = glIsBufferp(buffer);
920 error = glGetError();
921 AFTER(ret, APITYPE_CONTEXT, "", "d", buffer);
926 GLboolean glIsEnabled(GLenum cap) {
927 typedef GLboolean (*methodType)(GLenum);
929 GLboolean ret = glIsEnabledp(cap);
930 error = glGetError();
931 AFTER(ret, APITYPE_CONTEXT, "", "x", (uint64_t)(cap));
936 GLboolean glIsFramebuffer(GLuint framebuffer) {
937 typedef GLboolean (*methodType)(GLuint);
938 BEFORE(glIsFramebuffer);
939 GLboolean ret = glIsFramebufferp(framebuffer);
940 error = glGetError();
941 AFTER(ret, APITYPE_CONTEXT, "", "d", framebuffer);
946 GLboolean glIsProgram(GLuint program) {
947 typedef GLboolean (*methodType)(GLuint);
949 GLboolean ret = glIsProgramp(program);
950 error = glGetError();
951 AFTER(ret, APITYPE_CONTEXT, "", "d", program);
956 GLboolean glIsRenderbuffer(GLuint renderbuffer) {
957 typedef GLboolean (*methodType)(GLuint);
958 BEFORE(glIsRenderbuffer);
959 GLboolean ret = glIsRenderbufferp(renderbuffer);
960 error = glGetError();
961 AFTER(ret, APITYPE_CONTEXT, "", "d", renderbuffer);
966 GLboolean glIsShader(GLuint shader) {
967 typedef GLboolean (*methodType)(GLuint);
969 GLboolean ret = glIsShaderp(shader);
970 error = glGetError();
971 AFTER(ret, APITYPE_CONTEXT, "", "d", shader);
976 GLboolean glIsTexture(GLuint texture) {
977 typedef GLboolean (*methodType)(GLuint);
979 GLboolean ret = glIsTexturep(texture);
980 error = glGetError();
981 AFTER(ret, APITYPE_CONTEXT, "", "d", texture);
986 // ==================================================================
988 // ==================================================================
990 void glLineWidth(GLfloat width) {
991 typedef void (*methodType)(GLfloat);
994 error = glGetError();
995 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "f", width);
998 void glLinkProgram(GLuint program) {
999 typedef void (*methodType)(GLuint);
1000 BEFORE(glLinkProgram);
1001 glLinkProgramp(program);
1002 error = glGetError();
1004 if (error == GL_NO_ERROR) {
1008 glGetProgramiv(program, GL_ACTIVE_ATTRIBUTES, activeNum);
1009 glGetProgramiv(program, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, maxLength);
1010 bufP += sprintf(buf + bufP, "%d", activeNum[0]);
1011 for (int i = 0; i < activeNum[0]; i++) {
1015 char name[maxLength[0]];
1016 glGetActiveAttrib(program, i, maxLength[0], length, size, type,
1018 bufP += sprintf(buf + bufP, ",%d,%s,%d,%x", i, name, size[0],
1022 glGetProgramiv(program, GL_ACTIVE_UNIFORMS, activeNum);
1023 glGetProgramiv(program, GL_ACTIVE_UNIFORM_MAX_LENGTH, maxLength);
1024 bufP += sprintf(buf + bufP, ",%d", activeNum[0]);
1025 for (int i = 0; i < activeNum[0]; i++) {
1029 char name[maxLength[0]];
1030 glGetActiveUniform(program, i, maxLength[0], length, size, type,
1032 bufP += sprintf(buf + bufP, ",%d,%s,%d,%x", i, name, size[0],
1036 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, buf, "d",
1040 // ==================================================================
1042 // ==================================================================
1044 void glPixelStorei(GLenum pname, GLint param) {
1045 typedef void (*methodType)(GLenum, GLint);
1046 BEFORE(glPixelStorei);
1047 glPixelStoreip(pname, param);
1048 error = glGetError();
1049 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
1050 (uint64_t)(pname), param);
1053 void glPolygonOffset(GLfloat factor, GLfloat units) {
1054 typedef void (*methodType)(GLfloat, GLfloat);
1055 BEFORE(glPolygonOffset);
1056 glPolygonOffsetp(factor, units);
1057 error = glGetError();
1058 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ff",
1062 // ==================================================================
1064 // ==================================================================
1067 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
1068 GLenum format, GLenum type, GLvoid * data) {
1069 typedef void (*methodType)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum,
1071 BEFORE(glReadPixels);
1072 glReadPixelsp(x, y, width, height, format, type, data);
1073 error = glGetError();
1074 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "",
1075 "ddddxx", x, y, width, height,
1076 (uint64_t)(format), (uint64_t)(type));
1079 void glReleaseShaderCompiler(void) {
1080 typedef void (*methodType)(void);
1081 BEFORE(glReleaseShaderCompiler);
1082 glReleaseShaderCompilerp();
1083 error = glGetError();
1084 AFTER_NO_PARAM(NO_RETURN_VALUE, APITYPE_CONTEXT, "");
1087 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width,
1089 typedef void (*methodType)(GLenum, GLenum, GLsizei, GLsizei);
1090 BEFORE(glRenderbufferStorage);
1091 glRenderbufferStoragep(target, internalformat, width, height);
1092 error = glGetError();
1093 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxdd",
1094 (uint64_t)(target), (uint64_t)(internalformat),
1098 // ==================================================================
1100 // ==================================================================
1102 void glSampleCoverage(GLclampf value, GLboolean invert) {
1103 typedef void (*methodType)(GLclampf, GLboolean);
1104 BEFORE(glSampleCoverage);
1105 glSampleCoveragep(value, invert);
1106 error = glGetError();
1107 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "fx",
1108 value, (uint64_t)(invert));
1111 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height) {
1112 typedef void (*methodType)(GLint, GLint, GLsizei, GLsizei);
1114 glScissorp(x, y, width, height);
1115 error = glGetError();
1116 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
1117 x, y, width, height);
1121 void glShaderBinary(GLsizei n, const GLuint *shaders, GLenum binaryformat,
1122 const void *binary, GLsizei length) {
1123 typedef void (*methodType)(GLsizei, const GLuint *, GLenum, const void *,
1125 BEFORE(glShaderBinary);
1126 glShaderBinaryp(n, shaders, binaryformat, binary, length);
1127 error = glGetError();
1128 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "",
1129 "dpxpd", n, voidp_to_uint64(shaders),
1130 (uint64_t)(binaryformat), voidp_to_uint64(binary), length);
1134 void glShaderSource(GLuint shader, GLsizei count, const char** string,
1135 const GLint* length) {
1136 typedef void (*methodType)(GLuint, GLsizei, const char**, const GLint*);
1137 BEFORE(glShaderSource);
1138 glShaderSourcep(shader, count, string, length);
1139 error = glGetError();
1140 if (error == GL_NO_ERROR) {
1142 glGetShaderiv(shader, GL_SHADER_SOURCE_LENGTH, length);
1143 char buf[length[0]];
1144 glGetShaderSource(shader, length[0], NULL, buf);
1145 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, buf,
1146 "ddpp", shader, count,
1147 voidp_to_uint64(string), voidp_to_uint64(length));
1149 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "",
1150 "ddpp", shader, count,
1151 voidp_to_uint64(string), voidp_to_uint64(length));
1155 void glStencilFunc(GLenum func, GLint ref, GLuint mask) {
1156 typedef void (*methodType)(GLenum, GLint, GLint);
1157 BEFORE(glStencilFunc);
1158 glStencilFuncp(func, ref, mask);
1159 error = glGetError();
1160 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdd",
1161 (uint64_t)(func), ref, mask);
1164 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) {
1165 typedef void (*methodType)(GLenum, GLenum, GLint, GLuint);
1166 BEFORE(glStencilFuncSeparate);
1167 glStencilFuncSeparatep(face, func, ref, mask);
1168 error = glGetError();
1169 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxdd",
1170 (uint64_t)(face), (uint64_t)(func), ref, mask);
1173 void glStencilMask(GLuint mask) {
1174 typedef void (*methodType)(GLuint);
1175 BEFORE(glStencilMask);
1176 glStencilMaskp(mask);
1177 error = glGetError();
1178 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", mask);
1181 void glStencilMaskSeparate(GLenum face, GLuint mask) {
1182 typedef void (*methodType)(GLenum, GLuint);
1183 BEFORE(glStencilMaskSeparate);
1184 glStencilMaskSeparatep(face, mask);
1185 error = glGetError();
1186 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
1187 (uint64_t)(face), mask);
1190 void glStencilOp(GLenum sfail, GLenum dpfail, GLenum dppass) {
1191 typedef void (*methodType)(GLenum, GLenum, GLenum);
1192 BEFORE(glStencilOp);
1193 glStencilOpp(sfail, dpfail, dppass);
1194 error = glGetError();
1195 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxx",
1196 (uint64_t)(sfail), (uint64_t)(dpfail),
1197 (uint64_t)(dppass));
1200 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail,
1202 typedef void (*methodType)(GLenum, GLenum, GLenum, GLenum);
1203 BEFORE(glStencilOpSeparate);
1204 glStencilOpSeparatep(face, sfail, dpfail, dppass);
1205 error = glGetError();
1206 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxx",
1207 (uint64_t)(face), (uint64_t)(sfail), (uint64_t)(dpfail),
1208 (uint64_t)(dppass));
1211 // ==================================================================
1213 // ==================================================================
1215 void glTexImage2D(GLenum target, GLint level, GLint internalformat,
1216 GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type,
1217 const GLvoid * data) {
1218 typedef void (*methodType)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint,
1219 GLenum, GLenum, const GLvoid *);
1220 BEFORE(glTexImage2D);
1221 glTexImage2Dp(target, level, internalformat, width, height, border, format,
1223 error = glGetError();
1224 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdddddxxp",
1225 (uint64_t)(target), level, internalformat, width, height,
1226 border, (uint64_t)(format), (uint64_t)(type),
1227 voidp_to_uint64(data));
1230 void glTexParameterf(GLenum target, GLenum pname, GLfloat param) {
1231 typedef void (*methodType)(GLenum, GLenum, GLfloat);
1232 BEFORE(glTexParameterf);
1233 glTexParameterfp(target, pname, param);
1234 error = glGetError();
1235 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxf",
1236 (uint64_t)(target), (uint64_t)(pname), param);
1239 void glTexParameterfv(GLenum target, GLenum pname, const GLfloat * params) {
1240 typedef void (*methodType)(GLenum, GLenum, const GLfloat *);
1241 BEFORE(glTexParameterfv);
1242 glTexParameterfvp(target, pname, params);
1243 error = glGetError();
1244 if(error == GL_NO_ERROR) {
1246 sprintf(param0, "%x", (GLenum)params[0]);
1247 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, param0, "xxp",
1248 (uint64_t)(target), (uint64_t)(pname),
1249 voidp_to_uint64(params));
1251 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxp",
1252 (uint64_t)(target), (uint64_t)(pname),
1253 voidp_to_uint64(params));
1257 void glTexParameteri(GLenum target, GLenum pname, GLint param) {
1258 typedef void (*methodType)(GLenum, GLenum, GLint);
1259 BEFORE(glTexParameteri);
1260 glTexParameterip(target, pname, param);
1261 error = glGetError();
1262 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxx",
1263 (uint64_t)(target), (uint64_t)(pname),
1267 void glTexParameteriv(GLenum target, GLenum pname, const GLint * params) {
1268 typedef void (*methodType)(GLenum, GLenum, const GLint *);
1269 BEFORE(glTexParameteriv);
1270 glTexParameterivp(target, pname, params);
1271 error = glGetError();
1272 if(error == GL_NO_ERROR) {
1274 sprintf(param0, "%x", (GLenum)params[0]);
1275 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, param0, "xxp",
1276 (uint64_t)(target), (uint64_t)(pname),
1277 voidp_to_uint64(params));
1279 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxp",
1282 voidp_to_uint64(params));
1286 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
1287 GLsizei width, GLsizei height, GLenum format, GLenum type,
1288 const GLvoid * data) {
1289 typedef void (*methodType)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei,
1290 GLenum, GLenum, const GLvoid *);
1291 BEFORE(glTexImage2D);
1292 glTexImage2Dp(target, level, xoffset, yoffset, width, height, format, type,
1294 error = glGetError();
1295 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "",
1297 (uint64_t)(target), level, xoffset, yoffset, width, height,
1298 (uint64_t)(format), (uint64_t)(type), voidp_to_uint64(data));
1301 // ==================================================================
1303 // ==================================================================
1305 void glUniform1f(GLint location, GLfloat v0) {
1306 typedef void (*methodType)(GLint, GLfloat);
1307 BEFORE(glUniform1f);
1308 glUniform1fp(location, v0);
1309 error = glGetError();
1310 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "df",
1314 void glUniform2f(GLint location, GLfloat v0, GLfloat v1) {
1315 typedef void (*methodType)(GLint, GLfloat, GLfloat);
1316 BEFORE(glUniform2f);
1317 glUniform2fp(location, v0, v1);
1318 error = glGetError();
1319 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dff",
1323 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
1324 typedef void (*methodType)(GLint, GLfloat, GLfloat, GLfloat);
1325 BEFORE(glUniform3f);
1326 glUniform3fp(location, v0, v1, v2);
1327 error = glGetError();
1328 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dfff",
1329 location, v0, v1, v2);
1332 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2,
1334 typedef void (*methodType)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
1335 BEFORE(glUniform4f);
1336 glUniform4fp(location, v0, v1, v2, v3);
1337 error = glGetError();
1338 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "",
1339 "dffff", location, v0, v1, v2, v3);
1342 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value) {
1343 typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
1344 BEFORE(glUniform1fv);
1345 glUniform1fvp(location, count, value);
1346 error = glGetError();
1347 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1348 location, count, voidp_to_uint64(value));
1351 void glUniform2fv(GLint location, GLsizei count, const GLfloat *value) {
1352 typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
1353 BEFORE(glUniform2fv);
1354 glUniform2fvp(location, count, value);
1355 error = glGetError();
1356 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1357 location, count, voidp_to_uint64(value));
1360 void glUniform3fv(GLint location, GLsizei count, const GLfloat *value) {
1361 typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
1362 BEFORE(glUniform3fv);
1363 glUniform3fvp(location, count, value);
1364 error = glGetError();
1365 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1366 location, count, voidp_to_uint64(value));
1369 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value) {
1370 typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
1371 BEFORE(glUniform4fv);
1372 glUniform4fvp(location, count, value);
1373 error = glGetError();
1374 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1375 location, count, voidp_to_uint64(value));
1378 void glUniform1i(GLint location, GLint v0) {
1379 typedef void (*methodType)(GLint, GLint);
1380 BEFORE(glUniform1i);
1381 glUniform1ip(location, v0);
1382 error = glGetError();
1383 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
1387 void glUniform2i(GLint location, GLint v0, GLint v1) {
1388 typedef void (*methodType)(GLint, GLint, GLint);
1389 BEFORE(glUniform2i);
1390 glUniform2ip(location, v0, v1);
1391 error = glGetError();
1392 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddd",
1396 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) {
1397 typedef void (*methodType)(GLint, GLint, GLint, GLint);
1398 BEFORE(glUniform3i);
1399 glUniform3ip(location, v0, v1, v2);
1400 error = glGetError();
1401 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
1402 location, v0, v1, v2);
1405 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
1406 typedef void (*methodType)(GLint, GLint, GLint, GLint, GLint);
1407 BEFORE(glUniform4i);
1408 glUniform4ip(location, v0, v1, v2, v3);
1409 error = glGetError();
1410 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "",
1411 "ddddd", location, v0, v1, v2, v3);
1414 void glUniform1iv(GLint location, GLsizei count, const GLint *value) {
1415 typedef void (*methodType)(GLint, GLsizei, const GLint *);
1416 BEFORE(glUniform1iv);
1417 glUniform1ivp(location, count, value);
1418 error = glGetError();
1419 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1420 location, count, voidp_to_uint64(value));
1423 void glUniform2iv(GLint location, GLsizei count, const GLint *value) {
1424 typedef void (*methodType)(GLint, GLsizei, const GLint *);
1425 BEFORE(glUniform2iv);
1426 glUniform2ivp(location, count, value);
1427 error = glGetError();
1428 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1429 location, count, voidp_to_uint64(value));
1432 void glUniform3iv(GLint location, GLsizei count, const GLint *value) {
1433 typedef void (*methodType)(GLint, GLsizei, const GLint *);
1434 BEFORE(glUniform3iv);
1435 glUniform3ivp(location, count, value);
1436 error = glGetError();
1437 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1438 location, count, voidp_to_uint64(value));
1441 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose,
1442 const GLfloat *value) {
1443 typedef void (*methodType)(GLint, GLsizei, GLboolean, const GLfloat *);
1444 BEFORE(glUniformMatrix2fv);
1445 glUniformMatrix2fvp(location, count, transpose, value);
1446 error = glGetError();
1447 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxp",
1448 location, count, (uint64_t)(transpose), voidp_to_uint64(value));
1451 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose,
1452 const GLfloat *value) {
1453 typedef void (*methodType)(GLint, GLsizei, GLboolean, const GLfloat *);
1454 BEFORE(glUniformMatrix3fv);
1455 glUniformMatrix3fvp(location, count, transpose, value);
1456 error = glGetError();
1457 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxp",
1458 location, count, (uint64_t)(transpose), voidp_to_uint64(value));
1461 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose,
1462 const GLfloat *value) {
1463 typedef void (*methodType)(GLint, GLsizei, GLboolean, const GLfloat *);
1464 BEFORE(glUniformMatrix4fv);
1465 glUniformMatrix4fvp(location, count, transpose, value);
1466 error = glGetError();
1467 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxp",
1468 location, count, (uint64_t)(transpose), voidp_to_uint64(value));
1471 void glUniform4iv(GLint location, GLsizei count, const GLint *value) {
1472 typedef void (*methodType)(GLint, GLsizei, const GLint *);
1473 BEFORE(glUniform4iv);
1474 glUniform4ivp(location, count, value);
1475 error = glGetError();
1476 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
1477 location, count, voidp_to_uint64(value));
1480 void glUseProgram(GLuint program) {
1481 typedef void (*methodType)(GLuint);
1482 BEFORE(glUseProgram);
1483 glUseProgramp(program);
1484 error = glGetError();
1485 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d",
1489 // ==================================================================
1491 // ==================================================================
1493 void glValidateProgram(GLuint program) {
1494 typedef void (*methodType)(GLuint);
1495 BEFORE(glValidateProgram);
1496 glValidateProgramp(program);
1497 error = glGetError();
1498 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d",
1502 void glVertexAttrib1f(GLuint index, GLfloat v0) {
1503 typedef void (*methodType)(GLuint, GLfloat);
1504 BEFORE(glVertexAttrib1f);
1505 glVertexAttrib1fp(index, v0);
1508 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1509 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1511 error = glGetError();
1512 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1516 void glVertexAttrib2f(GLuint index, GLfloat v0, GLfloat v1) {
1517 typedef void (*methodType)(GLuint, GLfloat, GLfloat);
1518 BEFORE(glVertexAttrib2f);
1519 glVertexAttrib2fp(index, v0, v1);
1522 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1523 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1525 error = glGetError();
1526 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1527 "dff", index, v0, v1);
1530 void glVertexAttrib3f(GLuint index, GLfloat v0, GLfloat v1, GLfloat v2) {
1531 typedef void (*methodType)(GLuint, GLfloat, GLfloat, GLfloat);
1532 BEFORE(glVertexAttrib3f);
1533 glVertexAttrib3fp(index, v0, v1, v2);
1536 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1537 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1539 error = glGetError();
1540 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1541 "dfff", index, v0, v1, v2);
1544 void glVertexAttrib4f(GLuint index, GLfloat v0, GLfloat v1, GLfloat v2,
1546 typedef void (*methodType)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
1547 BEFORE(glVertexAttrib4f);
1548 glVertexAttrib4fp(index, v0, v1, v2, v3);
1551 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1552 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1554 error = glGetError();
1555 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1556 "dffff", index, v0, v1, v2, v3);
1559 void glVertexAttrib1fv(GLuint index, const GLfloat *v) {
1560 typedef void (*methodType)(GLuint, const GLfloat *);
1561 BEFORE(glVertexAttrib1fv);
1562 glVertexAttrib1fvp(index, v);
1565 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1566 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1568 error = glGetError();
1569 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1570 "dp", index, voidp_to_uint64(v));
1573 void glVertexAttrib2fv(GLuint index, const GLfloat *v) {
1574 typedef void (*methodType)(GLuint, const GLfloat *);
1575 BEFORE(glVertexAttrib2fv);
1576 glVertexAttrib2fvp(index, v);
1579 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1580 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1582 error = glGetError();
1583 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1584 "dp", index, voidp_to_uint64(v));
1587 void glVertexAttrib3fv(GLuint index, const GLfloat *v) {
1588 typedef void (*methodType)(GLuint, const GLfloat *);
1589 BEFORE(glVertexAttrib3fv);
1590 glVertexAttrib3fvp(index, v);
1593 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1594 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1596 error = glGetError();
1597 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1598 "dp", index, voidp_to_uint64(v));
1601 void glVertexAttrib4fv(GLuint index, const GLfloat *v) {
1602 typedef void (*methodType)(GLuint, const GLfloat *);
1603 BEFORE(glVertexAttrib4fv);
1604 glVertexAttrib4fvp(index, v);
1606 glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
1607 sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
1609 error = glGetError();
1610 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
1611 "dp", index, voidp_to_uint64(v));
1614 void glVertexAttribPointer(GLuint index, GLint size, GLenum type,
1615 GLboolean normalized, GLsizei stride, const GLvoid * pointer) {
1616 typedef void (*methodType)(GLuint, GLint, GLenum, GLboolean, GLsizei,
1618 BEFORE(glVertexAttribPointer);
1619 glVertexAttribPointerp(index, size, type, normalized, stride, pointer);
1620 error = glGetError();
1621 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxxdp",
1622 index, size, (uint64_t)(type), (uint64_t)(normalized),
1623 stride, voidp_to_uint64(pointer));
1626 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) {
1627 typedef void (*methodType)(GLint, GLint, GLsizei, GLsizei);
1629 glViewportp(x, y, width, height);
1630 error = glGetError();
1631 AFTER(NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
1632 x, y, width, height);