struct pipe_transfer **transfer)
{
struct trace_context *tr_context = trace_context(_context);
- struct pipe_context *context = tr_context->pipe;
- struct pipe_transfer *result = NULL;
+ struct pipe_context *pipe = tr_context->pipe;
+ struct pipe_transfer *xfer = NULL;
void *map;
- /*
- * Map and transfers can't be serialized so we convert all write transfers
- * to texture/buffer_subdata and ignore read transfers.
- */
-
if (resource->target == PIPE_BUFFER)
- map = context->buffer_map(context, resource, level, usage, box, &result);
+ map = pipe->buffer_map(pipe, resource, level, usage, box, &xfer);
else
- map = context->texture_map(context, resource, level, usage, box, &result);
+ map = pipe->texture_map(pipe, resource, level, usage, box, &xfer);
if (!map)
return NULL;
+ *transfer = trace_transfer_create(tr_context, resource, xfer);
+ trace_dump_call_begin("pipe_context", resource->target == PIPE_BUFFER ? "buffer_map" : "texture_map");
- *transfer = trace_transfer_create(tr_context, resource, result);
+ trace_dump_arg(ptr, pipe);
+ trace_dump_arg(ptr, resource);
+ trace_dump_arg(uint, level);
+ trace_dump_arg(uint, usage);
+ trace_dump_arg(box, box);
+
+ trace_dump_arg(ptr, xfer);
+ trace_dump_ret(ptr, map);
+
+ trace_dump_call_end();
if (map) {
if (usage & PIPE_MAP_WRITE) {
{
struct trace_context *tr_context = trace_context(_context);
struct trace_transfer *tr_transfer = trace_transfer(_transfer);
- struct pipe_context *context = tr_context->pipe;
+ struct pipe_context *pipe = tr_context->pipe;
struct pipe_transfer *transfer = tr_transfer->transfer;
- context->transfer_flush_region(context, transfer, box);
+ trace_dump_call_begin("pipe_context", "transfer_flush_region");
+
+ trace_dump_arg(ptr, pipe);
+ trace_dump_arg(ptr, transfer);
+ trace_dump_arg(box, box);
+
+ trace_dump_call_end();
+
+ pipe->transfer_flush_region(pipe, transfer, box);
}
static void
struct pipe_context *context = tr_ctx->pipe;
struct pipe_transfer *transfer = tr_trans->transfer;
+
+ trace_dump_call_begin("pipe_context", "transfer_unmap");
+
+ trace_dump_arg(ptr, context);
+ trace_dump_arg(ptr, transfer);
+
+ trace_dump_call_end();
+
if (tr_trans->map) {
/*
* Fake a texture/buffer_subdata