830cd150fab4ab5ba6dc7da288be62e441d2e021
[mesa.git] / src / gallium / tools / trace / README.txt
1 These directory contains tools for manipulating traces produced by the trace
2 pipe driver.
3
4
5 Most debug builds of state trackers already load the trace driver by default.
6 To produce a trace do
7
8 export GALLIUM_TRACE=foo.gtrace
9
10 and run the application. You can choose any name, but the .gtrace is
11 recommended to avoid confusion with the .trace produced by apitrace.
12
13
14 You can dump a trace by doing
15
16 ./dump.py foo.gtrace | less
17
18
19 You can dump a JSON file describing the static state at any given draw call
20 (e.g., 12345) by
21 doing
22
23 ./dump_state.py -v -c 12345 foo.gtrace > foo.json
24
25 or by specifying the n-th (e.g, 1st) draw call by doing
26
27 ./dump_state.py -v -d 1 foo.gtrace > foo.json
28
29 The state is derived from the call sequence in the trace file, so no dynamic
30 (eg. rendered textures) is included.
31
32
33 You can compare two JSON files by doing
34
35 ./diff_state.py foo.json boo.json | less
36
37 If you're investigating a regression in a state tracker, you can obtain a good
38 and bad trace, dump respective state in JSON, and then compare the states to
39 identify the problem.