trace: Fix set_index_buffer and draw_vbo tracing.

This commit is contained in:
José Fonseca 2010-09-25 14:55:00 +01:00
parent 02b8fb3ed5
commit c7f33624f9
3 changed files with 42 additions and 19 deletions

View file

@ -92,15 +92,7 @@ trace_context_draw_vbo(struct pipe_context *_pipe,
trace_dump_call_begin("pipe_context", "draw_vbo");
trace_dump_arg(ptr, pipe);
trace_dump_arg(bool, info->indexed);
trace_dump_arg(uint, info->mode);
trace_dump_arg(uint, info->start);
trace_dump_arg(uint, info->count);
trace_dump_arg(uint, info->start_instance);
trace_dump_arg(uint, info->instance_count);
trace_dump_arg(int, info->index_bias);
trace_dump_arg(uint, info->min_index);
trace_dump_arg(uint, info->max_index);
trace_dump_arg(draw_info, info);
pipe->draw_vbo(pipe, info);
@ -987,24 +979,24 @@ trace_context_set_vertex_buffers(struct pipe_context *_pipe,
static INLINE void
trace_context_set_index_buffer(struct pipe_context *_pipe,
const struct pipe_index_buffer *_ib)
const struct pipe_index_buffer *ib)
{
struct trace_context *tr_ctx = trace_context(_pipe);
struct pipe_context *pipe = tr_ctx->pipe;
struct pipe_index_buffer unwrapped_ib, *ib = NULL;
if (_ib) {
unwrapped_ib = *_ib;
unwrapped_ib.buffer = trace_resource_unwrap(tr_ctx, _ib->buffer);
ib = &unwrapped_ib;
}
trace_dump_call_begin("pipe_context", "set_index_buffer");
trace_dump_arg(ptr, pipe);
trace_dump_arg(index_buffer, _ib);
trace_dump_arg(index_buffer, ib);
pipe->set_index_buffer(pipe, ib);
if (ib) {
struct pipe_index_buffer _ib;
_ib = *ib;
_ib.buffer = trace_resource_unwrap(tr_ctx, ib->buffer);
pipe->set_index_buffer(pipe, &_ib);
} else {
pipe->set_index_buffer(pipe, NULL);
}
trace_dump_call_end();
}

View file

@ -573,3 +573,32 @@ void trace_dump_vertex_element(const struct pipe_vertex_element *state)
trace_dump_struct_end();
}
void trace_dump_draw_info(const struct pipe_draw_info *state)
{
if (!trace_dumping_enabled_locked())
return;
if(!state) {
trace_dump_null();
return;
}
trace_dump_struct_begin("pipe_draw_info");
trace_dump_member(bool, state, indexed);
trace_dump_member(uint, state, mode);
trace_dump_member(uint, state, start);
trace_dump_member(uint, state, count);
trace_dump_member(uint, state, start_instance);
trace_dump_member(uint, state, instance_count);
trace_dump_member(int, state, index_bias);
trace_dump_member(uint, state, min_index);
trace_dump_member(uint, state, max_index);
trace_dump_struct_end();
}

View file

@ -79,5 +79,7 @@ void trace_dump_index_buffer(const struct pipe_index_buffer *state);
void trace_dump_vertex_element(const struct pipe_vertex_element *state);
void trace_dump_draw_info(const struct pipe_draw_info *state);
#endif /* TR_STATE_H */