]> git.cworth.org Git - apitrace/blobdiff - retrace/retrace_main.cpp
Add ability to run multiple traces in one time.
[apitrace] / retrace / retrace_main.cpp
index f91928beb2ee7244e5fa7c3447748dd41e8ef55e..349b5a1366b1a82cf36a00ec38ea3b4872ca1378 100644 (file)
@@ -35,7 +35,7 @@
 #include "retrace.hpp"
 
 
-static bool wait = false;
+static bool waitOnFinish = false;
 
 static const char *comparePrefix = NULL;
 static const char *snapshotPrefix = NULL;
@@ -122,6 +122,7 @@ mainLoop() {
     addCallbacks(retracer);
 
     long long startTime = 0; 
+    frameNo = 0;
 
     startTime = os::getTime();
     trace::Call *call;
@@ -174,10 +175,10 @@ mainLoop() {
             " average of " << (frameNo/timeInterval) << " fps\n";
     }
 
-    if (wait) {
+    if (waitOnFinish) {
         waitForInput();
     } else {
-        exit(0);
+        return;
     }
 }
 
@@ -188,7 +189,7 @@ mainLoop() {
 static void
 usage(const char *argv0) {
     std::cout << 
-        "Usage: " << argv0 << " [OPTION] TRACE\n"
+        "Usage: " << argv0 << " [OPTION] TRACE [...]\n"
         "Replay TRACE.\n"
         "\n"
         "  -b           benchmark mode (no error checking or warning messages)\n"
@@ -202,7 +203,7 @@ usage(const char *argv0) {
         "  -S CALLSET   calls to snapshot (default is every frame)\n"
         "  -v           increase output verbosity\n"
         "  -D CALLNO    dump state at specific call no\n"
-        "  -w           wait on final frame\n";
+        "  -w           waitOnFinish on final frame\n";
 }
 
 
@@ -268,7 +269,7 @@ int main(int argc, char **argv)
         } else if (!strcmp(arg, "-v")) {
             ++retrace::verbosity;
         } else if (!strcmp(arg, "-w")) {
-            wait = true;
+            waitOnFinish = true;
         } else {
             std::cerr << "error: unknown option " << arg << "\n";
             usage(argv[0]);