Merge branch 'mesa_7_5_branch'
[mesa.git] / src / gallium / drivers / trace / tr_screen.c
index bc14248eebba7e631b45cdc9d27bd80a8eb6a13f..920f418ebf0665a0a3bcb4b1998c683ce6825c41 100644 (file)
@@ -826,24 +826,26 @@ trace_screen_destroy(struct pipe_screen *_screen)
    trace_dump_call_end();
    trace_dump_trace_end();
 
+   if (tr_scr->rbug)
+      trace_rbug_stop(tr_scr->rbug);
+
    screen->destroy(screen);
 
    FREE(tr_scr);
 }
 
-
 boolean
 trace_enabled(void)
 {
    return trace;
 }
 
-
 struct pipe_screen *
 trace_screen_create(struct pipe_screen *screen)
 {
    struct trace_screen *tr_scr;
    struct pipe_winsys *winsys;
+   boolean rbug = FALSE;
 
    if(!screen)
       goto error1;
@@ -855,6 +857,11 @@ trace_screen_create(struct pipe_screen *screen)
       trace = TRUE;
    }
 
+   if (debug_get_bool_option("GALLIUM_RBUG", FALSE)) {
+      trace = TRUE;
+      rbug = TRUE;
+   }
+
    if (!trace)
       goto error1;
 
@@ -915,6 +922,9 @@ trace_screen_create(struct pipe_screen *screen)
    trace_dump_ret(ptr, screen);
    trace_dump_call_end();
 
+   if (rbug)
+      tr_scr->rbug = trace_rbug_start(tr_scr);
+
    return &tr_scr->base;
 
 #if 0