6 This directory contains a Gallium3D debugger pipe driver.
7 It can traces all incoming calls and/or provide remote debugging functionality.
10 = Build Instructions =
12 To build, invoke scons on the top dir as
14 scons dri=no statetrackers=mesa drivers=softpipe,i965simple,trace winsys=xlib
21 export LD_LIBRARY_PATH=$PWD/build/linux-x86-debug/lib
23 ensure the right libGL.so is being picked by doing
31 GALLIUM_TRACE=tri.trace progs/trivial/tri
33 which should create a tri.trace file, which is an XML file. You can view copying
34 trace.xsl to the same directory, and opening with a XSLT capable browser such as
35 Firefox or Internet Explorer.
37 == Remote debugging ==
42 GALLIUM_RBUG=true progs/trivial/tri
44 which should open gallium remote debugging session. While the program is running
45 you can launch the small remote debugging application from progs/rbug. More
46 information is in that directory.
50 You can integrate the trace pipe driver either inside the state tracker or the
51 winsys. The procedure on both cases is the same. Let's assume you have a
52 pipe_screen and a pipe_context pair obtained by the usual means (variable and
53 function names are just for illustration purposes):
55 real_screen = real_screen_create(...);
57 real_context = real_context_create(...);
59 The trace screen and pipe_context is then created by doing
61 trace_screen = trace_screen_create(real_screen);
63 trace_context = trace_context_create(trace_screen, real_context);
65 You can then simply use trace_screen and trace_context instead of real_screen
68 Do not call trace_winsys_create. Simply pass trace_screen->winsys or
69 trace_context->winsys in places you would pass winsys.
71 You can create as many contexts you wish. Just ensure that you don't mistake
72 trace_screen with real_screen when creating them.
76 Jose Fonseca <jrfonseca@tungstengraphics.com>
77 Jakob Bornecrantz <jakob@vmware.com>