- } else if (strcmp(arg, "-o") == 0 ||
- strcmp(arg, "--output") == 0) {
- output = argv[i++];
- } else {
- std::cerr << "error: unknown option " << arg << "\n";
+ break;
+ case 'a':
+ if (strcmp(optarg, "gl") == 0) {
+ api = trace::API_GL;
+ } else if (strcmp(optarg, "egl") == 0) {
+ api = trace::API_EGL;
+ } else if (strcmp(optarg, "d3d7") == 0) {
+ api = trace::API_D3D7;
+ } else if (strcmp(optarg, "d3d8") == 0) {
+ api = trace::API_D3D8;
+ } else if (strcmp(optarg, "d3d9") == 0) {
+ api = trace::API_D3D9;
+ } else if (strcmp(optarg, "d3d10") == 0) {
+ api = trace::API_D3D10;
+ } else if (strcmp(optarg, "d3d10_1") == 0) {
+ api = trace::API_D3D10_1;
+ } else if (strcmp(optarg, "d3d11") == 0) {
+ api = trace::API_D3D11;
+ } else {
+ std::cerr << "error: unknown API `" << optarg << "`\n";
+ usage();
+ return 1;
+ }
+ break;
+ case 'o':
+ output = optarg;
+ break;
+ default:
+ std::cerr << "error: unexpected option `" << opt << "`\n";