static char contextValue[256];
static enum DaOptions _sopt = OPT_GLES;
+static __thread GLenum gl_error_external = GL_NO_ERROR;
// ==================================================================
// A 2
typedef void (*methodType)(GLenum);
BEFORE(glActiveTexture);
glActiveTexturep(texture);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
(uint64_t)(texture));
}
typedef void (*methodType)(GLuint, GLuint);
BEFORE(glAttachShader);
glAttachShaderp(program, shader);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
program, shader);
}
typedef void (*methodType)(GLuint, GLuint, const char *);
BEFORE(glBindAttribLocation);
glBindAttribLocationp(program, index, name);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dds",
program, index, name);
}
typedef void (*methodType)(GLenum, GLuint);
BEFORE(glBindBuffer);
glBindBufferp(target, buffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
(uint64_t)(target), buffer);
}
typedef void (*methodType)(GLenum, GLuint);
BEFORE(glBindFramebuffer);
glBindFramebufferp(target, framebuffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
(uint64_t)(target), framebuffer);
}
typedef void (*methodType)(GLenum, GLuint);
BEFORE(glBindRenderbuffer);
glBindRenderbufferp(target, renderbuffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
(uint64_t)(target), renderbuffer);
}
typedef void (*methodType)(GLenum, GLuint);
BEFORE(glBindTexture);
glBindTexturep(target, texture);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
(uint64_t)(target), texture);
}
typedef void (*methodType)(GLclampf, GLclampf, GLclampf, GLclampf);
BEFORE(glBlendColor);
glBlendColorp(red, green, blue, alpha);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ffff",
red, green, blue, alpha);
}
typedef void (*methodType)(GLenum);
BEFORE(glBlendEquation);
glBlendEquationp(mode);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
(uint64_t)(mode));
}
typedef void (*methodType)(GLenum, GLenum);
BEFORE(glBlendEquationSeparate);
glBlendEquationSeparatep(modeRGB, modeAlpha);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(modeRGB), (uint64_t)(modeAlpha));
}
typedef void (*methodType)(GLenum, GLenum);
BEFORE(glBlendFunc);
glBlendFuncp(sfactor, dfactor);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(sfactor), (uint64_t)(dfactor));
}
typedef void (*methodType)(GLenum, GLenum, GLenum, GLenum);
BEFORE(glBlendFuncSeparate);
glBlendFuncSeparatep(srcRGB, dstRGB, srcAlpha, dstAlpha);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxx",
(uint64_t)(srcRGB), (uint64_t)(dstRGB),
(uint64_t)(srcAlpha), (uint64_t)(dstAlpha));
typedef void (*methodType)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
BEFORE(glBufferData);
glBufferDatap(target, size, data, usage);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxpx",
(uint64_t)(target), (uint64_t)(size),
voidp_to_uint64(data), (uint64_t)(usage));
typedef void (*methodType)(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
BEFORE(glBufferSubData);
glBufferSubDatap(target, offset, size, data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxp",
(uint64_t)(target), (uint64_t)(offset),
(uint64_t)(size), voidp_to_uint64(data));
typedef GLenum (*methodType)(GLenum);
BEFORE(glCheckFramebufferStatus);
GLenum ret = glCheckFramebufferStatusp(target);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('d', ret, APITYPE_CONTEXT, "", "x",
(uint64_t)(target));
typedef void (*methodType)(GLbitfield);
BEFORE(glClear);
glClearp(mask);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
(uint64_t)(mask));
}
typedef void (*methodType)(GLclampf, GLclampf, GLclampf, GLclampf);
BEFORE(glClearColor);
glClearColorp(red, green, blue, alpha);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ffff",
red, green, blue, alpha);
}
typedef void (*methodType)(GLclampf);
BEFORE(glClearDepthf);
glClearDepthfp(depth);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "f", depth);
}
typedef void (*methodType)(GLint);
BEFORE(glClearStencil);
glClearStencilp(s);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", s);
}
typedef void (*methodType)(GLboolean, GLboolean, GLboolean, GLboolean);
BEFORE(glColorMask);
glColorMaskp(red, green, blue, alpha);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
red, green, blue, alpha);
}
typedef void (*methodType)(GLuint);
BEFORE(glCompileShader);
glCompileShaderp(shader);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(shader));
}
BEFORE(glCompressedTexImage2D);
glCompressedTexImage2Dp(target, level, internalformat, width, height,
border, imageSize, data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdxddddp",
(uint64_t)(target), level,
(uint64_t)(internalformat), width, height, border, imageSize,
BEFORE(glCompressedTexSubImage2D);
glCompressedTexSubImage2Dp(target, level, xoffset, yoffset, width, height,
format, imageSize, data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdddddxdp",
(uint64_t)(target), level, xoffset, yoffset, width, height,
(uint64_t)(format), imageSize, voidp_to_uint64(data));
BEFORE(glCopyTexImage2D);
glCopyTexImage2Dp(target, level, internalformat, x, y, width, height,
border);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdxddddd",
(uint64_t)(target), level,
(uint64_t)(internalformat), x, y, width, height, border);
GLsizei, GLsizei);
BEFORE(glCopyTexSubImage2D);
glCopyTexSubImage2Dp(target, level, xoffset, yoffset, x, y, width, height);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xddddddd",
(uint64_t)(target), level, xoffset, yoffset, x, y, width,
height);
typedef GLuint (*methodType)(void);
BEFORE(glCreateProgram);
GLuint ret = glCreateProgramp();
- error = glGetError();
+ GL_GET_ERROR();
AFTER_NO_PARAM('d', ret, APITYPE_CONTEXT, "");
return ret;
typedef GLuint (*methodType)(GLenum);
BEFORE(glCreateShader);
GLuint ret = glCreateShaderp(shaderType);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('d', ret, APITYPE_CONTEXT, "", "x", (uint64_t)(shaderType));
return ret;
typedef void (*methodType)(GLenum);
BEFORE(glCullFace);
glCullFacep(mode);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(mode));
}
typedef void (*methodType)(GLsizei, const GLuint *);
BEFORE(glDeleteBuffers);
glDeleteBuffersp(n, buffers);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
n, voidp_to_uint64(buffers));
}
typedef void (*methodType)(GLsizei, const GLuint *);
BEFORE(glDeleteFramebuffers);
glDeleteFramebuffersp(n, framebuffers);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
n, voidp_to_uint64(framebuffers));
}
typedef void (*methodType)(GLuint);
BEFORE(glDeleteProgram);
glDeleteProgramp(program);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d",
program);
}
typedef void (*methodType)(GLsizei, const GLuint *);
BEFORE(glDeleteRenderbuffers);
glDeleteRenderbuffersp(n, renderbuffers);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
n, voidp_to_uint64(renderbuffers));
}
typedef void (*methodType)(GLuint);
BEFORE(glDeleteShader);
glDeleteShaderp(shader);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", shader);
}
typedef void (*methodType)(GLsizei, const GLuint *);
BEFORE(glDeleteTextures);
glDeleteTexturesp(n, textures);
- error = glGetError();
+ GL_GET_ERROR();
if (error == GL_NO_ERROR) {
char buf[128] = "";
int bufP = 0;
typedef void (*methodType)(GLenum);
BEFORE(glDepthFunc);
glDepthFuncp(func);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(func));
}
typedef void (*methodType)(GLboolean);
BEFORE(glDepthMask);
glDepthMaskp(flag);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(flag));
}
typedef void (*methodType)(GLclampf, GLclampf);
BEFORE(glDepthRangef);
glDepthRangefp(nearVal, farVal);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ff",
nearVal, farVal);
}
typedef void (*methodType)(GLuint, GLuint);
BEFORE(glDetachShader);
glDetachShaderp(program, shader);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
program, shader);
}
typedef void (*methodType)(GLenum);
BEFORE(glDisable);
glDisablep(cap);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(cap));
}
typedef void (*methodType)(GLuint);
BEFORE(glDisableVertexAttribArray);
glDisableVertexAttribArrayp(index);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", index);
}
typedef void (*methodType)(GLenum, GLint, GLsizei);
BEFORE(glDrawArrays);
glDrawArraysp(mode, first, count);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdd",
(uint64_t)(mode), first, count);
}
typedef void (*methodType)(GLenum, GLsizei, GLenum, const GLvoid *);
BEFORE(glDrawElements);
glDrawElementsp(mode, count, type, indices);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdxp",
(uint64_t)(mode), count, (uint64_t)(type), indices);
}
typedef void (*methodType)(GLenum);
BEFORE(glEnable);
glEnablep(cap);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(cap));
}
typedef void (*methodType)(GLuint);
BEFORE(glEnableVertexAttribArray);
glEnableVertexAttribArrayp(index);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", index);
}
typedef void (*methodType)(void);
BEFORE(glFinish);
glFinishp();
- error = glGetError();
+ GL_GET_ERROR();
AFTER_NO_PARAM('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "");
}
typedef void (*methodType)(void);
BEFORE(glFlush);
glFlushp();
- error = glGetError();
+ GL_GET_ERROR();
AFTER_NO_PARAM('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "");
}
BEFORE(glFramebufferRenderbuffer);
glFramebufferRenderbufferp(target, attachment, renderbuffertarget,
renderbuffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxd",
(uint64_t)(target), (uint64_t)(attachment),
(uint64_t)(renderbuffertarget), renderbuffer);
typedef void (*methodType)(GLenum, GLenum, GLenum, GLuint, GLint);
BEFORE(glFramebufferTexture2D);
glFramebufferTexture2Dp(target, attachment, textarget, texture, level);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxdd",
(uint64_t)(target), (uint64_t)(attachment),
(uint64_t)(textarget), texture, level);
typedef void (*methodType)(GLenum);
BEFORE(glFrontFace);
glFrontFacep(mode);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x",
(uint64_t)(mode));
}
typedef void (*methodType)(GLsizei, GLuint *);
BEFORE(glGenBuffers);
glGenBuffersp(n, buffers);
- error = glGetError();
+ GL_GET_ERROR();
if (error == GL_NO_ERROR) {
char buf[128] = "";
int bufP = 0;
typedef void (*methodType)(GLsizei, GLuint *);
BEFORE(glGenFramebuffers);
glGenFramebuffersp(n, framebuffers);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
n, voidp_to_uint64(framebuffers));
}
typedef void (*methodType)(GLsizei, GLuint *);
BEFORE(glGenRenderbuffers);
glGenRenderbuffersp(n, renderbuffers);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dp",
n, voidp_to_uint64(renderbuffers));
}
typedef void (*methodType)(GLsizei, GLuint *);
BEFORE(glGenTextures);
glGenTexturesp(n, textures);
- error = glGetError();
+ GL_GET_ERROR();
if (error == GL_NO_ERROR) {
char buf[128] = "";
int bufP = 0;
typedef void (*methodType)(GLenum);
BEFORE(glGenerateMipmap);
glGenerateMipmapp(target);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(target));
}
typedef void (*methodType)(GLenum, GLboolean *);
BEFORE(glGetBooleanv);
glGetBooleanvp(pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
}
typedef void (*methodType)(GLenum, GLfloat *);
BEFORE(glGetFloatv);
glGetFloatvp(pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
}
typedef void (*methodType)(GLenum, GLint *);
BEFORE(glGetIntegerv);
glGetIntegervp(pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "x", (uint64_t)(pname));
}
GLenum *, char *);
BEFORE(glGetActiveAttrib);
glGetActiveAttribp(program, index, bufSize, length, size, type, name);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddd",
program, index, bufSize);
}
GLenum *, char *);
BEFORE(glGetActiveUniform);
glGetActiveUniformp(program, index, bufSize, length, size, type, name);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddd",
program, index, bufSize);
}
typedef void (*methodType)(GLuint, GLsizei, GLsizei *, GLuint *);
BEFORE(glGetAttachedShaders);
glGetAttachedShadersp(program, maxCount, count, shaders);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
program, maxCount);
}
typedef int (*methodType)(GLuint , const char*);
BEFORE(glGetAttribLocation);
int ret = glGetAttribLocationp(program, name);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xs",
(uint64_t)(program), name);
return ret;
typedef void (*methodType)(GLenum, GLenum, GLint *);
BEFORE(glGetBufferParameteriv);
glGetBufferParameterivp(target, value, data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(target), (uint64_t)(value));
}
typedef GLenum (*methodType)(void);
BEFORE(glGetError);
GLenum ret = glGetErrorp();
-// error = glGetError();
+
+ if (gl_error_external == GL_NO_ERROR)
+ gl_error_external = ret;
+
+ if (blockresult) {
+ //external call
+ ret = gl_error_external;
+ gl_error_external = GL_NO_ERROR;
+ }
+
AFTER_NO_PARAM('d', ret, APITYPE_CONTEXT, "");
return ret;
typedef void (*methodType)(GLenum, GLenum, GLenum, GLint *);
BEFORE(glGetFramebufferAttachmentParameteriv);
glGetFramebufferAttachmentParameterivp(target, attachment, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxx",
(uint64_t)(target), (uint64_t)(attachment),
(uint64_t)(pname));
typedef void (*methodType)(GLuint, GLsizei, GLsizei *, char *);
BEFORE(glGetProgramInfoLog);
glGetProgramInfoLogp(program, maxLength, length, infoLog);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
program, maxLength);
}
typedef void (*methodType)(GLuint, GLenum, GLint *);
BEFORE(glGetProgramiv);
glGetProgramivp(program, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
program, (uint64_t)(pname));
}
typedef void (*methodType)(GLenum, GLenum, GLint *);
BEFORE(glGetRenderbufferParameteriv);
glGetRenderbufferParameterivp(target, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(target), (uint64_t)(pname));
}
typedef void (*methodType)(GLuint, GLsizei, GLsizei *, char *);
BEFORE(glGetShaderInfoLog);
glGetShaderInfoLogp(shader, maxLength, length, infoLog);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
shader, maxLength);
}
typedef void (*methodType)(GLenum, GLenum, GLint *, GLint *);
BEFORE(glGetShaderPrecisionFormat);
glGetShaderPrecisionFormatp(shaderType, precisionType, range, precision);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(shaderType), (uint64_t)(precisionType));
}
typedef void (*methodType)(GLuint, GLsizei, GLsizei *, char *);
BEFORE(glGetShaderSource);
glGetShaderSourcep(shader, bufSize, length, source);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
shader, bufSize);
}
typedef void (*methodType)(GLuint, GLenum, GLint *);
BEFORE(glGetShaderiv);
glGetShaderivp(shader, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
shader, (uint64_t)(pname));
}
typedef const GLubyte* (*methodType)(GLenum);
BEFORE(glGetString);
const GLubyte* ret = glGetStringp(name);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('p', ret, APITYPE_CONTEXT, "", "x", (uint64_t)(name));
return ret;
typedef void (*methodType)(GLenum, GLenum, GLfloat *);
BEFORE(glGetTexParameterfv);
glGetTexParameterfvp(target, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(target), (uint64_t)(pname));
}
typedef void (*methodType)(GLenum, GLenum, GLint *);
BEFORE(glGetTexParameteriv);
glGetTexParameterivp(target, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(target), (uint64_t)(pname));
}
typedef void (*methodType)(GLuint, GLuint, GLfloat *);
BEFORE(glGetUniformfv);
glGetUniformfvp(program, location, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
program, location);
}
typedef void (*methodType)(GLuint, GLuint, GLint *);
BEFORE(glGetUniformiv);
glGetUniformivp(program, location, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
program, location);
}
typedef GLint (*methodType)(GLuint, const char *);
BEFORE(glGetUniformLocation);
GLint ret = glGetUniformLocationp(program, name);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('d', ret, APITYPE_CONTEXT, "", "d", program);
return ret;
typedef void (*methodType)(GLuint, GLenum, GLfloat *);
BEFORE(glGetVertexAttribfv);
glGetVertexAttribfvp(index, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
index, (uint64_t)(pname));
}
typedef void (*methodType)(GLuint, GLenum, GLint *);
BEFORE(glGetVertexAttribiv);
glGetVertexAttribivp(index, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
index, (uint64_t)(pname));
}
typedef void (*methodType)(GLuint, GLenum, GLvoid **);
BEFORE(glGetVertexAttribPointerv);
glGetVertexAttribPointervp(index, pname, pointer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dx",
index, (uint64_t)(pname));
}
typedef void (*methodType)(GLenum, GLenum);
BEFORE(glHint);
glHintp(target, mode);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xx",
(uint64_t)(target), (uint64_t)(mode));
}
typedef GLboolean (*methodType)(GLuint);
BEFORE(glIsBuffer);
GLboolean ret = glIsBufferp(buffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "d", buffer);
return ret;
typedef GLboolean (*methodType)(GLenum);
BEFORE(glIsEnabled);
GLboolean ret = glIsEnabledp(cap);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "x", (uint64_t)(cap));
return ret;
typedef GLboolean (*methodType)(GLuint);
BEFORE(glIsFramebuffer);
GLboolean ret = glIsFramebufferp(framebuffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "d", framebuffer);
return ret;
typedef GLboolean (*methodType)(GLuint);
BEFORE(glIsProgram);
GLboolean ret = glIsProgramp(program);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "d", program);
return ret;
typedef GLboolean (*methodType)(GLuint);
BEFORE(glIsRenderbuffer);
GLboolean ret = glIsRenderbufferp(renderbuffer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "d", renderbuffer);
return ret;
typedef GLboolean (*methodType)(GLuint);
BEFORE(glIsShader);
GLboolean ret = glIsShaderp(shader);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "d", shader);
return ret;
typedef GLboolean (*methodType)(GLuint);
BEFORE(glIsTexture);
GLboolean ret = glIsTexturep(texture);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('c', ret, APITYPE_CONTEXT, "", "d", texture);
return ret;
typedef void (*methodType)(GLfloat);
BEFORE(glLineWidth);
glLineWidthp(width);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "f", width);
}
typedef void (*methodType)(GLuint);
BEFORE(glLinkProgram);
glLinkProgramp(program);
- error = glGetError();
+ GL_GET_ERROR();
char buf[512] = "";
if (error == GL_NO_ERROR) {
int bufP = 0;
typedef void (*methodType)(GLenum, GLint);
BEFORE(glPixelStorei);
glPixelStoreip(pname, param);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
(uint64_t)(pname), param);
}
typedef void (*methodType)(GLfloat, GLfloat);
BEFORE(glPolygonOffset);
glPolygonOffsetp(factor, units);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ff",
factor, units);
}
GLvoid *);
BEFORE(glReadPixels);
glReadPixelsp(x, y, width, height, format, type, data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "",
"ddddxx", x, y, width, height,
(uint64_t)(format), (uint64_t)(type));
typedef void (*methodType)(void);
BEFORE(glReleaseShaderCompiler);
glReleaseShaderCompilerp();
- error = glGetError();
+ GL_GET_ERROR();
AFTER_NO_PARAM('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "");
}
typedef void (*methodType)(GLenum, GLenum, GLsizei, GLsizei);
BEFORE(glRenderbufferStorage);
glRenderbufferStoragep(target, internalformat, width, height);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxdd",
(uint64_t)(target), (uint64_t)(internalformat),
width, height);
typedef void (*methodType)(GLclampf, GLboolean);
BEFORE(glSampleCoverage);
glSampleCoveragep(value, invert);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "fx",
value, (uint64_t)(invert));
}
typedef void (*methodType)(GLint, GLint, GLsizei, GLsizei);
BEFORE(glScissor);
glScissorp(x, y, width, height);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
x, y, width, height);
}
GLsizei);
BEFORE(glShaderBinary);
glShaderBinaryp(n, shaders, binaryformat, binary, length);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "",
"dpxpd", n, voidp_to_uint64(shaders),
(uint64_t)(binaryformat), voidp_to_uint64(binary), length);
typedef void (*methodType)(GLuint, GLsizei, const char**, const GLint*);
BEFORE(glShaderSource);
glShaderSourcep(shader, count, string, length);
- error = glGetError();
+ GL_GET_ERROR();
if (error == GL_NO_ERROR) {
GLint length[1];
glGetShaderiv(shader, GL_SHADER_SOURCE_LENGTH, length);
typedef void (*methodType)(GLenum, GLint, GLint);
BEFORE(glStencilFunc);
glStencilFuncp(func, ref, mask);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdd",
(uint64_t)(func), ref, mask);
}
typedef void (*methodType)(GLenum, GLenum, GLint, GLuint);
BEFORE(glStencilFuncSeparate);
glStencilFuncSeparatep(face, func, ref, mask);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxdd",
(uint64_t)(face), (uint64_t)(func), ref, mask);
}
typedef void (*methodType)(GLuint);
BEFORE(glStencilMask);
glStencilMaskp(mask);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", mask);
}
typedef void (*methodType)(GLenum, GLuint);
BEFORE(glStencilMaskSeparate);
glStencilMaskSeparatep(face, mask);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xd",
(uint64_t)(face), mask);
}
typedef void (*methodType)(GLenum, GLenum, GLenum);
BEFORE(glStencilOp);
glStencilOpp(sfail, dpfail, dppass);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxx",
(uint64_t)(sfail), (uint64_t)(dpfail),
(uint64_t)(dppass));
typedef void (*methodType)(GLenum, GLenum, GLenum, GLenum);
BEFORE(glStencilOpSeparate);
glStencilOpSeparatep(face, sfail, dpfail, dppass);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxxx",
(uint64_t)(face), (uint64_t)(sfail), (uint64_t)(dpfail),
(uint64_t)(dppass));
BEFORE(glTexImage2D);
glTexImage2Dp(target, level, internalformat, width, height, border, format,
type, data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xdddddxxp",
(uint64_t)(target), level, internalformat, width, height,
border, (uint64_t)(format), (uint64_t)(type),
typedef void (*methodType)(GLenum, GLenum, GLfloat);
BEFORE(glTexParameterf);
glTexParameterfp(target, pname, param);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxf",
(uint64_t)(target), (uint64_t)(pname), param);
}
typedef void (*methodType)(GLenum, GLenum, const GLfloat *);
BEFORE(glTexParameterfv);
glTexParameterfvp(target, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
if(error == GL_NO_ERROR) {
char param0[8];
sprintf(param0, "%x", (GLenum)params[0]);
typedef void (*methodType)(GLenum, GLenum, GLint);
BEFORE(glTexParameteri);
glTexParameterip(target, pname, param);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "xxx",
(uint64_t)(target), (uint64_t)(pname),
(uint64_t)(param));
typedef void (*methodType)(GLenum, GLenum, const GLint *);
BEFORE(glTexParameteriv);
glTexParameterivp(target, pname, params);
- error = glGetError();
+ GL_GET_ERROR();
if(error == GL_NO_ERROR) {
char param0[8];
sprintf(param0, "%x", (GLenum)params[0]);
BEFORE(glTexSubImage2D);
glTexSubImage2Dp(target, level, xoffset, yoffset, width, height, format, type,
data);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "",
"xdddddxxp",
(uint64_t)(target), level, xoffset, yoffset, width, height,
typedef void (*methodType)(GLint, GLfloat);
BEFORE(glUniform1f);
glUniform1fp(location, v0);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "df",
location, v0);
}
typedef void (*methodType)(GLint, GLfloat, GLfloat);
BEFORE(glUniform2f);
glUniform2fp(location, v0, v1);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dff",
location, v0, v1);
}
typedef void (*methodType)(GLint, GLfloat, GLfloat, GLfloat);
BEFORE(glUniform3f);
glUniform3fp(location, v0, v1, v2);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dfff",
location, v0, v1, v2);
}
typedef void (*methodType)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
BEFORE(glUniform4f);
glUniform4fp(location, v0, v1, v2, v3);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "",
"dffff", location, v0, v1, v2, v3);
}
typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
BEFORE(glUniform1fv);
glUniform1fvp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
BEFORE(glUniform2fv);
glUniform2fvp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
BEFORE(glUniform3fv);
glUniform3fvp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, const GLfloat *);
BEFORE(glUniform4fv);
glUniform4fvp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLint);
BEFORE(glUniform1i);
glUniform1ip(location, v0);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dd",
location, v0);
}
typedef void (*methodType)(GLint, GLint, GLint);
BEFORE(glUniform2i);
glUniform2ip(location, v0, v1);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddd",
location, v0, v1);
}
typedef void (*methodType)(GLint, GLint, GLint, GLint);
BEFORE(glUniform3i);
glUniform3ip(location, v0, v1, v2);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
location, v0, v1, v2);
}
typedef void (*methodType)(GLint, GLint, GLint, GLint, GLint);
BEFORE(glUniform4i);
glUniform4ip(location, v0, v1, v2, v3);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "",
"ddddd", location, v0, v1, v2, v3);
}
typedef void (*methodType)(GLint, GLsizei, const GLint *);
BEFORE(glUniform1iv);
glUniform1ivp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, const GLint *);
BEFORE(glUniform2iv);
glUniform2ivp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, const GLint *);
BEFORE(glUniform3iv);
glUniform3ivp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, GLboolean, const GLfloat *);
BEFORE(glUniformMatrix2fv);
glUniformMatrix2fvp(location, count, transpose, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxp",
location, count, (uint64_t)(transpose), voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, GLboolean, const GLfloat *);
BEFORE(glUniformMatrix3fv);
glUniformMatrix3fvp(location, count, transpose, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxp",
location, count, (uint64_t)(transpose), voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, GLboolean, const GLfloat *);
BEFORE(glUniformMatrix4fv);
glUniformMatrix4fvp(location, count, transpose, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxp",
location, count, (uint64_t)(transpose), voidp_to_uint64(value));
}
typedef void (*methodType)(GLint, GLsizei, const GLint *);
BEFORE(glUniform4iv);
glUniform4ivp(location, count, value);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddp",
location, count, voidp_to_uint64(value));
}
typedef void (*methodType)(GLuint);
BEFORE(glUseProgram);
glUseProgramp(program);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d",
program);
}
typedef void (*methodType)(GLuint);
BEFORE(glValidateProgram);
glValidateProgramp(program);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d",
program);
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"df", index, v0);
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dff", index, v0, v1);
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dfff", index, v0, v1, v2);
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dffff", index, v0, v1, v2, v3);
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dp", index, voidp_to_uint64(v));
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dp", index, voidp_to_uint64(v));
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dp", index, voidp_to_uint64(v));
}
glGetVertexAttribfv(index, GL_CURRENT_VERTEX_ATTRIB, cv);
sprintf(contextValue, "%f,%f,%f,%f", cv[0], cv[1], cv[2], cv[3]);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, contextValue,
"dp", index, voidp_to_uint64(v));
}
const GLvoid *);
BEFORE(glVertexAttribPointer);
glVertexAttribPointerp(index, size, type, normalized, stride, pointer);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "ddxxdp",
index, size, (uint64_t)(type), (uint64_t)(normalized),
stride, voidp_to_uint64(pointer));
typedef void (*methodType)(GLint, GLint, GLsizei, GLsizei);
BEFORE(glViewport);
glViewportp(x, y, width, height);
- error = glGetError();
+ GL_GET_ERROR();
AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "dddd",
x, y, width, height);
}