summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/trace/tr_context.c
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-04-04 19:01:51 +0200
committerMichel Dänzer <daenzer@vmware.com>2009-04-04 19:01:51 +0200
commiteb168e26aa63f11a47d70c4555cae30691a2cd57 (patch)
tree8dcde608f562fc781027b4e0e21263f9f295e70e /src/gallium/drivers/trace/tr_context.c
parentba14b043bc1ab87e8e5e46e6e909a8def9535028 (diff)
gallium: Clean up driver clear() interface.
Only allows clearing currently bound buffers, but colour and depth/stencil in a single call.
Diffstat (limited to 'src/gallium/drivers/trace/tr_context.c')
-rw-r--r--src/gallium/drivers/trace/tr_context.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c
index b69ed2cb52..6e86a5dfdd 100644
--- a/src/gallium/drivers/trace/tr_context.c
+++ b/src/gallium/drivers/trace/tr_context.c
@@ -973,21 +973,26 @@ trace_context_surface_fill(struct pipe_context *_pipe,
static INLINE void
trace_context_clear(struct pipe_context *_pipe,
- struct pipe_surface *surface,
- unsigned clearValue)
+ unsigned surfaces,
+ const float *rgba,
+ double depth,
+ unsigned stencil)
{
struct trace_context *tr_ctx = trace_context(_pipe);
struct pipe_context *pipe = tr_ctx->pipe;
- surface = trace_surface_unwrap(tr_ctx, surface);
-
trace_dump_call_begin("pipe_context", "clear");
trace_dump_arg(ptr, pipe);
- trace_dump_arg(ptr, surface);
- trace_dump_arg(uint, clearValue);
-
- pipe->clear(pipe, surface, clearValue);;
+ trace_dump_arg(uint, surfaces);
+ trace_dump_arg(float, rgba[0]);
+ trace_dump_arg(float, rgba[1]);
+ trace_dump_arg(float, rgba[2]);
+ trace_dump_arg(float, rgba[3]);
+ trace_dump_arg(float, depth);
+ trace_dump_arg(uint, stencil);
+
+ pipe->clear(pipe, surfaces, rgba, depth, stencil);
trace_dump_call_end();
}