From 8be645d53a0d5d0ca50e4e9597043225e2231b6d Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Mon, 28 Jun 2010 16:28:55 +0100 Subject: 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() --- src/gallium/drivers/llvmpipe/lp_setup_vbuf.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src/gallium/drivers/llvmpipe/lp_setup_vbuf.c') 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; } -- cgit v1.2.3