i965: Fix many of the trivial WebGL demos that broke due to IB optimization.
authorEric Anholt <eric@anholt.net>
Fri, 22 Jul 2011 17:56:10 +0000 (10:56 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 25 Jul 2011 20:47:18 +0000 (13:47 -0700)
The index buffer state emit only occurred if there was an IB in place
and we were in either a new batch or a new IB state.  But because we
only flagged new IB state if IB state changed from the last IB state
we calculated, we could simply never emit IB state after batchbuffer
wraps if the first draw didn't use the IB and we didn't actually
change the IB.

Fixes piglit glx-multi-context-ib-1.

src/mesa/drivers/dri/i965/brw_vtbl.c

index 55dbd4fa8b0656e2b75efa5dd0e80e7300fe4c09..40360b23fff9562f23e8fdb20f303e9637c0875d 100644 (file)
@@ -213,6 +213,7 @@ static void brw_new_batch( struct intel_context *intel )
    brw->state_batch_count = 0;
 
    brw->vb.nr_current_buffers = 0;
+   brw->ib.type = -1;
 
    /* Mark that the current program cache BO has been used by the GPU.
     * It will be reallocated if we need to put new programs in for the