summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/trace/tr_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/trace/tr_context.c')
-rw-r--r--src/gallium/drivers/trace/tr_context.c142
1 files changed, 56 insertions, 86 deletions
diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c
index 47a217ec7c7..f82126370cf 100644
--- a/src/gallium/drivers/trace/tr_context.c
+++ b/src/gallium/drivers/trace/tr_context.c
@@ -40,8 +40,7 @@ trace_context_set_edgeflags(struct pipe_context *_pipe,
const unsigned *bitfield)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_edgeflags");
@@ -61,8 +60,7 @@ trace_context_draw_arrays(struct pipe_context *_pipe,
unsigned mode, unsigned start, unsigned count)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
boolean result;
@@ -90,8 +88,7 @@ trace_context_draw_elements(struct pipe_context *_pipe,
unsigned mode, unsigned start, unsigned count)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
boolean result;
@@ -125,8 +122,7 @@ trace_context_draw_range_elements(struct pipe_context *_pipe,
unsigned count)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
boolean result;
@@ -159,8 +155,7 @@ trace_context_create_query(struct pipe_context *_pipe,
unsigned query_type)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
struct pipe_query *result;
@@ -184,8 +179,7 @@ trace_context_destroy_query(struct pipe_context *_pipe,
struct pipe_query *query)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "destroy_query");
@@ -204,8 +198,7 @@ trace_context_begin_query(struct pipe_context *_pipe,
struct pipe_query *query)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "begin_query");
@@ -224,8 +217,7 @@ trace_context_end_query(struct pipe_context *_pipe,
struct pipe_query *query)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "end_query");
@@ -246,8 +238,7 @@ trace_context_get_query_result(struct pipe_context *_pipe,
uint64 *presult)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
uint64 result;
boolean _result;
@@ -273,8 +264,7 @@ trace_context_create_blend_state(struct pipe_context *_pipe,
const struct pipe_blend_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
void * result;
@@ -285,6 +275,8 @@ trace_context_create_blend_state(struct pipe_context *_pipe,
result = pipe->create_blend_state(pipe, state);;
+ trace_dump_ret(stream, ptr, result);
+
trace_dump_call_end(stream);
return result;
@@ -296,8 +288,7 @@ trace_context_bind_blend_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "bind_blend_state");
@@ -316,8 +307,7 @@ trace_context_delete_blend_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "delete_blend_state");
@@ -336,8 +326,7 @@ trace_context_create_sampler_state(struct pipe_context *_pipe,
const struct pipe_sampler_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
void * result;
@@ -361,8 +350,7 @@ trace_context_bind_sampler_states(struct pipe_context *_pipe,
unsigned num_states, void **states)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "bind_sampler_states");
@@ -382,8 +370,7 @@ trace_context_delete_sampler_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "delete_sampler_state");
@@ -402,8 +389,7 @@ trace_context_create_rasterizer_state(struct pipe_context *_pipe,
const struct pipe_rasterizer_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
void * result;
@@ -427,8 +413,7 @@ trace_context_bind_rasterizer_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "bind_rasterizer_state");
@@ -447,8 +432,7 @@ trace_context_delete_rasterizer_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "delete_rasterizer_state");
@@ -467,8 +451,7 @@ trace_context_create_depth_stencil_alpha_state(struct pipe_context *_pipe,
const struct pipe_depth_stencil_alpha_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
void * result;
@@ -476,8 +459,10 @@ trace_context_create_depth_stencil_alpha_state(struct pipe_context *_pipe,
result = pipe->create_depth_stencil_alpha_state(pipe, state);;
- trace_dump_ret(stream, ptr, result);
+ trace_dump_arg(stream, ptr, pipe);
trace_dump_arg(stream, depth_stencil_alpha_state, state);
+
+ trace_dump_ret(stream, ptr, result);
trace_dump_call_end(stream);
@@ -490,8 +475,7 @@ trace_context_bind_depth_stencil_alpha_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "bind_depth_stencil_alpha_state");
@@ -510,8 +494,7 @@ trace_context_delete_depth_stencil_alpha_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "delete_depth_stencil_alpha_state");
@@ -530,8 +513,7 @@ trace_context_create_fs_state(struct pipe_context *_pipe,
const struct pipe_shader_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
void * result;
@@ -555,8 +537,7 @@ trace_context_bind_fs_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "bind_fs_state");
@@ -575,8 +556,7 @@ trace_context_delete_fs_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "delete_fs_state");
@@ -595,8 +575,7 @@ trace_context_create_vs_state(struct pipe_context *_pipe,
const struct pipe_shader_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
void * result;
@@ -620,8 +599,7 @@ trace_context_bind_vs_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "bind_vs_state");
@@ -640,8 +618,7 @@ trace_context_delete_vs_state(struct pipe_context *_pipe,
void *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "delete_vs_state");
@@ -660,8 +637,7 @@ trace_context_set_blend_color(struct pipe_context *_pipe,
const struct pipe_blend_color *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_blend_color");
@@ -680,8 +656,7 @@ trace_context_set_clip_state(struct pipe_context *_pipe,
const struct pipe_clip_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_clip_state");
@@ -701,8 +676,7 @@ trace_context_set_constant_buffer(struct pipe_context *_pipe,
const struct pipe_constant_buffer *buffer)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_constant_buffer");
@@ -723,8 +697,7 @@ trace_context_set_framebuffer_state(struct pipe_context *_pipe,
const struct pipe_framebuffer_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_framebuffer_state");
@@ -743,8 +716,7 @@ trace_context_set_polygon_stipple(struct pipe_context *_pipe,
const struct pipe_poly_stipple *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_polygon_stipple");
@@ -763,8 +735,7 @@ trace_context_set_scissor_state(struct pipe_context *_pipe,
const struct pipe_scissor_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_scissor_state");
@@ -783,8 +754,7 @@ trace_context_set_viewport_state(struct pipe_context *_pipe,
const struct pipe_viewport_state *state)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_viewport_state");
@@ -804,8 +774,7 @@ trace_context_set_sampler_textures(struct pipe_context *_pipe,
struct pipe_texture **textures)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_sampler_textures");
@@ -826,8 +795,7 @@ trace_context_set_vertex_buffers(struct pipe_context *_pipe,
const struct pipe_vertex_buffer *buffers)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_vertex_buffers");
@@ -851,15 +819,13 @@ trace_context_set_vertex_elements(struct pipe_context *_pipe,
const struct pipe_vertex_element *elements)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "set_vertex_elements");
trace_dump_arg(stream, ptr, pipe);
trace_dump_arg(stream, uint, num_elements);
- trace_dump_arg(stream, ptr, elements);
trace_dump_arg_begin(stream, "elements");
trace_dump_struct_array(stream, vertex_element, elements, num_elements);
@@ -881,8 +847,7 @@ trace_context_surface_copy(struct pipe_context *_pipe,
unsigned width, unsigned height)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "surface_copy");
@@ -914,8 +879,7 @@ trace_context_surface_fill(struct pipe_context *_pipe,
unsigned value)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "surface_fill");
@@ -939,8 +903,7 @@ trace_context_clear(struct pipe_context *_pipe,
unsigned clearValue)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "clear");
@@ -961,8 +924,7 @@ trace_context_flush(struct pipe_context *_pipe,
struct pipe_fence_handle **fence)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "flush");
@@ -981,8 +943,7 @@ static INLINE void
trace_context_destroy(struct pipe_context *_pipe)
{
struct trace_context *tr_ctx = trace_context(_pipe);
- struct trace_screen *tr_scr = trace_screen(_pipe->screen);
- struct trace_stream *stream = tr_scr->stream;
+ struct trace_stream *stream = tr_ctx->stream;
struct pipe_context *pipe = tr_ctx->pipe;
trace_dump_call_begin(stream, "pipe_context", "destroy");
@@ -1000,6 +961,7 @@ trace_context_destroy(struct pipe_context *_pipe)
struct pipe_context *
trace_context_create(struct pipe_context *pipe)
{
+ struct trace_stream *stream;
struct trace_context *tr_ctx;
if(!debug_get_bool_option("GALLIUM_TRACE", FALSE))
@@ -1055,10 +1017,18 @@ trace_context_create(struct pipe_context *pipe)
tr_ctx->base.flush = trace_context_flush;
tr_ctx->pipe = pipe;
+ tr_ctx->stream = stream = trace_winsys(pipe->winsys)->stream;
/* We don't want to trace the internal pipe calls */
pipe->winsys = trace_winsys(pipe->winsys)->winsys;
pipe->screen = trace_screen(pipe->screen)->screen;
+ trace_dump_call_begin(stream, "", "pipe_context_create");
+ trace_dump_arg_begin(stream, "screen");
+ trace_dump_ptr(stream, pipe->screen);
+ trace_dump_arg_end(stream);
+ trace_dump_ret(stream, ptr, pipe);
+ trace_dump_call_end(stream);
+
return &tr_ctx->base;
}