summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-10-10 23:17:20 -0400
committerIlia Mirkin <[email protected]>2016-10-11 20:47:54 -0400
commit389d6dedbe75defe07216ad761569a9b94f44e58 (patch)
treedf612620f6fa13f34601ff2dff131a04d91ba223 /src/gallium
parentc3f3c6b0e836e55289abaf1f3bcda58eef92764c (diff)
trace: add invalidate_resource callback
Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/trace/tr_context.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c
index e833fb2de47..8423bb28c01 100644
--- a/src/gallium/drivers/trace/tr_context.c
+++ b/src/gallium/drivers/trace/tr_context.c
@@ -1635,6 +1635,26 @@ trace_context_texture_subdata(struct pipe_context *_context,
data, stride, layer_stride);
}
+static void
+trace_context_invalidate_resource(struct pipe_context *_context,
+ struct pipe_resource *_resource)
+{
+ struct trace_context *tr_context = trace_context(_context);
+ struct trace_resource *tr_res = trace_resource(_resource);
+ struct pipe_context *context = tr_context->pipe;
+ struct pipe_resource *resource = tr_res->resource;
+
+ assert(resource->screen == context->screen);
+
+ trace_dump_call_begin("pipe_context", "invalidate_resource");
+
+ trace_dump_arg(ptr, context);
+ trace_dump_arg(ptr, resource);
+
+ trace_dump_call_end();
+
+ context->invalidate_resource(context, resource);
+}
static void
trace_context_render_condition(struct pipe_context *_context,
@@ -1917,6 +1937,7 @@ trace_context_create(struct trace_screen *tr_scr,
TR_CTX_INIT(transfer_flush_region);
TR_CTX_INIT(buffer_subdata);
TR_CTX_INIT(texture_subdata);
+ TR_CTX_INIT(invalidate_resource);
#undef TR_CTX_INIT