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 8b01272caeb5446fdc6db2b827073ac2d6dbe767..d81b3611b7dee6756200f89c0a917f2b8511921e 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);