diff options
Diffstat (limited to 'src/gallium')
| -rw-r--r-- | src/gallium/drivers/trace/tr_context.c | 9 | ||||
| -rw-r--r-- | src/gallium/drivers/trace/tr_screen.c | 3 | 
2 files changed, 7 insertions, 5 deletions
| diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 242a03ccb0..47a217ec7c 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -30,6 +30,7 @@  #include "tr_stream.h"  #include "tr_dump.h"  #include "tr_state.h" +#include "tr_winsys.h"  #include "tr_screen.h"  #include "tr_context.h" @@ -999,14 +1000,11 @@ trace_context_destroy(struct pipe_context *_pipe)  struct pipe_context *  trace_context_create(struct pipe_context *pipe)  { -   struct trace_screen *tr_scr;     struct trace_context *tr_ctx;     if(!debug_get_bool_option("GALLIUM_TRACE", FALSE))        return pipe; -   tr_scr = trace_screen(pipe->screen); -        tr_ctx = CALLOC_STRUCT(trace_context);     if(!tr_ctx)        return NULL; @@ -1058,8 +1056,9 @@ trace_context_create(struct pipe_context *pipe)     tr_ctx->pipe = pipe; -   /* We don't want to trace the pipe calls */ -   pipe->screen = tr_scr->screen; +   /* We don't want to trace the internal pipe calls */ +   pipe->winsys = trace_winsys(pipe->winsys)->winsys; +   pipe->screen = trace_screen(pipe->screen)->screen;     return &tr_ctx->base;  } diff --git a/src/gallium/drivers/trace/tr_screen.c b/src/gallium/drivers/trace/tr_screen.c index b40d56bcff..de885abae2 100644 --- a/src/gallium/drivers/trace/tr_screen.c +++ b/src/gallium/drivers/trace/tr_screen.c @@ -376,5 +376,8 @@ trace_screen_create(struct pipe_screen *screen)     if(!tr_scr->stream)        return NULL; +   /* We don't want to trace the internal pipe calls */ +   screen->winsys = trace_winsys(screen->winsys)->winsys; +     return &tr_scr->base;  } | 
