From: Jose Fonseca Date: Thu, 24 May 2018 15:50:58 +0000 (+0100) Subject: trace: Fix trace_context_transfer_unmap methods. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8652ff7cdfe1d7b7aeb7974891a7c5cc7d5cc760;p=mesa.git trace: Fix trace_context_transfer_unmap methods. The emitted buffer_subdata/texture_subdata call didn't match the respective signatures. v2: Actually emit buffer_subdata call. Reviewed-by: Roland Scheidegger --- diff --git a/src/gallium/auxiliary/driver_trace/tr_context.c b/src/gallium/auxiliary/driver_trace/tr_context.c index 6d918d42a38..dc091aee2e9 100644 --- a/src/gallium/auxiliary/driver_trace/tr_context.c +++ b/src/gallium/auxiliary/driver_trace/tr_context.c @@ -1430,35 +1430,59 @@ trace_context_transfer_unmap(struct pipe_context *_context, */ struct pipe_resource *resource = transfer->resource; - unsigned level = transfer->level; unsigned usage = transfer->usage; const struct pipe_box *box = &transfer->box; unsigned stride = transfer->stride; unsigned layer_stride = transfer->layer_stride; - if (resource->target == PIPE_BUFFER) + if (resource->target == PIPE_BUFFER) { + unsigned offset = box->x; + unsigned size = box->width; + trace_dump_call_begin("pipe_context", "buffer_subdata"); - else + + trace_dump_arg(ptr, context); + trace_dump_arg(ptr, resource); + trace_dump_arg(uint, usage); + trace_dump_arg(uint, offset); + trace_dump_arg(uint, size); + + trace_dump_arg_begin("data"); + trace_dump_box_bytes(tr_trans->map, + resource, + box, + stride, + layer_stride); + trace_dump_arg_end(); + + trace_dump_arg(uint, stride); + trace_dump_arg(uint, layer_stride); + + trace_dump_call_end(); + } else { + unsigned level = transfer->level; + trace_dump_call_begin("pipe_context", "texture_subdata"); - trace_dump_arg(ptr, context); - trace_dump_arg(ptr, resource); - trace_dump_arg(uint, level); - trace_dump_arg(uint, usage); - trace_dump_arg(box, box); + trace_dump_arg(ptr, context); + trace_dump_arg(ptr, resource); + trace_dump_arg(uint, level); + trace_dump_arg(uint, usage); + trace_dump_arg(box, box); - trace_dump_arg_begin("data"); - trace_dump_box_bytes(tr_trans->map, - resource, - box, - stride, - layer_stride); - trace_dump_arg_end(); + trace_dump_arg_begin("data"); + trace_dump_box_bytes(tr_trans->map, + resource, + box, + stride, + layer_stride); + trace_dump_arg_end(); - trace_dump_arg(uint, stride); - trace_dump_arg(uint, layer_stride); + trace_dump_arg(uint, stride); + trace_dump_arg(uint, layer_stride); - trace_dump_call_end(); + trace_dump_call_end(); + } tr_trans->map = NULL; }