mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 21:00:16 +01:00
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> |
||
|---|---|---|
| .. | ||
| Makefile | ||
| README | ||
| SConscript | ||
| tr_context.c | ||
| tr_context.h | ||
| tr_dump.c | ||
| tr_dump.h | ||
| tr_dump_state.c | ||
| tr_dump_state.h | ||
| tr_public.h | ||
| tr_screen.c | ||
| tr_screen.h | ||
| tr_texture.c | ||
| tr_texture.h | ||
| trace.xsl | ||
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>