[Mesa-dev] [PATCH] st/mesa: don't compute index buffer bounds for per-instance data

Marek Olšák maraeo at gmail.com
Sun Sep 25 08:30:08 PDT 2011


---
 src/mesa/state_tracker/st_draw.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index 39a947d..5748020 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -267,8 +267,8 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
 
 
 /**
- * This is very similar to vbo_all_varyings_in_vbos() but we test
- * the stride.  See bug 38626.
+ * This is very similar to vbo_all_varyings_in_vbos() but we are
+ * only interested in per-vertex data.  See bug 38626.
  */
 static GLboolean
 all_varyings_in_vbos(const struct gl_client_array *arrays[])
@@ -276,7 +276,9 @@ all_varyings_in_vbos(const struct gl_client_array *arrays[])
    GLuint i;
    
    for (i = 0; i < VERT_ATTRIB_MAX; i++)
-      if (arrays[i]->StrideB && !_mesa_is_bufferobj(arrays[i]->BufferObj))
+      if (arrays[i]->StrideB &&
+          !arrays[i]->InstanceDivisor &&
+          !_mesa_is_bufferobj(arrays[i]->BufferObj))
 	 return GL_FALSE;
 
    return GL_TRUE;
-- 
1.7.4.1



More information about the mesa-dev mailing list