Output all warnings in the <call no>: <type>: <message> format.
authorZack Rusin <zack@kde.org>
Tue, 19 Apr 2011 20:44:46 +0000 (16:44 -0400)
committerZack Rusin <zack@kde.org>
Tue, 19 Apr 2011 20:44:46 +0000 (16:44 -0400)
glretrace.hpp
glretrace.py
glretrace_main.cpp
retrace.py

index a579d58..9fa7ae7 100644 (file)
@@ -57,7 +57,7 @@ extern const char *snapshot_prefix;
 extern unsigned dump_state;
 
 void
-checkGlError(void);
+checkGlError(int callIdx = -1);
 
 void state_dump(std::ostream &os);
 
index 0040d58..345e154 100644 (file)
@@ -149,7 +149,7 @@ class GlRetracer(Retracer):
             print '    glretrace::insideGlBeginEnd = true;'
         else:
             # glGetError is not allowed inside glBegin/glEnd
-            print '    glretrace::checkGlError();'
+            print '    glretrace::checkGlError(call.no);'
 
     def extract_arg(self, function, arg, arg_type, lvalue, rvalue):
         if function.name in self.array_pointer_function_names and arg.name == 'pointer':
index d0fb578..6d42cb5 100644 (file)
@@ -55,7 +55,7 @@ const char *snapshot_prefix = NULL;
 unsigned dump_state = ~0;
 
 void
-checkGlError(void) {
+checkGlError(int callIdx) {
     if (benchmark || insideGlBeginEnd) {
         return;
     }
@@ -65,6 +65,10 @@ checkGlError(void) {
         return;
     }
 
+    if (callIdx >= 0) {
+        std::cerr << callIdx << ": ";
+    }
+
     std::cerr << "warning: glGetError() = ";
     switch (error) {
     case GL_INVALID_ENUM:
index 3a6c0f9..4f45055 100644 (file)
@@ -269,7 +269,7 @@ class Retracer:
         string_switch('name', func_dict.keys(), handle_case)
 
         print '    if (retrace::verbosity >= 0)'
-        print '        std::cerr << "warning: unknown call " << call.name() << "\\n";'
+        print '        std::cerr << call.no << ": warning: unknown call " << call.name() << "\\n";'
         print '    return false;'
         print '}'
         print