r300g: Forcibly sanitize max index.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 13 Mar 2010 02:13:18 +0000 (18:13 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 13 Mar 2010 02:13:18 +0000 (18:13 -0800)
Not perfect, but the kernel should shut up now.

src/gallium/drivers/r300/r300_render.c

index ef1b7510e186c177c9951cdc067fe84c688374ad..ccf39876a595860824b72abe168ae9ef95e3b84f 100644 (file)
@@ -274,14 +274,14 @@ static void r300_emit_draw_elements(struct r300_context *r300,
 #endif
     CS_LOCALS(r300);
 
-    assert((start * indexSize)  % 4 == 0);
+    assert((start * indexSize) % 4 == 0);
     assert(count < (1 << 24));
 
+    maxIndex = MIN3(maxIndex, r300->vertex_buffer_max_index, count - minIndex);
+
     DBG(r300, DBG_DRAW, "r300: Indexbuf of %u indices, min %u max %u\n",
         count, minIndex, maxIndex);
 
-    maxIndex = MIN3(maxIndex, r300->vertex_buffer_max_index, (1 << 24) - 1);
-
     if (alt_num_verts) {
         BEGIN_CS(15);
         OUT_CS_REG(R500_VAP_ALT_NUM_VERTICES, count);