Mesa (master): trace: Fix constant buffer unwrapping.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Mon Feb 15 00:25:55 UTC 2010


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Mon Feb 15 00:19:22 2010 +0000

trace: Fix constant buffer unwrapping.

Pointer unwrapping should happen before dump the pointer, so that
the real pipe driver pointers are shown, instead of the trace driver's.

---

 src/gallium/drivers/trace/tr_context.c |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c
index 879778b..df40fba 100644
--- a/src/gallium/drivers/trace/tr_context.c
+++ b/src/gallium/drivers/trace/tr_context.c
@@ -835,8 +835,10 @@ trace_context_set_constant_buffer(struct pipe_context *_pipe,
    struct trace_context *tr_ctx = trace_context(_pipe);
    struct pipe_context *pipe = tr_ctx->pipe;
 
-   if (buffer)
+   if (buffer) {
       trace_screen_user_buffer_update(_pipe->screen, buffer);
+      buffer = trace_buffer_unwrap(tr_ctx, buffer);
+   }
 
    trace_dump_call_begin("pipe_context", "set_constant_buffer");
 
@@ -845,14 +847,7 @@ trace_context_set_constant_buffer(struct pipe_context *_pipe,
    trace_dump_arg(uint, index);
    trace_dump_arg(ptr, buffer);
 
-   /* XXX hmm? */
-   if (buffer) {
-      struct pipe_buffer *_buffer;
-      _buffer = trace_buffer_unwrap(tr_ctx, buffer);
-      pipe->set_constant_buffer(pipe, shader, index, _buffer);
-   } else {
-      pipe->set_constant_buffer(pipe, shader, index, buffer);
-   }
+   pipe->set_constant_buffer(pipe, shader, index, buffer);
 
    trace_dump_call_end();
 }




More information about the mesa-commit mailing list