X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=README.markdown;h=b1eb08397aa4bf1a64d1db5b2e7cf3dd11248599;hb=cbb86175e81c2765f14fa01a2dc49d367203ac1f;hp=4e596cc172269299749ef731132ae03964295570;hpb=d7a4487ca3354de7603dee23eb0892b8467a6464;p=apitrace diff --git a/README.markdown b/README.markdown index 4e596cc..b1eb083 100644 --- a/README.markdown +++ b/README.markdown @@ -49,12 +49,10 @@ View the trace with 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 @@ -78,8 +76,8 @@ Call sets 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: @@ -243,6 +241,13 @@ Then run the application as usual. You can specify the written trace filename by setting the `TRACE_FILE` environment variable before running. +For D3D10 and higher you really must use `apitrace trace -a DXGI ...`. This is +because D3D10-11 API span many DLLs which depend on each other, and once a DLL +with a given name is loaded Windows will reuse it for LoadLibrary calls of the +same name, causing internal calls to be traced erroneously. `apitrace trace` +solves this issue by injecting a DLL `dxgitrace.dll` and patching all modules +to hook only the APIs of interest. + Emitting annotations to the trace --------------------------------- @@ -297,7 +302,7 @@ Dump GL state at a particular call 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. @@ -320,7 +325,7 @@ Recording a video with FFmpeg 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 @@ -354,7 +359,7 @@ table which displays profiling results per shader. 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 @@ -377,11 +382,7 @@ These are the steps to create a regression test-suite around **apitrace**: * 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`: apitrace dump-images -o /path/to/test/snapshots/ application.trace apitrace diff-images --output summary.html /path/to/reference/snapshots/ /path/to/test/snapshots/