mesa/src/gallium/drivers/trace
Alex Corscadden ce3a07c392 trace: Don't immediately destroy the pipe's sampler view in the trace driver.
The trace driver's implementation of sampler_view_destroy was calling
directly into the underlying pipe's sampler_view_destroy implementation.
This causes problems for pipes that keep references to sampler views
even after the state tracker has released them.  Instead, we'll simply
drop the trace driver's reference to the pipe's sampler view.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-21 09:45:43 +01:00
..
Makefile gallium: Remove drm_api and all references to it 2010-06-24 02:15:50 +02:00
README trace: Update README 2010-05-12 23:07:17 +01:00
SConscript gallium: Remove drm_api and all references to it 2010-06-24 02:15:50 +02:00
tr_context.c trace: Don't immediately destroy the pipe's sampler view in the trace driver. 2010-08-21 09:45:43 +01:00
tr_context.h trace: Remove rbug from trace 2010-05-12 20:15:23 +01:00
tr_dump.c trace: Handle transfers with zero strides correctly. 2010-04-18 10:36:28 +02:00
tr_dump.h gallium: remove forward declarations of non-existent objects 2010-05-14 19:00:56 +02:00
tr_dump_state.c gallium: Implement draw_vbo and set_index_buffer for all drivers. 2010-07-29 13:45:30 +08:00
tr_dump_state.h gallium: Implement draw_vbo and set_index_buffer for all drivers. 2010-07-29 13:45:30 +08:00
tr_public.h rbug: Add to all targets that link against trace 2010-05-12 20:15:23 +01:00
tr_screen.c Merge branch 'gallium-msaa' 2010-05-21 20:02:22 +02:00
tr_screen.h rbug: Add to all targets that link against trace 2010-05-12 20:15:23 +01:00
tr_texture.c trace: Remove rbug from trace 2010-05-12 20:15:23 +01:00
tr_texture.h Squashed commit of the following: 2010-04-10 16:05:54 +01:00
trace.xsl trace: Number calls. 2009-03-25 21:04:05 +00:00

                             TRACE PIPE DRIVER


= About =

This directory contains a Gallium3D trace debugger pipe driver.
It can traces all incoming calls.


= 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 

== Tracing ==

For tracing then do

 GALLIUM_TRACE=tri.trace progs/trivial/tri

which should create a tri.trace file, which is an XML file. You can view copying 
trace.xsl to the same directory, and opening with a XSLT capable browser such as 
Firefox or Internet Explorer.

== Remote debugging ==

For remote debugging see:

  src/gallium/drivers/rbug/README

= Integrating =

You can integrate the trace 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 trace screen is then created by doing

  trace_screen = trace_screen_create(real_screen);

You can then simply use trace_screen instead of real_screen.

You can create as many contexts you wish from trace_screen::context_create they
are automatically wrapped by trace_screen.


--
Jose Fonseca <jrfonseca@tungstengraphics.com>
Jakob Bornecrantz <jakob@vmware.com>