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