X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glretrace_main.cpp;h=3a900927a128a3d6d46ec0055002d03f964f7fe6;hb=1a9f7af32205d900c88fef0b544546eb0d7c84ee;hp=beaac82dd4e7429ae31d1d054e1b0387ce3fca46;hpb=610ed330cf7f79ec449fb9b1b1aca87f233812c0;p=apitrace diff --git a/glretrace_main.cpp b/glretrace_main.cpp index beaac82..3a90092 100644 --- a/glretrace_main.cpp +++ b/glretrace_main.cpp @@ -130,10 +130,16 @@ void snapshot(unsigned call_no) { } if (snapshot_prefix) { - char filename[PATH_MAX]; - snprintf(filename, sizeof filename, "%s%010u.png", snapshot_prefix, call_no); - if (src->writePNG(filename) && retrace::verbosity >= 0) { - std::cout << "Wrote " << filename << "\n"; + if (snapshot_prefix[0] == '-' && snapshot_prefix[1] == 0) { + char comment[21]; + snprintf(comment, sizeof comment, "%u", call_no); + src->writePNM(std::cout, comment); + } else { + char filename[PATH_MAX]; + snprintf(filename, sizeof filename, "%s%010u.png", snapshot_prefix, call_no); + if (src->writePNG(filename) && retrace::verbosity >= 0) { + std::cout << "Wrote " << filename << "\n"; + } } } @@ -220,7 +226,7 @@ static void usage(void) { " -c PREFIX compare against snapshots\n" " -db use a double buffer visual (default)\n" " -sb use a single buffer visual\n" - " -s PREFIX take snapshots\n" + " -s PREFIX take snapshots; `-` for PNM stdout output\n" " -S FREQUENCY snapshot frequency: frame (default), framebuffer, or draw\n" " -v verbose output\n" " -D CALLNO dump state at specific call no\n" @@ -264,6 +270,9 @@ int main(int argc, char **argv) if (snapshot_frequency == FREQUENCY_NEVER) { snapshot_frequency = FREQUENCY_FRAME; } + if (snapshot_prefix[0] == '-' && snapshot_prefix[1] == 0) { + retrace::verbosity = -2; + } } else if (!strcmp(arg, "-S")) { arg = argv[++i]; if (!strcmp(arg, "frame")) {