Mesa (master): vbo: fix broken glMultiDrawElements()

Brian Paul brianp at kemper.freedesktop.org
Mon Feb 15 15:57:45 UTC 2010


Module: Mesa
Branch: master
Commit: 36a54885a4b2eb2b23361f2add3d66e385a322cf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36a54885a4b2eb2b23361f2add3d66e385a322cf

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Feb 15 08:57:17 2010 -0700

vbo: fix broken glMultiDrawElements()

Seems to be a regression from commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0.

(cherry picked from commit c5a4cfb03ff17955c049f16ac805f5837ea4b633)

---

 src/mesa/vbo/vbo_exec_array.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
index 88502f3..a284e40 100644
--- a/src/mesa/vbo/vbo_exec_array.c
+++ b/src/mesa/vbo/vbo_exec_array.c
@@ -935,13 +935,13 @@ vbo_validated_multidrawelements(GLcontext *ctx, GLenum mode,
       vbo->draw_prims(ctx, exec->array.inputs, prim, primcount, &ib,
 		      GL_FALSE, ~0, ~0);
    } else {
+      /* render one prim at a time */
       for (i = 0; i < primcount; i++) {
 	 ib.count = count[i];
 	 ib.type = type;
 	 ib.obj = ctx->Array.ElementArrayBufferObj;
 	 ib.ptr = indices[i];
 
-
 	 prim[0].begin = 1;
 	 prim[0].end = 1;
 	 prim[0].weak = 0;
@@ -954,11 +954,12 @@ vbo_validated_multidrawelements(GLcontext *ctx, GLenum mode,
 	    prim[0].basevertex = basevertex[i];
 	 else
 	    prim[0].basevertex = 0;
-      }
 
-      vbo->draw_prims(ctx, exec->array.inputs, prim, 1, &ib,
-		      GL_FALSE, ~0, ~0);
+         vbo->draw_prims(ctx, exec->array.inputs, prim, 1, &ib,
+                         GL_FALSE, ~0, ~0);
+      }
    }
+
    _mesa_free(prim);
 }
 




More information about the mesa-commit mailing list