aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/vbo/vbo_exec_array.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-08-30 15:35:17 +0200
committermarha <marha@users.sourceforge.net>2013-08-30 15:35:17 +0200
commit5ebbc3a366287b631775ed3e17537580d380db8a (patch)
treef43c3d54e7c0e161c83288d83b22cbd7da49cc96 /mesalib/src/mesa/vbo/vbo_exec_array.c
parent84e570d071a041f85e2e8b92963d3390d14af5fc (diff)
downloadvcxsrv-5ebbc3a366287b631775ed3e17537580d380db8a.tar.gz
vcxsrv-5ebbc3a366287b631775ed3e17537580d380db8a.tar.bz2
vcxsrv-5ebbc3a366287b631775ed3e17537580d380db8a.zip
fontconfig mesa xserver xkeyboard-config xkbcomp git update 30 aug 2013
xserver commit 94d4e29aedc69431fa9b299ca1b67947173d7a24 xkeyboard-config commit fcb91cb1013cbdd87a6f77533f188d5934f24046 xkbcomp commit 24d18e0a844041ef82441adb16aa18cc4b4814ae fontconfig commit 071ce44c35733e54cb477cc75810cbe55025b619 mesa commit f7217b99f243738f941a5d009c68387dfadcb50a
Diffstat (limited to 'mesalib/src/mesa/vbo/vbo_exec_array.c')
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_array.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c
index bd05cd0c3..1670409d4 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_array.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_array.c
@@ -1334,6 +1334,16 @@ vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
}
}
+ /* Draw primitives individually if one count is zero, so we can easily skip
+ * that primitive.
+ */
+ for (i = 0; i < primcount; i++) {
+ if (count[i] == 0) {
+ fallback = GL_TRUE;
+ break;
+ }
+ }
+
/* If the index buffer isn't in a VBO, then treating the application's
* subranges of the index buffer as one large index buffer may lead to
* us reading unmapped memory.
@@ -1370,6 +1380,8 @@ vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
} else {
/* render one prim at a time */
for (i = 0; i < primcount; i++) {
+ if (count[i] == 0)
+ continue;
ib.count = count[i];
ib.type = type;
ib.obj = ctx->Array.ArrayObj->ElementArrayBufferObj;