From 163761f128913825c617f6223dc141c7f942822f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 25 Sep 2011 14:19:46 +0200 Subject: [PATCH] st/mesa: don't compute index buffer bounds for per-instance data --- src/mesa/state_tracker/st_draw.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 39a947df70a..5748020842f 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; -- 2.30.2