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.
This commit is contained in:
José Fonseca
2010-02-15 00:19:22 +00:00
parent d70c769075
commit 1fc94ab3df
+4 -9
View File
@@ -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();
}