diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-06-28 16:28:55 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-06-28 16:33:05 +0100 |
commit | 8be645d53a0d5d0ca50e4e9597043225e2231b6d (patch) | |
tree | d82cc87218c897005c966f8e181f65114c36e21b /src/gallium/drivers/llvmpipe/lp_setup_vbuf.c | |
parent | ce7a70b8b48a4dded9b1e29590b5101dacd56e0b (diff) |
llvmpipe: Ensure outdated framebuffer state is not reused in lp_setup_bind_framebuffer().
We were starting a scene whenever lp_setup_get_vertex_info() was called by
the draw module. So when when all primitives were culled/clipped, not only
did we create a new scene for nothing, but we end up using the old scene
with the old framebuffer state instead of a new one.
Fix consists in:
- don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no
longer necessary
- always setting the scene state before binning a command -- query
commands were bypassing it
- assert no old scene is reused in lp_setup_bind_framebuffer()
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup_vbuf.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup_vbuf.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c index f6a424f25a..e53a62cb72 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c @@ -60,10 +60,6 @@ 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 */ - lp_setup_update_state(setup); - return setup->vertex_info; } |