Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa into r600_state_predict
authorPauli Nieminen <suokkos@gmail.com>
Mon, 24 Aug 2009 23:36:13 +0000 (02:36 +0300)
committerPauli Nieminen <suokkos@gmail.com>
Mon, 24 Aug 2009 23:36:13 +0000 (02:36 +0300)
1  2 
src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/r300/r300_context.h
src/mesa/drivers/dri/r600/r700_render.c

index 9b0b5443d6aeb5a37f168023a119ddcf34abe556,cdf3220a7f36df089db84467425e512382c38f01..d64e921bdad8bee72ffea85700e0d2efe9d59b7a
@@@ -343,10 -308,20 +343,17 @@@ static GLboolean r700RunRender(GLcontex
      struct vertex_buffer *vb = &tnl->vb;
      struct radeon_renderbuffer *rrb;
  
 -    for (i = 0; i < vb->PrimitiveCount; i++)
 -          ind_count += vb->Primitive[i].count + 10;
 -
 -    /* just an estimate, need to properly calculate this */
 -    rcommonEnsureCmdBufSpace(&context->radeon,
 -                           radeon->hw.max_state_size + ind_count, __FUNCTION__);
 +    if (RADEON_DEBUG & DEBUG_PRIMS)
 +        fprintf(stderr, "%s: cs begin at %d\n",
 +                __func__, context->radeon.cmdbuf.cs->cdw);
  
+     /* always emit CB base to prevent
+      * lock ups on some chips.
+      */
+     R600_STATECHANGE(context, cb_target);
+     /* mark vtx as dirty since it changes per-draw */
+     R600_STATECHANGE(context, vtx);
      r700UpdateShaders(ctx);
      r700SetScissor(context);
      r700SetupVertexProgram(ctx);