mesa: another transform feedback error check, 80-col wrapping
authorBrian Paul <brianp@vmware.com>
Fri, 14 May 2010 14:03:42 +0000 (08:03 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 14 May 2010 14:17:02 +0000 (08:17 -0600)
src/mesa/main/transformfeedback.c

index cd3dd9b38c1d58bde0fb83eab59d5be616c60927..050ebf02701684d58056c6fbae0f03a80340e83c 100644 (file)
@@ -190,7 +190,8 @@ _mesa_free_transform_feedback(GLcontext *ctx)
 
    /* Delete the default feedback object */
    assert(ctx->Driver.DeleteTransformFeedback);
-   ctx->Driver.DeleteTransformFeedback(ctx, ctx->TransformFeedback.DefaultObject);
+   ctx->Driver.DeleteTransformFeedback(ctx,
+                                       ctx->TransformFeedback.DefaultObject);
 
    ctx->TransformFeedback.CurrentObject = NULL;
 }
@@ -749,7 +750,7 @@ _mesa_BindTransformFeedback(GLenum target, GLuint name)
    if (ctx->TransformFeedback.CurrentObject->Active &&
        !ctx->TransformFeedback.CurrentObject->Paused) {
       _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindTransformFeedback(transform is active, or not paused)");
+              "glBindTransformFeedback(transform is active, or not paused)");
       return;
    }
 
@@ -844,7 +845,7 @@ _mesa_ResumeTransformFeedback(void)
 
    if (!obj->Active || !obj->Paused) {
       _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glPauseTransformFeedback(feedback not active or not paused)");
+               "glPauseTransformFeedback(feedback not active or not paused)");
       return;
    }
 
@@ -871,6 +872,11 @@ _mesa_DrawTransformFeedback(GLenum mode, GLuint name)
    struct gl_transform_feedback_object *obj =
       lookup_transform_feedback_object(ctx, name);
 
+   if (mode > GL_POLYGON) {
+      _mesa_error(ctx, GL_INVALID_ENUM,
+                  "glDrawTransformFeedback(mode=0x%x)", mode);
+      return;
+   }
    if (!obj) {
       _mesa_error(ctx, GL_INVALID_VALUE,
                   "glDrawTransformFeedback(name = %u)", name);