X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=cli%2Fcli_trace.cpp;h=92251b4bef0ad6cd10b4d9b924a0414f27b9e67b;hb=8f28cd84c31bfe031a0f9ae119f0bcc55d59286e;hp=b96dca819c04957af03d941aca6216616b7c8e01;hpb=09879ecc0785138789a535ceb43d788606a791e3;p=apitrace diff --git a/cli/cli_trace.cpp b/cli/cli_trace.cpp index b96dca8..92251b4 100644 --- a/cli/cli_trace.cpp +++ b/cli/cli_trace.cpp @@ -50,6 +50,8 @@ usage(void) " with other apitrace utilities for replay or analysis.\n" "\n" " -v, --verbose verbose output\n" + " -a, --api API specify API to trace (gl or egl);\n" + " default is `gl`\n" " -o, --output TRACE specify output trace file;\n" " default is `PROGRAM.trace`\n"; } @@ -58,6 +60,7 @@ static int command(int argc, char *argv[]) { bool verbose = false; + trace::API api = trace::API_GL; const char *output = NULL; int i; @@ -78,6 +81,18 @@ command(int argc, char *argv[]) } else if (strcmp(arg, "-v") == 0 || strcmp(arg, "--verbose") == 0) { verbose = true; + } else if (strcmp(arg, "-a") == 0 || + strcmp(arg, "--api") == 0) { + arg = argv[i++]; + if (strcmp(arg, "gl") == 0) { + api = trace::API_GL; + } else if (strcmp(arg, "egl") == 0) { + api = trace::API_EGL; + } else { + std::cerr << "error: unknown API `" << arg << "`\n"; + usage(); + return 1; + } } else if (strcmp(arg, "-o") == 0 || strcmp(arg, "--output") == 0) { output = argv[i++]; @@ -95,7 +110,7 @@ command(int argc, char *argv[]) } assert(argv[argc] == 0); - return trace::traceProgram(argv + i, output, verbose); + return trace::traceProgram(api, argv + i, output, verbose); } const Command trace_command = {