summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-06-29 15:18:58 -0600
committerBrian Paul <brianp@vmware.com>2010-06-29 15:19:01 -0600
commit249c6735dd5679be9f6ab8951982253919152985 (patch)
tree79098a417aed6fcf883999ec487d819ec3abd1b3 /src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
parent172f3f5eac62fafcd0d97a9859eb2049b1e18424 (diff)
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.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup_vbuf.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_vbuf.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
index e53a62cb72..51948f5bf2 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;
}