check swrast->NewState in Draw/CopyPixels functions
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 12 Dec 2003 20:19:13 +0000 (20:19 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 12 Dec 2003 20:19:13 +0000 (20:19 +0000)
src/mesa/drivers/x11/xm_dd.c

index d1d00983029b68576a38cb519b9b1566a420fead..8dd7f9f90a26292dbdc8328740176ec510cdf1c7 100644 (file)
@@ -790,6 +790,9 @@ xmesa_DrawPixels_8R8G8B( GLcontext *ctx,
    ASSERT(xmesa->xm_visual->dithered_pf == PF_8R8G8B);
    ASSERT(xmesa->xm_visual->undithered_pf == PF_8R8G8B);
 
+   if (swrast->NewState)
+      _swrast_validate_derived( ctx );
+
    if (buffer &&   /* buffer != 0 means it's a Window or Pixmap */
        format == GL_BGRA &&
        type == GL_UNSIGNED_BYTE &&
@@ -861,6 +864,9 @@ xmesa_DrawPixels_5R6G5B( GLcontext *ctx,
    ASSERT(gc);
    ASSERT(xmesa->xm_visual->undithered_pf == PF_5R6G5B);
 
+   if (swrast->NewState)
+      _swrast_validate_derived( ctx );
+
    if (buffer &&   /* buffer != 0 means it's a Window or Pixmap */
        format == GL_RGB &&
        type == GL_UNSIGNED_SHORT_5_6_5 &&
@@ -930,6 +936,9 @@ xmesa_CopyPixels( GLcontext *ctx,
    ASSERT(dpy);
    ASSERT(gc);
 
+   if (swrast->NewState)
+      _swrast_validate_derived( ctx );
+
    if (ctx->Color.DrawBuffer == GL_FRONT &&
        ctx->Pixel.ReadBuffer == GL_FRONT &&
        drawBuffer &&  /* buffer != 0 means it's a Window or Pixmap */