From efe5829578083d26f6dbac37f960a61e5915c91e Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Sun, 7 Feb 2016 23:27:48 +0100 Subject: [PATCH] trace: add missing pipe_context::clear_texture() This fixes a crash with bin/arb_clear_texture-base-formats and probably some other tests which use clear_texture(). Signed-off-by: Samuel Pitoiset Reviewed-by: Ilia Mirkin --- src/gallium/drivers/trace/tr_context.c | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 066a0ee3d5c..2ce2b3aef75 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -1279,6 +1279,33 @@ trace_context_clear_depth_stencil(struct pipe_context *_pipe, trace_dump_call_end(); } +static inline void +trace_context_clear_texture(struct pipe_context *_pipe, + struct pipe_resource *res, + unsigned level, + const struct pipe_box *box, + const void *data) +{ + struct trace_context *tr_ctx = trace_context(_pipe); + struct pipe_context *pipe = tr_ctx->pipe; + + res = trace_resource_unwrap(tr_ctx, res); + + trace_dump_call_begin("pipe_context", "clear_texture"); + + trace_dump_arg(ptr, pipe); + trace_dump_arg(ptr, res); + trace_dump_arg(uint, level); + trace_dump_arg_begin("box"); + trace_dump_box(box); + trace_dump_arg_end(); + trace_dump_arg(ptr, data); + + pipe->clear_texture(pipe, res, level, box, data); + + trace_dump_call_end(); +} + static inline void trace_context_flush(struct pipe_context *_pipe, struct pipe_fence_handle **fence, @@ -1704,6 +1731,7 @@ trace_context_create(struct trace_screen *tr_scr, TR_CTX_INIT(clear); TR_CTX_INIT(clear_render_target); TR_CTX_INIT(clear_depth_stencil); + TR_CTX_INIT(clear_texture); TR_CTX_INIT(flush); TR_CTX_INIT(generate_mipmap); TR_CTX_INIT(texture_barrier); -- 2.30.2