diff options
Diffstat (limited to 'mesalib/src/mesa/main/transformfeedback.c')
-rw-r--r-- | mesalib/src/mesa/main/transformfeedback.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mesalib/src/mesa/main/transformfeedback.c b/mesalib/src/mesa/main/transformfeedback.c index 53c09e265..be0d0ff19 100644 --- a/mesalib/src/mesa/main/transformfeedback.c +++ b/mesalib/src/mesa/main/transformfeedback.c @@ -98,7 +98,8 @@ reference_transform_feedback_object(struct gl_transform_feedback_object **ptr, GLboolean _mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode) { - if (ctx->TransformFeedback.CurrentObject->Active) { + if (ctx->TransformFeedback.CurrentObject->Active && + !ctx->TransformFeedback.CurrentObject->Paused) { switch (mode) { case GL_POINTS: return ctx->TransformFeedback.Mode == GL_POINTS; @@ -387,6 +388,7 @@ _mesa_EndTransformFeedback(void) FLUSH_VERTICES(ctx, _NEW_TRANSFORM_FEEDBACK); ctx->TransformFeedback.CurrentObject->Active = GL_FALSE; + ctx->TransformFeedback.CurrentObject->Paused = GL_FALSE; ctx->TransformFeedback.CurrentObject->EndedAnytime = GL_TRUE; assert(ctx->Driver.EndTransformFeedback); |