Show call name on glGetError warning messages.
authorZack Rusin <zack@kde.org>
Sun, 8 May 2011 04:52:13 +0000 (00:52 -0400)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sun, 8 May 2011 10:41:33 +0000 (11:41 +0100)
glretrace.hpp
glretrace.py
glretrace_main.cpp

index 9d74641..cb130bb 100644 (file)
@@ -57,7 +57,7 @@ extern const char *snapshot_prefix;
 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);
index 7eab126..e6cf631 100644 (file)
@@ -151,7 +151,7 @@ class GlRetracer(Retracer):
             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) {'
index e8567dc..c99ed4a 100644 (file)
@@ -55,7 +55,7 @@ const char *snapshot_prefix = NULL;
 unsigned dump_state = ~0;
 
 void
-checkGlError(int callIdx) {
+checkGlError(const Trace::Call &call) {
     if (benchmark || insideGlBeginEnd) {
         return;
     }
@@ -65,11 +65,11 @@ checkGlError(int callIdx) {
         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";
@@ -110,7 +110,6 @@ static void snapshot(Image::Image &image) {
     glGetIntegerv(GL_READ_BUFFER, &readbuffer);
     glReadBuffer(drawbuffer);
     glReadPixels(0, 0, image.width, image.height, GL_RGBA, GL_UNSIGNED_BYTE, image.pixels);
-    checkGlError();
     glReadBuffer(readbuffer);
 }