Home | History | Annotate | Line # | Download | only in driver_trace
      1  1.1  mrg                              TRACE PIPE DRIVER
      2  1.1  mrg 
      3  1.1  mrg 
      4  1.1  mrg = About =
      5  1.1  mrg 
      6  1.1  mrg This directory contains a Gallium3D trace debugger pipe driver.
      7  1.1  mrg It can traces all incoming calls.
      8  1.1  mrg 
      9  1.1  mrg 
     10  1.1  mrg = Usage =
     11  1.1  mrg 
     12  1.1  mrg == Tracing ==
     13  1.1  mrg 
     14  1.1  mrg For tracing then do
     15  1.1  mrg 
     16  1.1  mrg  GALLIUM_TRACE=tri.trace trivial/tri
     17  1.1  mrg 
     18  1.1  mrg which should create a tri.trace file, which is an XML file. You can view copying 
     19  1.1  mrg trace.xsl to the same directory, and opening with a XSLT capable browser such as 
     20  1.1  mrg Firefox or Internet Explorer.
     21  1.1  mrg 
     22  1.1  mrg For long traces you can use the
     23  1.1  mrg 
     24  1.1  mrg   src/gallium/tools/trace/dump.py tri.trace | less -R
     25  1.1  mrg 
     26  1.1  mrg 
     27  1.1  mrg == Remote debugging ==
     28  1.1  mrg 
     29  1.1  mrg For remote debugging see:
     30  1.1  mrg 
     31  1.1  mrg   src/gallium/auxiliary/driver_rbug/README
     32  1.1  mrg 
     33  1.1  mrg 
     34  1.1  mrg = Integrating =
     35  1.1  mrg 
     36  1.1  mrg You can integrate the trace pipe driver either inside the state tracker or the 
     37  1.1  mrg target. The procedure on both cases is the same. Let's assume you have a 
     38  1.1  mrg pipe_screen obtained by the usual means (variable and function names are just
     39  1.1  mrg for illustration purposes):
     40  1.1  mrg 
     41  1.1  mrg   real_screen = real_screen_create(...);
     42  1.1  mrg   
     43  1.1  mrg The trace screen is then created by doing
     44  1.1  mrg 
     45  1.1  mrg   trace_screen = trace_screen_create(real_screen);
     46  1.1  mrg 
     47  1.1  mrg You can then simply use trace_screen instead of real_screen.
     48  1.1  mrg 
     49  1.1  mrg You can create as many contexts you wish from trace_screen::context_create they
     50  1.1  mrg are automatically wrapped by trace_screen.
     51  1.1  mrg 
     52  1.1  mrg 
     53  1.1  mrg --
     54  1.1  mrg Jose Fonseca <jfonseca (a] vmware.com>
     55  1.1  mrg Jakob Bornecrantz <jakob (a] vmware.com>
     56