cdcd8d2b4be9b8ee5eb6508433ee74e34aa75de0
[mesa.git] / src / gallium / drivers / trace / README
1 TRACE PIPE DRIVER
2
3
4 = About =
5
6 This directory contains a Gallium3D trace debugger pipe driver.
7 It can traces all incoming calls.
8
9
10 = Build Instructions =
11
12 To build, invoke scons on the top dir as
13
14 scons dri=no statetrackers=mesa winsys=xlib
15
16
17 = Usage =
18
19 To use do
20
21 export LD_LIBRARY_PATH=$PWD/build/linux-x86-debug/lib
22
23 ensure the right libGL.so is being picked by doing
24
25 ldd progs/trivial/tri
26
27 == Tracing ==
28
29 For tracing then do
30
31 GALLIUM_TRACE=tri.trace progs/trivial/tri
32
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.
36
37 == Remote debugging ==
38
39 For remote debugging see:
40
41 src/gallium/drivers/rbug/README
42
43 = Integrating =
44
45 You can integrate the trace pipe driver either inside the state tracker or the
46 target. The procedure on both cases is the same. Let's assume you have a
47 pipe_screen obtained by the usual means (variable and function names are just
48 for illustration purposes):
49
50 real_screen = real_screen_create(...);
51
52 The trace screen is then created by doing
53
54 trace_screen = trace_screen_create(real_screen);
55
56 You can then simply use trace_screen instead of real_screen.
57
58 You can create as many contexts you wish from trace_screen::context_create they
59 are automatically wrapped by trace_screen.
60
61
62 --
63 Jose Fonseca <jrfonseca@tungstengraphics.com>
64 Jakob Bornecrantz <jakob@vmware.com>