]> git.cworth.org Git - apitrace/blobdiff - retrace.cpp
Add support for GL_APPLE_flush_render
[apitrace] / retrace.cpp
index ef236f45ef79a7f3043ea897ad31bc70f07dbf2e..07ee5b56b5dc98936be7b4f80ed3befdb6963ff3 100644 (file)
@@ -24,6 +24,7 @@
  **************************************************************************/
 
 
+#include <string.h>
 #include <iostream>
 
 #include "retrace.hpp"
@@ -35,11 +36,30 @@ namespace retrace {
 int verbosity = 0;
 
 
+void ignore(Trace::Call &call) {
+    (void)call;
+}
+
 void retrace_unknown(Trace::Call &call) {
     if (verbosity >= 0) {
         std::cerr << call.no << ": warning: unknown call " << call.name() << "\n";
     }
 }
 
+void dispatch(Trace::Call &call, const Entry *entries, unsigned num_entries)
+{
+    /* TODO: do a bisection instead of a linear search */
+
+    const char *name = call.name();
+    for (unsigned i = 0; i < num_entries; ++i) {
+        if (strcmp(name, entries[i].name) == 0) {
+            entries[i].callback(call);
+            return;
+        }
+    }
+
+    retrace_unknown(call);
+}
+
 
 } /* namespace retrace */