From 369aca1b4a5dd9998fad4b660a8665a77ce4a02a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 11 Jan 2015 20:37:37 +0100 Subject: [PATCH] trace: implement new tessellation functions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Roland Scheidegger Signed-off-by: Marek Olšák --- src/gallium/drivers/trace/tr_context.c | 26 ++++++++++++++++++++++++++ src/gallium/drivers/trace/tr_dump_state.c | 2 ++ 2 files changed, 28 insertions(+) diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 0b56517..a1aeebd 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -553,6 +553,8 @@ trace_context_delete_depth_stencil_alpha_state(struct pipe_context *_pipe, TRACE_SHADER_STATE(fs) TRACE_SHADER_STATE(vs) TRACE_SHADER_STATE(gs) +TRACE_SHADER_STATE(tcs) +TRACE_SHADER_STATE(tes) #undef TRACE_SHADER_STATE @@ -1508,6 +1510,23 @@ static void trace_context_memory_barrier(struct pipe_context *_context, } +static void trace_context_set_tess_state(struct pipe_context *_context, + float default_outer_level[4], + float default_inner_level[2]) +{ + struct trace_context *tr_context = trace_context(_context); + struct pipe_context *context = tr_context->pipe; + + trace_dump_call_begin("pipe_context", "set_tess_state"); + trace_dump_arg(ptr, context); + trace_dump_arg_array(float, default_outer_level, 4); + trace_dump_arg_array(float, default_inner_level, 2); + trace_dump_call_end(); + + context->set_tess_state(context, default_outer_level, default_inner_level); +} + + static const struct debug_named_value rbug_blocker_flags[] = { {"before", 1, NULL}, {"after", 2, NULL}, @@ -1566,6 +1585,12 @@ trace_context_create(struct trace_screen *tr_scr, TR_CTX_INIT(create_gs_state); TR_CTX_INIT(bind_gs_state); TR_CTX_INIT(delete_gs_state); + TR_CTX_INIT(create_tcs_state); + TR_CTX_INIT(bind_tcs_state); + TR_CTX_INIT(delete_tcs_state); + TR_CTX_INIT(create_tes_state); + TR_CTX_INIT(bind_tes_state); + TR_CTX_INIT(delete_tes_state); TR_CTX_INIT(create_vertex_elements_state); TR_CTX_INIT(bind_vertex_elements_state); TR_CTX_INIT(delete_vertex_elements_state); @@ -1597,6 +1622,7 @@ trace_context_create(struct trace_screen *tr_scr, TR_CTX_INIT(flush); TR_CTX_INIT(texture_barrier); TR_CTX_INIT(memory_barrier); + TR_CTX_INIT(set_tess_state); TR_CTX_INIT(transfer_map); TR_CTX_INIT(transfer_unmap); diff --git a/src/gallium/drivers/trace/tr_dump_state.c b/src/gallium/drivers/trace/tr_dump_state.c index 7127338..9bf4a72 100644 --- a/src/gallium/drivers/trace/tr_dump_state.c +++ b/src/gallium/drivers/trace/tr_dump_state.c @@ -709,6 +709,8 @@ void trace_dump_draw_info(const struct pipe_draw_info *state) trace_dump_member(uint, state, start_instance); trace_dump_member(uint, state, instance_count); + trace_dump_member(uint, state, vertices_per_patch); + trace_dump_member(int, state, index_bias); trace_dump_member(uint, state, min_index); trace_dump_member(uint, state, max_index); -- 2.7.4