trace: Fix trace_context_transfer_unmap methods.
authorJose Fonseca <jfonseca@vmware.com>
Thu, 24 May 2018 15:50:58 +0000 (16:50 +0100)
committerJose Fonseca <jfonseca@vmware.com>
Mon, 4 Jun 2018 20:06:31 +0000 (21:06 +0100)
The emitted buffer_subdata/texture_subdata call didn't match the
respective signatures.

v2: Actually emit buffer_subdata call.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/auxiliary/driver_trace/tr_context.c

index 6d918d42a38af2f30010ce363fd765378dc01f0e..dc091aee2e9bc6dd37ae7013e6a52c39b179071b 100644 (file)
@@ -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;
    }