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
32 GALLIUM_TRACE=tri.trace progs/trivial/tri
34 which should create a tri.trace file, which is an XML file. You can view copying
35 trace.xsl to the same directory, and opening with a XSLT capable browser such as
36 Firefox or Internet Explorer.
38 == Remote debugging ==
43 GALLIUM_RBUG=true progs/trivial/tri
45 which should open gallium remote debugging session. While the program is running
46 you can launch the small remote debugging application from progs/rbug. More
47 information is in that directory.
51 You can integrate the trace pipe driver either inside the state tracker or the
52 winsys. The procedure on both cases is the same. Let's assume you have a
53 pipe_screen and a pipe_context pair obtained by the usual means (variable and
54 function names are just for illustration purposes):
56 real_screen = real_screen_create(...);
58 real_context = real_context_create(...);
60 The trace screen and pipe_context is then created by doing
62 trace_screen = trace_screen_create(real_screen);
64 trace_context = trace_context_create(trace_screen, real_context);
66 You can then simply use trace_screen and trace_context instead of real_screen
69 Do not call trace_winsys_create. Simply pass trace_screen->winsys or
70 trace_context->winsys in places you would pass winsys.
72 You can create as many contexts you wish. Just ensure that you don't mistake
73 trace_screen with real_screen when creating them.
77 Jose Fonseca <jrfonseca@tungstengraphics.com>
78 Jakob Bornecrantz <jakob@vmware.com>