From 54773415f407678eb9728ac347cc8302e2d76c74 Mon Sep 17 00:00:00 2001 From: Jerome Glisse Date: Tue, 14 Dec 2010 13:50:46 -0500 Subject: r600g: fix segfault when translating vertex buffer Note the support for non float vertex draw likely regressed need to find what we want to do there. candidates for 7.10 branches Signed-off-by: Jerome Glisse --- src/gallium/drivers/r600/r600_state_common.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium/drivers/r600/r600_state_common.c') diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 1333808c66..99b372caac 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -119,6 +119,11 @@ void r600_bind_vertex_elements(struct pipe_context *ctx, void *state) struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_vertex_element *v = (struct r600_vertex_element*)state; + /* delete previous translated vertex elements */ + if (rctx->tran.new_velems) { + r600_end_vertex_translate(rctx); + } + rctx->vertex_elements = v; if (v) { rctx->states[v->rstate.id] = &v->rstate; -- cgit v1.2.3