summaryrefslogtreecommitdiffstats
path: root/opengl/libs/GLES2_dbg/src/api.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'opengl/libs/GLES2_dbg/src/api.cpp')
-rw-r--r--opengl/libs/GLES2_dbg/src/api.cpp3653
1 files changed, 3653 insertions, 0 deletions
diff --git a/opengl/libs/GLES2_dbg/src/api.cpp b/opengl/libs/GLES2_dbg/src/api.cpp
new file mode 100644
index 0000000..7094ca7
--- /dev/null
+++ b/opengl/libs/GLES2_dbg/src/api.cpp
@@ -0,0 +1,3653 @@
+/*
+ ** Copyright 2011, The Android Open Source Project
+ **
+ ** Licensed under the Apache License, Version 2.0 (the "License");
+ ** you may not use this file except in compliance with the License.
+ ** You may obtain a copy of the License at
+ **
+ ** http://www.apache.org/licenses/LICENSE-2.0
+ **
+ ** Unless required by applicable law or agreed to in writing, software
+ ** distributed under the License is distributed on an "AS IS" BASIS,
+ ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ** See the License for the specific language governing permissions and
+ ** limitations under the License.
+ */
+
+// auto generated by generate_api_cpp.py
+
+#include "src/header.h"
+#include "src/api.h"
+
+template<typename T> static int ToInt(const T & t) { STATIC_ASSERT(sizeof(T) == sizeof(int), bitcast); return (int &)t; }
+template<typename T> static T FromInt(const int & t) { STATIC_ASSERT(sizeof(T) == sizeof(int), bitcast); return (T &)t; }
+
+void Debug_glActiveTexture(GLenum texture)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum texture;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glActiveTexture(texture);
+ return 0;
+ }
+ } caller;
+ caller.texture = texture;
+
+ msg.set_arg0(texture);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glActiveTexture);
+}
+
+void Debug_glAttachShader(GLuint program, GLuint shader)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLuint shader;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glAttachShader(program, shader);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.shader = shader;
+
+ msg.set_arg0(program);
+ msg.set_arg1(shader);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glAttachShader);
+}
+
+void Debug_glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLuint index;
+ const GLchar* name;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBindAttribLocation(program, index, name);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.index = index;
+ caller.name = name;
+
+ msg.set_arg0(program);
+ msg.set_arg1(index);
+ msg.set_arg2(ToInt(name));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBindAttribLocation);
+}
+
+void Debug_glBindBuffer(GLenum target, GLuint buffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLuint buffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBindBuffer(target, buffer);
+ getDbgContextThreadSpecific()->glBindBuffer(target, buffer);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.buffer = buffer;
+
+ msg.set_arg0(target);
+ msg.set_arg1(buffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBindBuffer);
+}
+
+void Debug_glBindFramebuffer(GLenum target, GLuint framebuffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLuint framebuffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBindFramebuffer(target, framebuffer);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.framebuffer = framebuffer;
+
+ msg.set_arg0(target);
+ msg.set_arg1(framebuffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBindFramebuffer);
+}
+
+void Debug_glBindRenderbuffer(GLenum target, GLuint renderbuffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLuint renderbuffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBindRenderbuffer(target, renderbuffer);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.renderbuffer = renderbuffer;
+
+ msg.set_arg0(target);
+ msg.set_arg1(renderbuffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBindRenderbuffer);
+}
+
+void Debug_glBindTexture(GLenum target, GLuint texture)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLuint texture;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBindTexture(target, texture);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.texture = texture;
+
+ msg.set_arg0(target);
+ msg.set_arg1(texture);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBindTexture);
+}
+
+void Debug_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLclampf red;
+ GLclampf green;
+ GLclampf blue;
+ GLclampf alpha;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBlendColor(red, green, blue, alpha);
+ return 0;
+ }
+ } caller;
+ caller.red = red;
+ caller.green = green;
+ caller.blue = blue;
+ caller.alpha = alpha;
+
+ msg.set_arg0(ToInt(red));
+ msg.set_arg1(ToInt(green));
+ msg.set_arg2(ToInt(blue));
+ msg.set_arg3(ToInt(alpha));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBlendColor);
+}
+
+void Debug_glBlendEquation( GLenum mode )
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum mode;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBlendEquation(mode);
+ return 0;
+ }
+ } caller;
+ caller.mode = mode;
+
+ msg.set_arg0(mode);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBlendEquation);
+}
+
+void Debug_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum modeRGB;
+ GLenum modeAlpha;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBlendEquationSeparate(modeRGB, modeAlpha);
+ return 0;
+ }
+ } caller;
+ caller.modeRGB = modeRGB;
+ caller.modeAlpha = modeAlpha;
+
+ msg.set_arg0(modeRGB);
+ msg.set_arg1(modeAlpha);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBlendEquationSeparate);
+}
+
+void Debug_glBlendFunc(GLenum sfactor, GLenum dfactor)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum sfactor;
+ GLenum dfactor;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBlendFunc(sfactor, dfactor);
+ return 0;
+ }
+ } caller;
+ caller.sfactor = sfactor;
+ caller.dfactor = dfactor;
+
+ msg.set_arg0(sfactor);
+ msg.set_arg1(dfactor);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBlendFunc);
+}
+
+void Debug_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum srcRGB;
+ GLenum dstRGB;
+ GLenum srcAlpha;
+ GLenum dstAlpha;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
+ return 0;
+ }
+ } caller;
+ caller.srcRGB = srcRGB;
+ caller.dstRGB = dstRGB;
+ caller.srcAlpha = srcAlpha;
+ caller.dstAlpha = dstAlpha;
+
+ msg.set_arg0(srcRGB);
+ msg.set_arg1(dstRGB);
+ msg.set_arg2(srcAlpha);
+ msg.set_arg3(dstAlpha);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBlendFuncSeparate);
+}
+
+void Debug_glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLsizeiptr size;
+ const GLvoid* data;
+ GLenum usage;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBufferData(target, size, data, usage);
+ getDbgContextThreadSpecific()->glBufferData(target, size, data, usage);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.size = size;
+ caller.data = data;
+ caller.usage = usage;
+
+ msg.set_arg0(target);
+ msg.set_arg1(size);
+ msg.set_arg2(ToInt(data));
+ msg.set_arg3(usage);
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(data), size * sizeof(char));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBufferData);
+}
+
+void Debug_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLintptr offset;
+ GLsizeiptr size;
+ const GLvoid* data;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glBufferSubData(target, offset, size, data);
+ getDbgContextThreadSpecific()->glBufferSubData(target, offset, size, data);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.offset = offset;
+ caller.size = size;
+ caller.data = data;
+
+ msg.set_arg0(target);
+ msg.set_arg1(offset);
+ msg.set_arg2(size);
+ msg.set_arg3(ToInt(data));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(data), size * sizeof(char));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glBufferSubData);
+}
+
+GLenum Debug_glCheckFramebufferStatus(GLenum target)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glCheckFramebufferStatus(target));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.target = target;
+
+ msg.set_arg0(target);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCheckFramebufferStatus);
+ return reinterpret_cast<GLenum>(ret);
+}
+
+void Debug_glClear(GLbitfield mask)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLbitfield mask;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glClear(mask);
+ return 0;
+ }
+ } caller;
+ caller.mask = mask;
+
+ msg.set_arg0(mask);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glClear);
+}
+
+void Debug_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLclampf red;
+ GLclampf green;
+ GLclampf blue;
+ GLclampf alpha;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glClearColor(red, green, blue, alpha);
+ return 0;
+ }
+ } caller;
+ caller.red = red;
+ caller.green = green;
+ caller.blue = blue;
+ caller.alpha = alpha;
+
+ msg.set_arg0(ToInt(red));
+ msg.set_arg1(ToInt(green));
+ msg.set_arg2(ToInt(blue));
+ msg.set_arg3(ToInt(alpha));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glClearColor);
+}
+
+void Debug_glClearDepthf(GLclampf depth)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLclampf depth;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glClearDepthf(depth);
+ return 0;
+ }
+ } caller;
+ caller.depth = depth;
+
+ msg.set_arg0(ToInt(depth));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glClearDepthf);
+}
+
+void Debug_glClearStencil(GLint s)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint s;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glClearStencil(s);
+ return 0;
+ }
+ } caller;
+ caller.s = s;
+
+ msg.set_arg0(s);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glClearStencil);
+}
+
+void Debug_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLboolean red;
+ GLboolean green;
+ GLboolean blue;
+ GLboolean alpha;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glColorMask(red, green, blue, alpha);
+ return 0;
+ }
+ } caller;
+ caller.red = red;
+ caller.green = green;
+ caller.blue = blue;
+ caller.alpha = alpha;
+
+ msg.set_arg0(red);
+ msg.set_arg1(green);
+ msg.set_arg2(blue);
+ msg.set_arg3(alpha);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glColorMask);
+}
+
+void Debug_glCompileShader(GLuint shader)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glCompileShader(shader);
+ return 0;
+ }
+ } caller;
+ caller.shader = shader;
+
+ msg.set_arg0(shader);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCompileShader);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLint level;
+ GLenum internalformat;
+ GLsizei width;
+ GLsizei height;
+ GLint border;
+ GLsizei imageSize;
+ const GLvoid* data;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.level = level;
+ caller.internalformat = internalformat;
+ caller.width = width;
+ caller.height = height;
+ caller.border = border;
+ caller.imageSize = imageSize;
+ caller.data = data;
+
+ msg.set_arg0(target);
+ msg.set_arg1(level);
+ msg.set_arg2(internalformat);
+ msg.set_arg3(width);
+ msg.set_arg4(height);
+ msg.set_arg5(border);
+ msg.set_arg6(imageSize);
+ msg.set_arg7(ToInt(data));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCompressedTexImage2D);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLint level;
+ GLint xoffset;
+ GLint yoffset;
+ GLsizei width;
+ GLsizei height;
+ GLenum format;
+ GLsizei imageSize;
+ const GLvoid* data;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.level = level;
+ caller.xoffset = xoffset;
+ caller.yoffset = yoffset;
+ caller.width = width;
+ caller.height = height;
+ caller.format = format;
+ caller.imageSize = imageSize;
+ caller.data = data;
+
+ msg.set_arg0(target);
+ msg.set_arg1(level);
+ msg.set_arg2(xoffset);
+ msg.set_arg3(yoffset);
+ msg.set_arg4(width);
+ msg.set_arg5(height);
+ msg.set_arg6(format);
+ msg.set_arg7(imageSize);
+ msg.set_arg8(ToInt(data));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCompressedTexSubImage2D);
+}
+
+void Debug_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLint level;
+ GLenum internalformat;
+ GLint x;
+ GLint y;
+ GLsizei width;
+ GLsizei height;
+ GLint border;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.level = level;
+ caller.internalformat = internalformat;
+ caller.x = x;
+ caller.y = y;
+ caller.width = width;
+ caller.height = height;
+ caller.border = border;
+
+ msg.set_arg0(target);
+ msg.set_arg1(level);
+ msg.set_arg2(internalformat);
+ msg.set_arg3(x);
+ msg.set_arg4(y);
+ msg.set_arg5(width);
+ msg.set_arg6(height);
+ msg.set_arg7(border);
+
+ EXTEND_Debug_glCopyTexImage2D;
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCopyTexImage2D);
+}
+
+void Debug_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLint level;
+ GLint xoffset;
+ GLint yoffset;
+ GLint x;
+ GLint y;
+ GLsizei width;
+ GLsizei height;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.level = level;
+ caller.xoffset = xoffset;
+ caller.yoffset = yoffset;
+ caller.x = x;
+ caller.y = y;
+ caller.width = width;
+ caller.height = height;
+
+ msg.set_arg0(target);
+ msg.set_arg1(level);
+ msg.set_arg2(xoffset);
+ msg.set_arg3(yoffset);
+ msg.set_arg4(x);
+ msg.set_arg5(y);
+ msg.set_arg6(width);
+ msg.set_arg7(height);
+
+ EXTEND_Debug_glCopyTexSubImage2D;
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCopyTexSubImage2D);
+}
+
+GLuint Debug_glCreateProgram(void)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glCreateProgram());
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCreateProgram);
+ return reinterpret_cast<GLuint>(ret);
+}
+
+GLuint Debug_glCreateShader(GLenum type)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum type;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glCreateShader(type));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.type = type;
+
+ msg.set_arg0(type);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCreateShader);
+ return reinterpret_cast<GLuint>(ret);
+}
+
+void Debug_glCullFace(GLenum mode)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum mode;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glCullFace(mode);
+ return 0;
+ }
+ } caller;
+ caller.mode = mode;
+
+ msg.set_arg0(mode);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glCullFace);
+}
+
+void Debug_glDeleteBuffers(GLsizei n, const GLuint* buffers)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ const GLuint* buffers;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDeleteBuffers(n, buffers);
+ getDbgContextThreadSpecific()->glDeleteBuffers(n, buffers);
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.buffers = buffers;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(buffers));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(buffers), n * sizeof(GLuint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDeleteBuffers);
+}
+
+void Debug_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ const GLuint* framebuffers;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDeleteFramebuffers(n, framebuffers);
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.framebuffers = framebuffers;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(framebuffers));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(framebuffers), n * sizeof(GLuint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDeleteFramebuffers);
+}
+
+void Debug_glDeleteProgram(GLuint program)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDeleteProgram(program);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+
+ msg.set_arg0(program);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDeleteProgram);
+}
+
+void Debug_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ const GLuint* renderbuffers;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDeleteRenderbuffers(n, renderbuffers);
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.renderbuffers = renderbuffers;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(renderbuffers));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(renderbuffers), n * sizeof(GLuint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDeleteRenderbuffers);
+}
+
+void Debug_glDeleteShader(GLuint shader)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDeleteShader(shader);
+ return 0;
+ }
+ } caller;
+ caller.shader = shader;
+
+ msg.set_arg0(shader);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDeleteShader);
+}
+
+void Debug_glDeleteTextures(GLsizei n, const GLuint* textures)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ const GLuint* textures;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDeleteTextures(n, textures);
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.textures = textures;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(textures));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(textures), n * sizeof(GLuint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDeleteTextures);
+}
+
+void Debug_glDepthFunc(GLenum func)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum func;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDepthFunc(func);
+ return 0;
+ }
+ } caller;
+ caller.func = func;
+
+ msg.set_arg0(func);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDepthFunc);
+}
+
+void Debug_glDepthMask(GLboolean flag)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLboolean flag;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDepthMask(flag);
+ return 0;
+ }
+ } caller;
+ caller.flag = flag;
+
+ msg.set_arg0(flag);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDepthMask);
+}
+
+void Debug_glDepthRangef(GLclampf zNear, GLclampf zFar)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLclampf zNear;
+ GLclampf zFar;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDepthRangef(zNear, zFar);
+ return 0;
+ }
+ } caller;
+ caller.zNear = zNear;
+ caller.zFar = zFar;
+
+ msg.set_arg0(ToInt(zNear));
+ msg.set_arg1(ToInt(zFar));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDepthRangef);
+}
+
+void Debug_glDetachShader(GLuint program, GLuint shader)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLuint shader;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDetachShader(program, shader);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.shader = shader;
+
+ msg.set_arg0(program);
+ msg.set_arg1(shader);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDetachShader);
+}
+
+void Debug_glDisable(GLenum cap)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum cap;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDisable(cap);
+ return 0;
+ }
+ } caller;
+ caller.cap = cap;
+
+ msg.set_arg0(cap);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDisable);
+}
+
+void Debug_glDisableVertexAttribArray(GLuint index)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint index;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glDisableVertexAttribArray(index);
+ getDbgContextThreadSpecific()->glDisableVertexAttribArray(index);
+ return 0;
+ }
+ } caller;
+ caller.index = index;
+
+ msg.set_arg0(index);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glDisableVertexAttribArray);
+}
+
+void Debug_glEnable(GLenum cap)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum cap;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glEnable(cap);
+ return 0;
+ }
+ } caller;
+ caller.cap = cap;
+
+ msg.set_arg0(cap);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glEnable);
+}
+
+void Debug_glEnableVertexAttribArray(GLuint index)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint index;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glEnableVertexAttribArray(index);
+ getDbgContextThreadSpecific()->glEnableVertexAttribArray(index);
+ return 0;
+ }
+ } caller;
+ caller.index = index;
+
+ msg.set_arg0(index);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glEnableVertexAttribArray);
+}
+
+void Debug_glFinish(void)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glFinish();
+ return 0;
+ }
+ } caller;
+
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glFinish);
+}
+
+void Debug_glFlush(void)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glFlush();
+ return 0;
+ }
+ } caller;
+
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glFlush);
+}
+
+void Debug_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum attachment;
+ GLenum renderbuffertarget;
+ GLuint renderbuffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.attachment = attachment;
+ caller.renderbuffertarget = renderbuffertarget;
+ caller.renderbuffer = renderbuffer;
+
+ msg.set_arg0(target);
+ msg.set_arg1(attachment);
+ msg.set_arg2(renderbuffertarget);
+ msg.set_arg3(renderbuffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glFramebufferRenderbuffer);
+}
+
+void Debug_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum attachment;
+ GLenum textarget;
+ GLuint texture;
+ GLint level;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glFramebufferTexture2D(target, attachment, textarget, texture, level);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.attachment = attachment;
+ caller.textarget = textarget;
+ caller.texture = texture;
+ caller.level = level;
+
+ msg.set_arg0(target);
+ msg.set_arg1(attachment);
+ msg.set_arg2(textarget);
+ msg.set_arg3(texture);
+ msg.set_arg4(level);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glFramebufferTexture2D);
+}
+
+void Debug_glFrontFace(GLenum mode)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum mode;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glFrontFace(mode);
+ return 0;
+ }
+ } caller;
+ caller.mode = mode;
+
+ msg.set_arg0(mode);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glFrontFace);
+}
+
+void Debug_glGenBuffers(GLsizei n, GLuint* buffers)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ GLuint* buffers;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGenBuffers(n, buffers);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(buffers), n * sizeof(GLuint));
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.buffers = buffers;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(buffers));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGenBuffers);
+}
+
+void Debug_glGenerateMipmap(GLenum target)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGenerateMipmap(target);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+
+ msg.set_arg0(target);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGenerateMipmap);
+}
+
+void Debug_glGenFramebuffers(GLsizei n, GLuint* framebuffers)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ GLuint* framebuffers;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGenFramebuffers(n, framebuffers);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(framebuffers), n * sizeof(GLuint));
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.framebuffers = framebuffers;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(framebuffers));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGenFramebuffers);
+}
+
+void Debug_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ GLuint* renderbuffers;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGenRenderbuffers(n, renderbuffers);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(renderbuffers), n * sizeof(GLuint));
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.renderbuffers = renderbuffers;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(renderbuffers));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGenRenderbuffers);
+}
+
+void Debug_glGenTextures(GLsizei n, GLuint* textures)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ GLuint* textures;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGenTextures(n, textures);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(textures), n * sizeof(GLuint));
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.textures = textures;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(textures));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGenTextures);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLuint index;
+ GLsizei bufsize;
+ GLsizei* length;
+ GLint* size;
+ GLenum* type;
+ GLchar* name;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetActiveAttrib(program, index, bufsize, length, size, type, name);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.index = index;
+ caller.bufsize = bufsize;
+ caller.length = length;
+ caller.size = size;
+ caller.type = type;
+ caller.name = name;
+
+ msg.set_arg0(program);
+ msg.set_arg1(index);
+ msg.set_arg2(bufsize);
+ msg.set_arg3(ToInt(length));
+ msg.set_arg4(ToInt(size));
+ msg.set_arg5(ToInt(type));
+ msg.set_arg6(ToInt(name));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetActiveAttrib);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLuint index;
+ GLsizei bufsize;
+ GLsizei* length;
+ GLint* size;
+ GLenum* type;
+ GLchar* name;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetActiveUniform(program, index, bufsize, length, size, type, name);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.index = index;
+ caller.bufsize = bufsize;
+ caller.length = length;
+ caller.size = size;
+ caller.type = type;
+ caller.name = name;
+
+ msg.set_arg0(program);
+ msg.set_arg1(index);
+ msg.set_arg2(bufsize);
+ msg.set_arg3(ToInt(length));
+ msg.set_arg4(ToInt(size));
+ msg.set_arg5(ToInt(type));
+ msg.set_arg6(ToInt(name));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetActiveUniform);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLsizei maxcount;
+ GLsizei* count;
+ GLuint* shaders;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetAttachedShaders(program, maxcount, count, shaders);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.maxcount = maxcount;
+ caller.count = count;
+ caller.shaders = shaders;
+
+ msg.set_arg0(program);
+ msg.set_arg1(maxcount);
+ msg.set_arg2(ToInt(count));
+ msg.set_arg3(ToInt(shaders));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetAttachedShaders);
+}
+
+int Debug_glGetAttribLocation(GLuint program, const GLchar* name)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ const GLchar* name;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glGetAttribLocation(program, name));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.program = program;
+ caller.name = name;
+
+ msg.set_arg0(program);
+ msg.set_arg1(ToInt(name));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetAttribLocation);
+ return reinterpret_cast<int>(ret);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetBooleanv(GLenum pname, GLboolean* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum pname;
+ GLboolean* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetBooleanv(pname, params);
+ return 0;
+ }
+ } caller;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(pname);
+ msg.set_arg1(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetBooleanv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetBufferParameteriv(target, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetBufferParameteriv);
+}
+
+GLenum Debug_glGetError(void)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glGetError());
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetError);
+ return reinterpret_cast<GLenum>(ret);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetFloatv(GLenum pname, GLfloat* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum pname;
+ GLfloat* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetFloatv(pname, params);
+ return 0;
+ }
+ } caller;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(pname);
+ msg.set_arg1(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetFloatv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum attachment;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.attachment = attachment;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(attachment);
+ msg.set_arg2(pname);
+ msg.set_arg3(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetFramebufferAttachmentParameteriv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetIntegerv(GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetIntegerv(pname, params);
+ return 0;
+ }
+ } caller;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(pname);
+ msg.set_arg1(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetIntegerv);
+}
+
+void Debug_glGetProgramiv(GLuint program, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGetProgramiv(program, pname, params);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(params), 1 * sizeof(GLint));
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(program);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetProgramiv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLsizei bufsize;
+ GLsizei* length;
+ GLchar* infolog;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGetProgramInfoLog(program, bufsize, length, infolog);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(infolog), strlen(infolog) * sizeof(GLchar));
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.bufsize = bufsize;
+ caller.length = length;
+ caller.infolog = infolog;
+
+ msg.set_arg0(program);
+ msg.set_arg1(bufsize);
+ msg.set_arg2(ToInt(length));
+ msg.set_arg3(ToInt(infolog));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetProgramInfoLog);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetRenderbufferParameteriv(target, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetRenderbufferParameteriv);
+}
+
+void Debug_glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGetShaderiv(shader, pname, params);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(params), 1 * sizeof(GLint));
+ return 0;
+ }
+ } caller;
+ caller.shader = shader;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(shader);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetShaderiv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+ GLsizei bufsize;
+ GLsizei* length;
+ GLchar* infolog;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGetShaderInfoLog(shader, bufsize, length, infolog);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(infolog), strlen(infolog) * sizeof(GLchar));
+ return 0;
+ }
+ } caller;
+ caller.shader = shader;
+ caller.bufsize = bufsize;
+ caller.length = length;
+ caller.infolog = infolog;
+
+ msg.set_arg0(shader);
+ msg.set_arg1(bufsize);
+ msg.set_arg2(ToInt(length));
+ msg.set_arg3(ToInt(infolog));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetShaderInfoLog);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum shadertype;
+ GLenum precisiontype;
+ GLint* range;
+ GLint* precision;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
+ return 0;
+ }
+ } caller;
+ caller.shadertype = shadertype;
+ caller.precisiontype = precisiontype;
+ caller.range = range;
+ caller.precision = precision;
+
+ msg.set_arg0(shadertype);
+ msg.set_arg1(precisiontype);
+ msg.set_arg2(ToInt(range));
+ msg.set_arg3(ToInt(precision));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetShaderPrecisionFormat);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+ GLsizei bufsize;
+ GLsizei* length;
+ GLchar* source;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ nsecs_t c0 = systemTime(timeMode);
+ _c->glGetShaderSource(shader, bufsize, length, source);
+ msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(source), strlen(source) * sizeof(GLchar));
+ return 0;
+ }
+ } caller;
+ caller.shader = shader;
+ caller.bufsize = bufsize;
+ caller.length = length;
+ caller.source = source;
+
+ msg.set_arg0(shader);
+ msg.set_arg1(bufsize);
+ msg.set_arg2(ToInt(length));
+ msg.set_arg3(ToInt(source));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetShaderSource);
+}
+
+// FIXME: this function has pointers, it should be hand written
+const GLubyte* Debug_glGetString(GLenum name)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum name;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glGetString(name));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.name = name;
+
+ msg.set_arg0(name);
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetString);
+ return reinterpret_cast<const GLubyte*>(ret);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ GLfloat* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetTexParameterfv(target, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetTexParameterfv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetTexParameteriv(target, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetTexParameteriv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetUniformfv(GLuint program, GLint location, GLfloat* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLint location;
+ GLfloat* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetUniformfv(program, location, params);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.location = location;
+ caller.params = params;
+
+ msg.set_arg0(program);
+ msg.set_arg1(location);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetUniformfv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetUniformiv(GLuint program, GLint location, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ GLint location;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetUniformiv(program, location, params);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+ caller.location = location;
+ caller.params = params;
+
+ msg.set_arg0(program);
+ msg.set_arg1(location);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetUniformiv);
+}
+
+int Debug_glGetUniformLocation(GLuint program, const GLchar* name)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+ const GLchar* name;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glGetUniformLocation(program, name));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.program = program;
+ caller.name = name;
+
+ msg.set_arg0(program);
+ msg.set_arg1(ToInt(name));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(name), strlen(name) * sizeof(GLchar));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetUniformLocation);
+ return reinterpret_cast<int>(ret);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint index;
+ GLenum pname;
+ GLfloat* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetVertexAttribfv(index, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.index = index;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(index);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetVertexAttribfv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint index;
+ GLenum pname;
+ GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetVertexAttribiv(index, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.index = index;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(index);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetVertexAttribiv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint index;
+ GLenum pname;
+ GLvoid** pointer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glGetVertexAttribPointerv(index, pname, pointer);
+ return 0;
+ }
+ } caller;
+ caller.index = index;
+ caller.pname = pname;
+ caller.pointer = pointer;
+
+ msg.set_arg0(index);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(pointer));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glGetVertexAttribPointerv);
+}
+
+void Debug_glHint(GLenum target, GLenum mode)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum mode;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glHint(target, mode);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.mode = mode;
+
+ msg.set_arg0(target);
+ msg.set_arg1(mode);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glHint);
+}
+
+GLboolean Debug_glIsBuffer(GLuint buffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint buffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsBuffer(buffer));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.buffer = buffer;
+
+ msg.set_arg0(buffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsBuffer);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+GLboolean Debug_glIsEnabled(GLenum cap)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum cap;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsEnabled(cap));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.cap = cap;
+
+ msg.set_arg0(cap);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsEnabled);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+GLboolean Debug_glIsFramebuffer(GLuint framebuffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint framebuffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsFramebuffer(framebuffer));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.framebuffer = framebuffer;
+
+ msg.set_arg0(framebuffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsFramebuffer);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+GLboolean Debug_glIsProgram(GLuint program)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsProgram(program));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.program = program;
+
+ msg.set_arg0(program);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsProgram);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+GLboolean Debug_glIsRenderbuffer(GLuint renderbuffer)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint renderbuffer;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsRenderbuffer(renderbuffer));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.renderbuffer = renderbuffer;
+
+ msg.set_arg0(renderbuffer);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsRenderbuffer);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+GLboolean Debug_glIsShader(GLuint shader)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsShader(shader));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.shader = shader;
+
+ msg.set_arg0(shader);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsShader);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+GLboolean Debug_glIsTexture(GLuint texture)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint texture;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ const int * ret = reinterpret_cast<const int *>(_c->glIsTexture(texture));
+ msg.set_ret(ToInt(ret));
+ return ret;
+ }
+ } caller;
+ caller.texture = texture;
+
+ msg.set_arg0(texture);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glIsTexture);
+ return static_cast<GLboolean>(reinterpret_cast<int>(ret));
+}
+
+void Debug_glLineWidth(GLfloat width)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLfloat width;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glLineWidth(width);
+ return 0;
+ }
+ } caller;
+ caller.width = width;
+
+ msg.set_arg0(ToInt(width));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glLineWidth);
+}
+
+void Debug_glLinkProgram(GLuint program)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glLinkProgram(program);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+
+ msg.set_arg0(program);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glLinkProgram);
+}
+
+void Debug_glPixelStorei(GLenum pname, GLint param)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum pname;
+ GLint param;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glPixelStorei(pname, param);
+ return 0;
+ }
+ } caller;
+ caller.pname = pname;
+ caller.param = param;
+
+ msg.set_arg0(pname);
+ msg.set_arg1(param);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glPixelStorei);
+}
+
+void Debug_glPolygonOffset(GLfloat factor, GLfloat units)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLfloat factor;
+ GLfloat units;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glPolygonOffset(factor, units);
+ return 0;
+ }
+ } caller;
+ caller.factor = factor;
+ caller.units = units;
+
+ msg.set_arg0(ToInt(factor));
+ msg.set_arg1(ToInt(units));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glPolygonOffset);
+}
+
+void Debug_glReleaseShaderCompiler(void)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glReleaseShaderCompiler();
+ return 0;
+ }
+ } caller;
+
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glReleaseShaderCompiler);
+}
+
+void Debug_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum internalformat;
+ GLsizei width;
+ GLsizei height;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glRenderbufferStorage(target, internalformat, width, height);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.internalformat = internalformat;
+ caller.width = width;
+ caller.height = height;
+
+ msg.set_arg0(target);
+ msg.set_arg1(internalformat);
+ msg.set_arg2(width);
+ msg.set_arg3(height);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glRenderbufferStorage);
+}
+
+void Debug_glSampleCoverage(GLclampf value, GLboolean invert)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLclampf value;
+ GLboolean invert;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glSampleCoverage(value, invert);
+ return 0;
+ }
+ } caller;
+ caller.value = value;
+ caller.invert = invert;
+
+ msg.set_arg0(ToInt(value));
+ msg.set_arg1(invert);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glSampleCoverage);
+}
+
+void Debug_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint x;
+ GLint y;
+ GLsizei width;
+ GLsizei height;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glScissor(x, y, width, height);
+ return 0;
+ }
+ } caller;
+ caller.x = x;
+ caller.y = y;
+ caller.width = width;
+ caller.height = height;
+
+ msg.set_arg0(x);
+ msg.set_arg1(y);
+ msg.set_arg2(width);
+ msg.set_arg3(height);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glScissor);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLsizei n;
+ const GLuint* shaders;
+ GLenum binaryformat;
+ const GLvoid* binary;
+ GLsizei length;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glShaderBinary(n, shaders, binaryformat, binary, length);
+ return 0;
+ }
+ } caller;
+ caller.n = n;
+ caller.shaders = shaders;
+ caller.binaryformat = binaryformat;
+ caller.binary = binary;
+ caller.length = length;
+
+ msg.set_arg0(n);
+ msg.set_arg1(ToInt(shaders));
+ msg.set_arg2(binaryformat);
+ msg.set_arg3(ToInt(binary));
+ msg.set_arg4(length);
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glShaderBinary);
+}
+
+void Debug_glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint shader;
+ GLsizei count;
+ const GLchar** string;
+ const GLint* length;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glShaderSource(shader, count, string, length);
+ return 0;
+ }
+ } caller;
+ caller.shader = shader;
+ caller.count = count;
+ caller.string = string;
+ caller.length = length;
+
+ msg.set_arg0(shader);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(string));
+ msg.set_arg3(ToInt(length));
+
+ // FIXME: check for pointer usage
+ EXTEND_Debug_glShaderSource;
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glShaderSource);
+}
+
+void Debug_glStencilFunc(GLenum func, GLint ref, GLuint mask)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum func;
+ GLint ref;
+ GLuint mask;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glStencilFunc(func, ref, mask);
+ return 0;
+ }
+ } caller;
+ caller.func = func;
+ caller.ref = ref;
+ caller.mask = mask;
+
+ msg.set_arg0(func);
+ msg.set_arg1(ref);
+ msg.set_arg2(mask);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glStencilFunc);
+}
+
+void Debug_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum face;
+ GLenum func;
+ GLint ref;
+ GLuint mask;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glStencilFuncSeparate(face, func, ref, mask);
+ return 0;
+ }
+ } caller;
+ caller.face = face;
+ caller.func = func;
+ caller.ref = ref;
+ caller.mask = mask;
+
+ msg.set_arg0(face);
+ msg.set_arg1(func);
+ msg.set_arg2(ref);
+ msg.set_arg3(mask);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glStencilFuncSeparate);
+}
+
+void Debug_glStencilMask(GLuint mask)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint mask;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glStencilMask(mask);
+ return 0;
+ }
+ } caller;
+ caller.mask = mask;
+
+ msg.set_arg0(mask);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glStencilMask);
+}
+
+void Debug_glStencilMaskSeparate(GLenum face, GLuint mask)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum face;
+ GLuint mask;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glStencilMaskSeparate(face, mask);
+ return 0;
+ }
+ } caller;
+ caller.face = face;
+ caller.mask = mask;
+
+ msg.set_arg0(face);
+ msg.set_arg1(mask);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glStencilMaskSeparate);
+}
+
+void Debug_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum fail;
+ GLenum zfail;
+ GLenum zpass;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glStencilOp(fail, zfail, zpass);
+ return 0;
+ }
+ } caller;
+ caller.fail = fail;
+ caller.zfail = zfail;
+ caller.zpass = zpass;
+
+ msg.set_arg0(fail);
+ msg.set_arg1(zfail);
+ msg.set_arg2(zpass);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glStencilOp);
+}
+
+void Debug_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum face;
+ GLenum fail;
+ GLenum zfail;
+ GLenum zpass;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glStencilOpSeparate(face, fail, zfail, zpass);
+ return 0;
+ }
+ } caller;
+ caller.face = face;
+ caller.fail = fail;
+ caller.zfail = zfail;
+ caller.zpass = zpass;
+
+ msg.set_arg0(face);
+ msg.set_arg1(fail);
+ msg.set_arg2(zfail);
+ msg.set_arg3(zpass);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glStencilOpSeparate);
+}
+
+void Debug_glTexParameterf(GLenum target, GLenum pname, GLfloat param)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ GLfloat param;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glTexParameterf(target, pname, param);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.param = param;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(param));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glTexParameterf);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ const GLfloat* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glTexParameterfv(target, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glTexParameterfv);
+}
+
+void Debug_glTexParameteri(GLenum target, GLenum pname, GLint param)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ GLint param;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glTexParameteri(target, pname, param);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.param = param;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(param);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glTexParameteri);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glTexParameteriv(GLenum target, GLenum pname, const GLint* params)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLenum target;
+ GLenum pname;
+ const GLint* params;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glTexParameteriv(target, pname, params);
+ return 0;
+ }
+ } caller;
+ caller.target = target;
+ caller.pname = pname;
+ caller.params = params;
+
+ msg.set_arg0(target);
+ msg.set_arg1(pname);
+ msg.set_arg2(ToInt(params));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glTexParameteriv);
+}
+
+void Debug_glUniform1f(GLint location, GLfloat x)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLfloat x;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform1f(location, x);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+
+ msg.set_arg0(location);
+ msg.set_arg1(ToInt(x));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform1f);
+}
+
+void Debug_glUniform1fv(GLint location, GLsizei count, const GLfloat* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLfloat* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform1fv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 1*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform1fv);
+}
+
+void Debug_glUniform1i(GLint location, GLint x)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLint x;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform1i(location, x);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+
+ msg.set_arg0(location);
+ msg.set_arg1(x);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform1i);
+}
+
+void Debug_glUniform1iv(GLint location, GLsizei count, const GLint* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLint* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform1iv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 1*count * sizeof(GLint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform1iv);
+}
+
+void Debug_glUniform2f(GLint location, GLfloat x, GLfloat y)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLfloat x;
+ GLfloat y;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform2f(location, x, y);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+ caller.y = y;
+
+ msg.set_arg0(location);
+ msg.set_arg1(ToInt(x));
+ msg.set_arg2(ToInt(y));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform2f);
+}
+
+void Debug_glUniform2fv(GLint location, GLsizei count, const GLfloat* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLfloat* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform2fv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 2*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform2fv);
+}
+
+void Debug_glUniform2i(GLint location, GLint x, GLint y)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLint x;
+ GLint y;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform2i(location, x, y);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+ caller.y = y;
+
+ msg.set_arg0(location);
+ msg.set_arg1(x);
+ msg.set_arg2(y);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform2i);
+}
+
+void Debug_glUniform2iv(GLint location, GLsizei count, const GLint* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLint* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform2iv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 2*count * sizeof(GLint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform2iv);
+}
+
+void Debug_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLfloat x;
+ GLfloat y;
+ GLfloat z;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform3f(location, x, y, z);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+ caller.y = y;
+ caller.z = z;
+
+ msg.set_arg0(location);
+ msg.set_arg1(ToInt(x));
+ msg.set_arg2(ToInt(y));
+ msg.set_arg3(ToInt(z));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform3f);
+}
+
+void Debug_glUniform3fv(GLint location, GLsizei count, const GLfloat* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLfloat* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform3fv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 3*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform3fv);
+}
+
+void Debug_glUniform3i(GLint location, GLint x, GLint y, GLint z)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLint x;
+ GLint y;
+ GLint z;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform3i(location, x, y, z);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+ caller.y = y;
+ caller.z = z;
+
+ msg.set_arg0(location);
+ msg.set_arg1(x);
+ msg.set_arg2(y);
+ msg.set_arg3(z);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform3i);
+}
+
+void Debug_glUniform3iv(GLint location, GLsizei count, const GLint* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLint* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform3iv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 3*count * sizeof(GLint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform3iv);
+}
+
+void Debug_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLfloat x;
+ GLfloat y;
+ GLfloat z;
+ GLfloat w;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform4f(location, x, y, z, w);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+ caller.y = y;
+ caller.z = z;
+ caller.w = w;
+
+ msg.set_arg0(location);
+ msg.set_arg1(ToInt(x));
+ msg.set_arg2(ToInt(y));
+ msg.set_arg3(ToInt(z));
+ msg.set_arg4(ToInt(w));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform4f);
+}
+
+void Debug_glUniform4fv(GLint location, GLsizei count, const GLfloat* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLfloat* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform4fv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 4*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform4fv);
+}
+
+void Debug_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLint x;
+ GLint y;
+ GLint z;
+ GLint w;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform4i(location, x, y, z, w);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.x = x;
+ caller.y = y;
+ caller.z = z;
+ caller.w = w;
+
+ msg.set_arg0(location);
+ msg.set_arg1(x);
+ msg.set_arg2(y);
+ msg.set_arg3(z);
+ msg.set_arg4(w);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform4i);
+}
+
+void Debug_glUniform4iv(GLint location, GLsizei count, const GLint* v)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ const GLint* v;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniform4iv(location, count, v);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.v = v;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(ToInt(v));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(v), 4*count * sizeof(GLint));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniform4iv);
+}
+
+void Debug_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ GLboolean transpose;
+ const GLfloat* value;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniformMatrix2fv(location, count, transpose, value);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.transpose = transpose;
+ caller.value = value;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(transpose);
+ msg.set_arg3(ToInt(value));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(value), 4*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniformMatrix2fv);
+}
+
+void Debug_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ GLboolean transpose;
+ const GLfloat* value;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniformMatrix3fv(location, count, transpose, value);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.transpose = transpose;
+ caller.value = value;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(transpose);
+ msg.set_arg3(ToInt(value));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(value), 9*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniformMatrix3fv);
+}
+
+void Debug_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint location;
+ GLsizei count;
+ GLboolean transpose;
+ const GLfloat* value;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUniformMatrix4fv(location, count, transpose, value);
+ return 0;
+ }
+ } caller;
+ caller.location = location;
+ caller.count = count;
+ caller.transpose = transpose;
+ caller.value = value;
+
+ msg.set_arg0(location);
+ msg.set_arg1(count);
+ msg.set_arg2(transpose);
+ msg.set_arg3(ToInt(value));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(value), 16*count * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUniformMatrix4fv);
+}
+
+void Debug_glUseProgram(GLuint program)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glUseProgram(program);
+ getDbgContextThreadSpecific()->glUseProgram(program);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+
+ msg.set_arg0(program);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glUseProgram);
+}
+
+void Debug_glValidateProgram(GLuint program)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint program;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glValidateProgram(program);
+ return 0;
+ }
+ } caller;
+ caller.program = program;
+
+ msg.set_arg0(program);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glValidateProgram);
+}
+
+void Debug_glVertexAttrib1f(GLuint indx, GLfloat x)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ GLfloat x;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib1f(indx, x);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.x = x;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(x));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib1f);
+}
+
+void Debug_glVertexAttrib1fv(GLuint indx, const GLfloat* values)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ const GLfloat* values;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib1fv(indx, values);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.values = values;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(values));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 1 * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib1fv);
+}
+
+void Debug_glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ GLfloat x;
+ GLfloat y;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib2f(indx, x, y);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.x = x;
+ caller.y = y;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(x));
+ msg.set_arg2(ToInt(y));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib2f);
+}
+
+void Debug_glVertexAttrib2fv(GLuint indx, const GLfloat* values)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ const GLfloat* values;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib2fv(indx, values);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.values = values;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(values));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 2 * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib2fv);
+}
+
+void Debug_glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ GLfloat x;
+ GLfloat y;
+ GLfloat z;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib3f(indx, x, y, z);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.x = x;
+ caller.y = y;
+ caller.z = z;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(x));
+ msg.set_arg2(ToInt(y));
+ msg.set_arg3(ToInt(z));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib3f);
+}
+
+void Debug_glVertexAttrib3fv(GLuint indx, const GLfloat* values)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ const GLfloat* values;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib3fv(indx, values);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.values = values;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(values));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 3 * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib3fv);
+}
+
+void Debug_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ GLfloat x;
+ GLfloat y;
+ GLfloat z;
+ GLfloat w;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib4f(indx, x, y, z, w);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.x = x;
+ caller.y = y;
+ caller.z = z;
+ caller.w = w;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(x));
+ msg.set_arg2(ToInt(y));
+ msg.set_arg3(ToInt(z));
+ msg.set_arg4(ToInt(w));
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib4f);
+}
+
+void Debug_glVertexAttrib4fv(GLuint indx, const GLfloat* values)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ const GLfloat* values;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttrib4fv(indx, values);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.values = values;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(ToInt(values));
+
+ // FIXME: check for pointer usage
+ msg.mutable_data()->assign(reinterpret_cast<const char *>(values), 4 * sizeof(GLfloat));
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttrib4fv);
+}
+
+// FIXME: this function has pointers, it should be hand written
+void Debug_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLuint indx;
+ GLint size;
+ GLenum type;
+ GLboolean normalized;
+ GLsizei stride;
+ const GLvoid* ptr;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
+ getDbgContextThreadSpecific()->glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
+ return 0;
+ }
+ } caller;
+ caller.indx = indx;
+ caller.size = size;
+ caller.type = type;
+ caller.normalized = normalized;
+ caller.stride = stride;
+ caller.ptr = ptr;
+
+ msg.set_arg0(indx);
+ msg.set_arg1(size);
+ msg.set_arg2(type);
+ msg.set_arg3(normalized);
+ msg.set_arg4(stride);
+ msg.set_arg5(ToInt(ptr));
+
+ // FIXME: check for pointer usage
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glVertexAttribPointer);
+}
+
+void Debug_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
+{
+ glesv2debugger::Message msg;
+ const bool expectResponse = false;
+ struct : public FunctionCall {
+ GLint x;
+ GLint y;
+ GLsizei width;
+ GLsizei height;
+
+ const int * operator()(gl_hooks_t::gl_t const * const _c, glesv2debugger::Message & msg) {
+ _c->glViewport(x, y, width, height);
+ return 0;
+ }
+ } caller;
+ caller.x = x;
+ caller.y = y;
+ caller.width = width;
+ caller.height = height;
+
+ msg.set_arg0(x);
+ msg.set_arg1(y);
+ msg.set_arg2(width);
+ msg.set_arg3(height);
+
+ int * ret = MessageLoop(caller, msg, expectResponse,
+ glesv2debugger::Message_Function_glViewport);
+}
+
+// FIXME: the following functions should be written by hand
+void Debug_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
+void Debug_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
+void Debug_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
+void Debug_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
+void Debug_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
+void Debug_glGetBooleanv(GLenum pname, GLboolean* params);
+void Debug_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
+void Debug_glGetFloatv(GLenum pname, GLfloat* params);
+void Debug_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params);
+void Debug_glGetIntegerv(GLenum pname, GLint* params);
+void Debug_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
+void Debug_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params);
+void Debug_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
+void Debug_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
+void Debug_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
+const GLubyte* Debug_glGetString(GLenum name);
+void Debug_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);
+void Debug_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params);
+void Debug_glGetUniformfv(GLuint program, GLint location, GLfloat* params);
+void Debug_glGetUniformiv(GLuint program, GLint location, GLint* params);
+void Debug_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);
+void Debug_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params);
+void Debug_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer);
+void Debug_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
+void Debug_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params);
+void Debug_glTexParameteriv(GLenum target, GLenum pname, const GLint* params);
+void Debug_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);