Replay an OpenGL trace with
- glretrace application.trace
+ apitrace retrace application.trace
Pass the `--sb` option to use a single buffered visual. Pass `--help` to
-`glretrace` for more options.
-
-EGL traces must be replayed with `eglretrace` instead of `glretrace`.
+`apitrace retrace` for more options.
Basic GUI usage
Several tools take `CALLSET` arguments, e.g:
- apitrace dump --calls CALLSET foo.trace
- glretrace -S CALLSET foo.trace
+ apitrace dump --calls=CALLSET foo.trace
+ apitrace dump-images --calls=CALLSET foo.trace
The call syntax is very flexible. Here are a few examples:
* `4` one call
- * `1,2,4,5` set of calls
+ * `0,2,4,5` set of calls
- * `"1 2 4 5"` set of calls (commas are optional and can be replaced with whitespace)
+ * `"0 2 4 5"` set of calls (commas are optional and can be replaced with whitespace)
- * `1-100/2` calls 1, 3, 5, ..., 99
+ * `0-100/2` calls 1, 3, 5, ..., 99
- * `1-1000/draw` all draw calls between 1 and 1000
+ * `0-1000/draw` all draw calls between 0 and 1000
- * `1-1000/fbo` all fbo changes between calls 1 and 1000
+ * `0-1000/fbo` all fbo changes between calls 0 and 1000
* `frame` all calls at end of frames
You can get a dump of the bound GL state at call 12345 by doing:
- glretrace -D 12345 application.trace > 12345.json
+ apitrace retrace -D 12345 application.trace > 12345.json
This is precisely the mechanism the GUI obtains its own state.
You can make a video of the output by doing
- glretrace -s - application.trace \
+ apitrace dump-images -o - application.trace \
| ffmpeg -r 30 -f image2pipe -vcodec ppm -i pipe: -vcodec mpeg4 -y output.mp4
For example, to record all profiling data and utilise the per shader script:
- ./glretrace --pgpu --pcpu --ppd foo.trace | ./scripts/profileshader.py
+ apitrace retrace --pgpu --pcpu --ppd foo.trace | ./scripts/profileshader.py
Advanced usage for OpenGL implementors
* obtain reference snapshots, by doing on a reference system:
mkdir /path/to/reference/snapshots/
- glretrace -s /path/to/reference/snapshots/ application.trace
+ apitrace dump-images -o /path/to/reference/snapshots/ application.trace
* prune the snapshots which are not interesting
-* to do a regression test, do:
-
- glretrace -c /path/to/reference/snapshots/ application.trace
-
- Alternatively, for a HTML summary, use `apitrace diff-images`:
+* to do a regression test, use `apitrace diff-images`:
- glretrace -s /path/to/test/snapshots/ application.trace
+ apitrace dump-images -o /path/to/test/snapshots/ application.trace
apitrace diff-images --output summary.html /path/to/reference/snapshots/ /path/to/test/snapshots/