X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fddebug%2Fdd_context.c;h=8260d4f8692809bfb537a9ca0a2f62a33db53cdf;hb=9fd68be13333140767822c5f5149956333b726e0;hp=f9d3de5155a56343a84696301bb41f2390ae2b2d;hpb=0e1c75acae530b8386d0f6529ea1c78daaf8d412;p=mesa.git diff --git a/src/gallium/drivers/ddebug/dd_context.c b/src/gallium/drivers/ddebug/dd_context.c index f9d3de5155a..8260d4f8692 100644 --- a/src/gallium/drivers/ddebug/dd_context.c +++ b/src/gallium/drivers/ddebug/dd_context.c @@ -150,6 +150,21 @@ dd_context_get_query_result(struct pipe_context *_pipe, return pipe->get_query_result(pipe, dd_query_unwrap(query), wait, result); } +static void +dd_context_get_query_result_resource(struct pipe_context *_pipe, + struct pipe_query *query, + boolean wait, + enum pipe_query_value_type result_type, + int index, + struct pipe_resource *resource, + unsigned offset) +{ + struct pipe_context *pipe = dd_context(_pipe)->pipe; + + pipe->get_query_result_resource(pipe, dd_query_unwrap(query), wait, + result_type, index, resource, offset); +} + static void dd_context_set_active_query_state(struct pipe_context *_pipe, boolean enable) { @@ -338,6 +353,8 @@ dd_context_create_compute_state(struct pipe_context *_pipe, return NULL; hstate->cso = pipe->create_compute_state(pipe, state); + hstate->state.shader.type = state->ir_type; + if (state->ir_type == PIPE_SHADER_IR_TGSI) hstate->state.shader.tokens = tgsi_dup_tokens(state->prog); @@ -560,17 +577,6 @@ dd_context_set_vertex_buffers(struct pipe_context *_pipe, pipe->set_vertex_buffers(pipe, start, num_buffers, buffers); } -static void -dd_context_set_index_buffer(struct pipe_context *_pipe, - const struct pipe_index_buffer *ib) -{ - struct dd_context *dctx = dd_context(_pipe); - struct pipe_context *pipe = dctx->pipe; - - safe_memcpy(&dctx->draw_state.index_buffer, ib, sizeof(*ib)); - pipe->set_index_buffer(pipe, ib); -} - static void dd_context_set_stream_output_targets(struct pipe_context *_pipe, unsigned num_targets, @@ -785,6 +791,7 @@ dd_context_create(struct dd_screen *dscreen, struct pipe_context *pipe) CTX_INIT(begin_query); CTX_INIT(end_query); CTX_INIT(get_query_result); + CTX_INIT(get_query_result_resource); CTX_INIT(set_active_query_state); CTX_INIT(create_blend_state); CTX_INIT(bind_blend_state); @@ -834,7 +841,6 @@ dd_context_create(struct dd_screen *dscreen, struct pipe_context *pipe) CTX_INIT(set_shader_buffers); CTX_INIT(set_shader_images); CTX_INIT(set_vertex_buffers); - CTX_INIT(set_index_buffer); CTX_INIT(create_stream_output_target); CTX_INIT(stream_output_target_destroy); CTX_INIT(set_stream_output_targets);