extern unsigned dump_state;
void
-checkGlError(int callIdx = -1);
+checkGlError(const Trace::Call &call);
void retrace_call_glx(Trace::Call &call);
void retrace_call_wgl(Trace::Call &call);
print ' glretrace::insideGlBeginEnd = true;'
elif function.name.startswith('gl'):
# glGetError is not allowed inside glBegin/glEnd
- print ' glretrace::checkGlError(call.no);'
+ print ' glretrace::checkGlError(call);'
if function.name == 'glFlush':
print ' if (!glretrace::double_buffer) {'
unsigned dump_state = ~0;
void
-checkGlError(int callIdx) {
+checkGlError(const Trace::Call &call) {
if (benchmark || insideGlBeginEnd) {
return;
}
return;
}
- if (callIdx >= 0) {
- std::cerr << callIdx << ": ";
- }
+ std::cerr << call.no << ": ";
+ std::cerr << "warning: glGetError(";
+ std::cerr << call.name();
+ std::cerr << ") = ";
- std::cerr << "warning: glGetError() = ";
switch (error) {
case GL_INVALID_ENUM:
std::cerr << "GL_INVALID_ENUM";
glGetIntegerv(GL_READ_BUFFER, &readbuffer);
glReadBuffer(drawbuffer);
glReadPixels(0, 0, image.width, image.height, GL_RGBA, GL_UNSIGNED_BYTE, image.pixels);
- checkGlError();
glReadBuffer(readbuffer);
}