r300: set proper vertex index limits also in non indexed mode
authorMaciej Cencora <m.cencora@gmail.com>
Fri, 9 Apr 2010 19:14:15 +0000 (21:14 +0200)
committerMaciej Cencora <m.cencora@gmail.com>
Sun, 11 Apr 2010 11:41:38 +0000 (13:41 +0200)
Fixes #27521, broken menus in UT2004 and broken water refraction in Sauerbraten.

src/mesa/drivers/dri/r300/r300_render.c

index 959613148631c80db4f166ab22a5bdff6ea6ac23..11eafd3aeea5f25d59da21ad5e92ddec727548d0 100644 (file)
@@ -386,6 +386,14 @@ void r300RunRenderPrimitive(GLcontext * ctx, int start, int end, int prim)
                        WARN_ONCE("Fixme: can't handle spliting prim %d\n", prim);
                        return;
                }
+
+               if (rmesa->radeon.radeonScreen->kernel_mm) {
+                       BEGIN_BATCH_NO_AUTOSTATE(2);
+                       OUT_BATCH_REGSEQ(R300_VAP_VF_MAX_VTX_INDX, 1);
+                       OUT_BATCH(rmesa->radeon.tcl.aos[0].count);
+                       END_BATCH();
+               }
+
                r300_emit_scissor(rmesa->radeon.glCtx);
                while (num_verts > 0) {
                        int nr;