From 889238c8b1e6b8ac5eed30ec3122be94216ca7cf Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 31 Mar 2012 06:01:39 +0200 Subject: u_vbuf: override create/bind/destroy_vertex_elements_state --- src/gallium/drivers/r600/r600_blit.c | 2 +- src/gallium/drivers/r600/r600_pipe.h | 1 - src/gallium/drivers/r600/r600_state_common.c | 7 +------ 3 files changed, 2 insertions(+), 8 deletions(-) (limited to 'src/gallium/drivers/r600') diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index c748fca60c9..480bef1baab 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -55,7 +55,7 @@ static void r600_blitter_begin(struct pipe_context *ctx, enum r600_blitter_op op util_blitter_save_rasterizer(rctx->blitter, rctx->states[R600_PIPE_STATE_RASTERIZER]); util_blitter_save_fragment_shader(rctx->blitter, rctx->ps_shader); util_blitter_save_vertex_shader(rctx->blitter, rctx->vs_shader); - util_blitter_save_vertex_elements(rctx->blitter, rctx->vertex_elements); + util_blitter_save_vertex_elements(rctx->blitter, rctx->vbuf_mgr->vertex_elements); if (rctx->states[R600_PIPE_STATE_VIEWPORT]) { util_blitter_save_viewport(rctx->blitter, &rctx->viewport); } diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index dfc93d1ff70..c3f603c3255 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -167,7 +167,6 @@ struct r600_vertex_element { unsigned count; struct pipe_vertex_element elements[PIPE_MAX_ATTRIBS]; - struct u_vbuf_elements *vmgr_elements; struct r600_resource *fetch_shader; unsigned fs_size; struct r600_pipe_state rstate; diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 864996d006f..a6fb6b81d83 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -358,8 +358,6 @@ void r600_bind_vertex_elements(struct pipe_context *ctx, void *state) rctx->vertex_elements = v; if (v) { r600_inval_shader_cache(rctx); - u_vbuf_bind_vertex_elements(rctx->vbuf_mgr, state, - v->vmgr_elements); rctx->states[v->rstate.id] = &v->rstate; r600_context_pipe_state_set(rctx, &v->rstate); @@ -378,7 +376,6 @@ void r600_delete_vertex_element(struct pipe_context *ctx, void *state) rctx->vertex_elements = NULL; pipe_resource_reference((struct pipe_resource**)&v->fetch_shader, NULL); - u_vbuf_destroy_vertex_elements(rctx->vbuf_mgr, v->vmgr_elements); FREE(state); } @@ -416,9 +413,7 @@ void *r600_create_vertex_elements(struct pipe_context *ctx, return NULL; v->count = count; - v->vmgr_elements = - u_vbuf_create_vertex_elements(rctx->vbuf_mgr, count, - elements, v->elements); + memcpy(v->elements, elements, sizeof(struct pipe_vertex_element) * count); if (r600_vertex_elements_build_fetch_shader(rctx, v)) { FREE(v); -- cgit v1.2.3