check mode for no change in _mesa_Read/DrawBuffer()
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 11 Oct 2002 00:02:16 +0000 (00:02 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 11 Oct 2002 00:02:16 +0000 (00:02 +0000)
src/mesa/main/buffers.c

index 20a1c2e..f7edb1b 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: buffers.c,v 1.38 2002/10/04 19:10:07 brianp Exp $ */
+/* $Id: buffers.c,v 1.39 2002/10/11 00:02:16 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -144,10 +144,12 @@ _mesa_DrawBuffer( GLenum mode )
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); /* too complex... */
 
-
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(ctx, "glDrawBuffer %s\n", _mesa_lookup_enum_by_nr(mode));
 
+   if (ctx->Color.DrawBuffer == mode)
+      return; /* no change */
+
    /*
     * Do error checking and compute the _DrawDestMask bitfield.
     */
@@ -262,6 +264,9 @@ _mesa_ReadBuffer( GLenum mode )
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(ctx, "glReadBuffer %s\n", _mesa_lookup_enum_by_nr(mode));
 
+   if (ctx->Pixel.ReadBuffer == mode)
+      return; /* no change */
+
    switch (mode) {
       case GL_AUX0:
       case GL_AUX1: