101e04c3fSmrg                              RBUG PIPE DRIVER
201e04c3fSmrg
301e04c3fSmrg
401e04c3fSmrg= About =
501e04c3fSmrg
601e04c3fSmrgThis directory contains a Gallium3D remote debugger pipe driver.
701e04c3fSmrgIt provides remote debugging functionality.
801e04c3fSmrg
901e04c3fSmrg
1001e04c3fSmrg= Usage =
1101e04c3fSmrg
1201e04c3fSmrgDo
1301e04c3fSmrg
1401e04c3fSmrg   GALLIUM_RBUG=true progs/trivial/tri
1501e04c3fSmrg
1601e04c3fSmrgwhich should open gallium remote debugging session. While the program is running
1701e04c3fSmrgyou can launch the small remote debugging application from progs/rbug. More
1801e04c3fSmrginformation is in that directory. Also for a gui see:
1901e04c3fSmrg
2001e04c3fSmrg   http://cgit.freedesktop.org/mesa/rbug-gui
2101e04c3fSmrg
2201e04c3fSmrg
2301e04c3fSmrg= Integrating =
2401e04c3fSmrg
257ec681f3SmrgYou can integrate the rbug pipe driver either inside the gallium frontend or the 
2601e04c3fSmrgtarget. The procedure on both cases is the same. Let's assume you have a 
2701e04c3fSmrgpipe_screen obtained by the usual means (variable and function names are just
2801e04c3fSmrgfor illustration purposes):
2901e04c3fSmrg
3001e04c3fSmrg  real_screen = real_screen_create(...);
3101e04c3fSmrg
3201e04c3fSmrgThe rbug screen is then created by doing
3301e04c3fSmrg
3401e04c3fSmrg  rbug_screen = rbug_screen_create(real_screen);
3501e04c3fSmrg
3601e04c3fSmrgYou can then simply use rbug_screen instead of real_screen.
3701e04c3fSmrg
3801e04c3fSmrgYou can create as many contexts you wish from rbug_screen::context_create they
3901e04c3fSmrgare automatically wrapped by rbug_screen.
4001e04c3fSmrg
4101e04c3fSmrg
4201e04c3fSmrg--
4301e04c3fSmrgJose Fonseca <jfonseca@vmware.com>
4401e04c3fSmrgJakob Bornecrantz <jakob@vmware.com>
45