From 249c6735dd5679be9f6ab8951982253919152985 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 29 Jun 2010 15:18:58 -0600 Subject: [PATCH] llvmpipe: restore call to lp_setup_update_state() This undoes part of commit 8be645d53a0d5d0ca50e4e9597043225e2231b6d and fixes fd.o bug 28822 as well as other regressions. The 'draw' module may issue additional state-change commands while we're inside the draw_arrays/elements() call so it's important to check for updated state at this point. --- src/gallium/drivers/llvmpipe/lp_setup_vbuf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c index e53a62cb729..51948f5bf29 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c @@ -60,6 +60,12 @@ static const struct vertex_info * lp_setup_get_vertex_info(struct vbuf_render *vbr) { struct lp_setup_context *setup = lp_setup_context(vbr); + + /* Vertex size/info depends on the latest state. + * The draw module may have issued additional state-change commands. + */ + lp_setup_update_state(setup); + return setup->vertex_info; } -- 2.30.2