mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
trace: add support for set_shader_buffers
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1) v1 -> v2: add arg_begin/arg_end around buffer array Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
parent
fea25db925
commit
ae725d5746
3 changed files with 60 additions and 0 deletions
|
|
@ -1578,6 +1578,45 @@ static void trace_context_set_tess_state(struct pipe_context *_context,
|
|||
}
|
||||
|
||||
|
||||
static void trace_context_set_shader_buffers(struct pipe_context *_context,
|
||||
unsigned shader,
|
||||
unsigned start, unsigned nr,
|
||||
struct pipe_shader_buffer *buffers)
|
||||
{
|
||||
struct trace_context *tr_context = trace_context(_context);
|
||||
struct pipe_context *context = tr_context->pipe;
|
||||
struct pipe_shader_buffer *_buffers = NULL;
|
||||
|
||||
trace_dump_call_begin("pipe_context", "set_shader_buffers");
|
||||
trace_dump_arg(ptr, context);
|
||||
trace_dump_arg(uint, shader);
|
||||
trace_dump_arg(uint, start);
|
||||
trace_dump_arg_begin("buffers");
|
||||
trace_dump_struct_array(shader_buffer, buffers, nr);
|
||||
trace_dump_arg_end();
|
||||
trace_dump_call_end();
|
||||
|
||||
if (buffers) {
|
||||
int i;
|
||||
|
||||
_buffers = MALLOC(nr * sizeof(struct pipe_shader_buffer));
|
||||
if (!_buffers)
|
||||
return;
|
||||
|
||||
for (i = 0; i < nr; i++) {
|
||||
_buffers[i] = buffers[i];
|
||||
_buffers[i].buffer = trace_resource_unwrap(
|
||||
tr_context, _buffers[i].buffer);
|
||||
}
|
||||
}
|
||||
|
||||
context->set_shader_buffers(context, shader, start, nr, _buffers);
|
||||
|
||||
if (_buffers)
|
||||
FREE(_buffers);
|
||||
}
|
||||
|
||||
|
||||
static const struct debug_named_value rbug_blocker_flags[] = {
|
||||
{"before", 1, NULL},
|
||||
{"after", 2, NULL},
|
||||
|
|
@ -1675,6 +1714,7 @@ trace_context_create(struct trace_screen *tr_scr,
|
|||
TR_CTX_INIT(texture_barrier);
|
||||
TR_CTX_INIT(memory_barrier);
|
||||
TR_CTX_INIT(set_tess_state);
|
||||
TR_CTX_INIT(set_shader_buffers);
|
||||
|
||||
TR_CTX_INIT(transfer_map);
|
||||
TR_CTX_INIT(transfer_unmap);
|
||||
|
|
|
|||
|
|
@ -688,6 +688,24 @@ void trace_dump_constant_buffer(const struct pipe_constant_buffer *state)
|
|||
}
|
||||
|
||||
|
||||
void trace_dump_shader_buffer(const struct pipe_shader_buffer *state)
|
||||
{
|
||||
if (!trace_dumping_enabled_locked())
|
||||
return;
|
||||
|
||||
if(!state) {
|
||||
trace_dump_null();
|
||||
return;
|
||||
}
|
||||
|
||||
trace_dump_struct_begin("pipe_shader_buffer");
|
||||
trace_dump_member(resource_ptr, state, buffer);
|
||||
trace_dump_member(uint, state, buffer_offset);
|
||||
trace_dump_member(uint, state, buffer_size);
|
||||
trace_dump_struct_end();
|
||||
}
|
||||
|
||||
|
||||
void trace_dump_draw_info(const struct pipe_draw_info *state)
|
||||
{
|
||||
if (!trace_dumping_enabled_locked())
|
||||
|
|
|
|||
|
|
@ -78,6 +78,8 @@ void trace_dump_vertex_element(const struct pipe_vertex_element *state);
|
|||
|
||||
void trace_dump_constant_buffer(const struct pipe_constant_buffer *state);
|
||||
|
||||
void trace_dump_shader_buffer(const struct pipe_shader_buffer *buffer);
|
||||
|
||||
void trace_dump_draw_info(const struct pipe_draw_info *state);
|
||||
|
||||
void trace_dump_blit_info(const struct pipe_blit_info *);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue