tweak glAccum error checking
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 27 Sep 2005 16:10:49 +0000 (16:10 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 27 Sep 2005 16:10:49 +0000 (16:10 +0000)
src/mesa/main/accum.c

index 9a32481c9310dd4ddfbdf7d8a66837ced2200ad6..76821761833da6188938efa2ed420db84763587e 100644 (file)
@@ -58,11 +58,6 @@ _mesa_Accum( GLenum op, GLfloat value )
    GLuint xpos, ypos, width, height;
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (ctx->Visual.accumRedBits == 0 || ctx->DrawBuffer != ctx->ReadBuffer) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glAccum");
-      return;
-   }
-
    switch (op) {
    case GL_ADD:
    case GL_MULT:
@@ -76,6 +71,11 @@ _mesa_Accum( GLenum op, GLfloat value )
       return;
    }
 
+   if (ctx->Visual.accumRedBits == 0) {
+      _mesa_error(ctx, GL_INVALID_OPERATION, "glAccum(no accum buffer)");
+      return;
+   }
+
    if (ctx->DrawBuffer != ctx->ReadBuffer) {
       /* See GLX_SGI_make_current_read or WGL_ARB_make_current_read */
       _mesa_error(ctx, GL_INVALID_OPERATION,