st/mesa: Always recalculate invalid index bounds.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Fri, 12 Mar 2010 10:51:40 +0000 (02:51 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Fri, 12 Mar 2010 10:54:10 +0000 (02:54 -0800)
These should always be sanitized before heading towards the pipe driver,
and if the calling function explicitly marked them as invalid, we need
to regenerate them.

Allows r300g to properly pass a bit more of Wine's d3d9 testing without
dropping stuff on the floor.

src/mesa/state_tracker/st_draw.c

index 8b01272..d81b361 100644 (file)
@@ -542,9 +542,9 @@ st_draw_vbo(GLcontext *ctx,
    assert(ctx->NewState == 0x0);
 
    /* Gallium probably doesn't want this in some cases. */
-   if (!index_bounds_valid)
-      if (!vbo_all_varyings_in_vbos(arrays))
-        vbo_get_minmax_index(ctx, prims, ib, &min_index, &max_index);
+   if (index_bounds_valid != GL_TRUE) {
+      vbo_get_minmax_index(ctx, prims, ib, &min_index, &max_index);
+   }
 
    /* sanity check for pointer arithmetic below */
    assert(sizeof(arrays[0]->Ptr[0]) == 1);