Merge remote branch 'origin/master' into gallium_draw_llvm
[mesa.git] / src / mesa / state_tracker / st_draw.c
index d81b3611b7dee6756200f89c0a917f2b8511921e..7f45e3f5484c2832808e4c7491df4ecd99ccf4f6 100644 (file)
@@ -184,7 +184,7 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
       /* this is an odd-ball case */
       assert(type == GL_UNSIGNED_BYTE);
       assert(normalized);
-      return PIPE_FORMAT_A8R8G8B8_UNORM;
+      return PIPE_FORMAT_B8G8R8A8_UNORM;
    }
 
    if (normalized) {
@@ -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 != GL_TRUE) {
-      vbo_get_minmax_index(ctx, prims, ib, &min_index, &max_index);
-   }
+   if (!index_bounds_valid)
+      if (!vbo_all_varyings_in_vbos(arrays))
+        vbo_get_minmax_index(ctx, prims, ib, &min_index, &max_index);
 
    /* sanity check for pointer arithmetic below */
    assert(sizeof(arrays[0]->Ptr[0]) == 1);