aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/driver_trace
diff options
context:
space:
mode:
authorJose Fonseca <[email protected]>2018-05-24 16:50:58 +0100
committerJose Fonseca <[email protected]>2018-06-04 21:06:31 +0100
commit8652ff7cdfe1d7b7aeb7974891a7c5cc7d5cc760 (patch)
treed9a1281e73a2016789652f31338de09a39c9bb51 /src/gallium/auxiliary/driver_trace
parenta9a79934412abedfb8eaf74aac2dbf52604509e0 (diff)
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 <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/driver_trace')
-rw-r--r--src/gallium/auxiliary/driver_trace/tr_context.c60
1 files changed, 42 insertions, 18 deletions
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;
}