mesa/src/gallium/tools/trace
Ilia Mirkin 43e4b3e311 gallium: add an index argument to create_query
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-07-01 11:34:31 -04:00
..
diff_state.py tools/trace: Do a better job at comparing multi line strings. 2013-06-21 14:30:20 +01:00
dump.py s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
dump_state.py gallium: add an index argument to create_query 2014-07-01 11:34:31 -04:00
format.py s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
model.py s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
parse.py s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
README.txt tools/trace: Quick instructions/notes. 2013-06-21 14:30:20 +01:00
TODO.txt tools/trace: Quick instructions/notes. 2013-06-21 14:30:20 +01:00
tracediff.sh tools/trace: Simple script to compare two traces. 2013-09-20 17:34:57 +01:00

These directory contains tools for manipulating traces produced by the trace
pipe driver.


Most debug builds of state trackers already load the trace driver by default.
To produce a trace do

  export GALLIUM_TRACE=foo.gtrace

and run the application.  You can choose any name, but the .gtrace is
recommended to avoid confusion with the .trace produced by apitrace.


You can dump a trace by doing

  ./dump.py foo.gtrace | less


You can dump a JSON file describing the static state at any given draw call
(e.g., 12345) by
doing

  ./dump_state.py -v -c 12345 foo.gtrace > foo.json

or by specifying the n-th (e.g, 1st) draw call by doing

  ./dump_state.py -v -d 1 foo.gtrace > foo.json

The state is derived from the call sequence in the trace file, so no dynamic
(eg. rendered textures) is included.


You can compare two JSON files by doing

  ./diff_state.py foo.json boo.json | less

If you're investigating a regression in a state tracker, you can obtain a good
and bad trace, dump respective state in JSON, and then compare the states to
identify the problem.