Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5564 | serge | 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. |