Mesa (master): trace: Export enabled status

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Sat May 16 00:52:26 UTC 2009


Module: Mesa
Branch: master
Commit: f04c38fa1fab0fe640b89d0de82fa44e2ee984a9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f04c38fa1fab0fe640b89d0de82fa44e2ee984a9

Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Sat May 16 01:49:11 2009 +0100

trace: Export enabled status

---

 src/gallium/drivers/trace/Makefile     |    2 +-
 src/gallium/drivers/trace/tr_context.c |    2 +-
 src/gallium/drivers/trace/tr_screen.c  |   23 ++++++++++++++++-------
 src/gallium/drivers/trace/tr_screen.h  |    7 +++++++
 4 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/trace/Makefile b/src/gallium/drivers/trace/Makefile
index 94be0bf..ecb69fb 100644
--- a/src/gallium/drivers/trace/Makefile
+++ b/src/gallium/drivers/trace/Makefile
@@ -8,8 +8,8 @@ C_SOURCES = \
 	tr_context.c \
 	tr_dump.c \
 	tr_dump_state.c \
-	tr_state.c \
 	tr_screen.c \
+	tr_state.c \
 	tr_texture.c
 
 include ../../Makefile.template
diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c
index e51af24..a416628 100644
--- a/src/gallium/drivers/trace/tr_context.c
+++ b/src/gallium/drivers/trace/tr_context.c
@@ -1124,7 +1124,7 @@ trace_context_create(struct pipe_screen *_screen,
    if(!pipe)
       goto error1;
 
-   if(!trace_dump_trace_enabled())
+   if(!trace_enabled())
       goto error1;
 
    tr_scr = trace_screen(_screen);
diff --git a/src/gallium/drivers/trace/tr_screen.c b/src/gallium/drivers/trace/tr_screen.c
index 58855a8..bc14248 100644
--- a/src/gallium/drivers/trace/tr_screen.c
+++ b/src/gallium/drivers/trace/tr_screen.c
@@ -37,6 +37,8 @@
 #include "pipe/p_inlines.h"
 
 
+static boolean trace = FALSE;
+
 static const char *
 trace_screen_get_name(struct pipe_screen *_screen)
 {
@@ -820,16 +822,20 @@ trace_screen_destroy(struct pipe_screen *_screen)
    struct pipe_screen *screen = tr_scr->screen;
 
    trace_dump_call_begin("pipe_screen", "destroy");
-
    trace_dump_arg(ptr, screen);
+   trace_dump_call_end();
+   trace_dump_trace_end();
 
    screen->destroy(screen);
 
-   trace_dump_call_end();
+   FREE(tr_scr);
+}
 
-   trace_dump_trace_end();
 
-   FREE(tr_scr);
+boolean
+trace_enabled(void)
+{
+   return trace;
 }
 
 
@@ -844,10 +850,13 @@ trace_screen_create(struct pipe_screen *screen)
 
    trace_dump_init();
 
-   if(!trace_dump_trace_begin())
-      goto error1;
+   if(trace_dump_trace_begin()) {
+      trace_dumping_start();
+      trace = TRUE;
+   }
 
-   trace_dumping_start();
+   if (!trace)
+      goto error1;
 
    trace_dump_call_begin("", "pipe_screen_create");
 
diff --git a/src/gallium/drivers/trace/tr_screen.h b/src/gallium/drivers/trace/tr_screen.h
index 59f2541..7fae182 100644
--- a/src/gallium/drivers/trace/tr_screen.h
+++ b/src/gallium/drivers/trace/tr_screen.h
@@ -71,6 +71,13 @@ struct trace_screen
 };
 
 
+/*
+ * tr_screen.c
+ */
+
+boolean
+trace_enabled(void);
+
 struct trace_screen *
 trace_screen(struct pipe_screen *screen);
 




More information about the mesa-commit mailing list