rbug: Update and add READMEs

This commit is contained in:
Jakob Bornecrantz
2010-05-12 23:06:54 +01:00
parent 2ebe0277d4
commit 5d2e24fe18
3 changed files with 64 additions and 3 deletions

View File

@@ -15,7 +15,7 @@ To build, build a normal gallium build and from this directory do the following.
= Usage =
Make sure that you driver has trace integration, see
src/gallium/driver/trace/README for more information about that. Then from on
src/gallium/driver/rbug/README for more information about that. Then from on
the computer that you want to debug do:
export GALLIUM_RBUG=true
@@ -24,7 +24,10 @@ the computer that you want to debug do:
From the debugging computer launch apps form this directory. Currently ip
addresses are hardcoded and you need to edit the application, but that will
change in the future.
change in the future. For a more advanced gui application see:
http://cgit.freedesktop.org/mesa/rbug-gui
= Testing =

View File

@@ -10,7 +10,7 @@ The code currently uses tcp and ip4v for connections.
Information about driver integration can be found in:
src/gallium/drivers/trace/README
src/gallium/drivers/rbug/README
for information about applications look in:

View File

@@ -0,0 +1,58 @@
RBUG PIPE DRIVER
= About =
This directory contains a Gallium3D remote debugger pipe driver.
It provides remote debugging functionality.
= Build Instructions =
To build, invoke scons on the top dir as
scons dri=no statetrackers=mesa winsys=xlib
= Usage =
To use do
export LD_LIBRARY_PATH=$PWD/build/linux-x86-debug/lib
ensure the right libGL.so is being picked by doing
ldd progs/trivial/tri
export XMESA_TRACE=y
GALLIUM_RBUG=true progs/trivial/tri
which should open gallium remote debugging session. While the program is running
you can launch the small remote debugging application from progs/rbug. More
information is in that directory. Also for a gui see:
http://cgit.freedesktop.org/mesa/rbug-gui
= Integrating =
You can integrate the rbug pipe driver either inside the state tracker or the
target. The procedure on both cases is the same. Let's assume you have a
pipe_screen obtained by the usual means (variable and function names are just
for illustration purposes):
real_screen = real_screen_create(...);
The rbug screen is then created by doing
rbug_screen = rbug_screen_create(real_screen);
You can then simply use rbug_screen instead of real_screen.
You can create as many contexts you wish from rbug_screen::context_create they
are automatically wrapped by rbug_screen.
--
Jose Fonseca <jrfonseca@tungstengraphics.com>
Jakob Bornecrantz <jakob@vmware.com>