aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/vbo/vbo_exec_array.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-11-07 08:23:50 +0100
committermarha <marha@users.sourceforge.net>2013-11-07 08:23:50 +0100
commit51c3a4e7b08aa904ff2af52a9f6f7adc748b361f (patch)
tree38fa447dc8970b83becb4d35487d2bb2e565301b /mesalib/src/mesa/vbo/vbo_exec_array.c
parentd79b6645eb21ca82d506ef038b8ea71a1e431f3f (diff)
parent31fd4c5654595a4763e492e4ec26f66ca3a8a405 (diff)
downloadvcxsrv-51c3a4e7b08aa904ff2af52a9f6f7adc748b361f.tar.gz
vcxsrv-51c3a4e7b08aa904ff2af52a9f6f7adc748b361f.tar.bz2
vcxsrv-51c3a4e7b08aa904ff2af52a9f6f7adc748b361f.zip
Merge remote-tracking branch 'origin/released'
* origin/released: libxtrans fontconfig mesa xserver pixman xkbcomp git update 4 nov 2013 Conflicts: xorg-server/Xext/shm.c xorg-server/os/xstrans.c
Diffstat (limited to 'mesalib/src/mesa/vbo/vbo_exec_array.c')
-rw-r--r--mesalib/src/mesa/vbo/vbo_exec_array.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c
index 1670409d4..f25a9dec3 100644
--- a/mesalib/src/mesa/vbo/vbo_exec_array.c
+++ b/mesalib/src/mesa/vbo/vbo_exec_array.c
@@ -1464,6 +1464,16 @@ vbo_draw_transform_feedback(struct gl_context *ctx, GLenum mode,
return;
}
+ if (ctx->Driver.GetTransformFeedbackVertexCount &&
+ (ctx->Const.AlwaysUseGetTransformFeedbackVertexCount ||
+ (ctx->Const.PrimitiveRestartInSoftware &&
+ ctx->Array._PrimitiveRestart) ||
+ !vbo_all_varyings_in_vbos(exec->array.inputs))) {
+ GLsizei n = ctx->Driver.GetTransformFeedbackVertexCount(ctx, obj, stream);
+ vbo_draw_arrays(ctx, mode, 0, n, numInstances, 0);
+ return;
+ }
+
vbo_bind_arrays(ctx);
/* init most fields to zero */