mesa: add end_transform_feedback() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset 2017-08-24 12:01:27 +02:00
parent 3906e8ab64
commit 654587696b

View file

@ -495,6 +495,22 @@ _mesa_BeginTransformFeedback(GLenum mode)
}
static void
end_transform_feedback(struct gl_context *ctx,
struct gl_transform_feedback_object *obj)
{
FLUSH_VERTICES(ctx, 0);
ctx->NewDriverState |= ctx->DriverFlags.NewTransformFeedback;
assert(ctx->Driver.EndTransformFeedback);
ctx->Driver.EndTransformFeedback(ctx, obj);
ctx->TransformFeedback.CurrentObject->Active = GL_FALSE;
ctx->TransformFeedback.CurrentObject->Paused = GL_FALSE;
ctx->TransformFeedback.CurrentObject->EndedAnytime = GL_TRUE;
}
void GLAPIENTRY
_mesa_EndTransformFeedback(void)
{
@ -509,15 +525,7 @@ _mesa_EndTransformFeedback(void)
return;
}
FLUSH_VERTICES(ctx, 0);
ctx->NewDriverState |= ctx->DriverFlags.NewTransformFeedback;
assert(ctx->Driver.EndTransformFeedback);
ctx->Driver.EndTransformFeedback(ctx, obj);
ctx->TransformFeedback.CurrentObject->Active = GL_FALSE;
ctx->TransformFeedback.CurrentObject->Paused = GL_FALSE;
ctx->TransformFeedback.CurrentObject->EndedAnytime = GL_TRUE;
end_transform_feedback(ctx, obj);
}