xlib: use MESA_FORMAT_XRGB8888 for pixmap surfaces
authorBrian Paul <brianp@vmware.com>
Sat, 12 Nov 2011 18:50:31 +0000 (11:50 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 15 Nov 2011 14:49:25 +0000 (07:49 -0700)
We no longer have software-allocated alpha buffers so we can forget
about the alpha channel.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/x11/xm_buffer.c

index ea87b6dfd0a44db611e069d554ce19b4cd0382d0..cd059fc09d94a3d8f1710a7d2ce6568a08807cb5 100644 (file)
@@ -349,7 +349,7 @@ xmesa_new_renderbuffer(struct gl_context *ctx, GLuint name,
          /* This will really only happen for pixmaps.  We'll access the
           * pixmap via a temporary XImage which will be 32bpp.
           */
-         xrb->Base.Format = MESA_FORMAT_ARGB8888;
+         xrb->Base.Format = MESA_FORMAT_XRGB8888;
          break;
       case PF_8A8R8G8B:
          xrb->Base.Format = MESA_FORMAT_ARGB8888;
@@ -477,17 +477,6 @@ xmesa_MapRenderbuffer(struct gl_context *ctx,
             return;
          }
 
-         if (xrb->Base.Format == MESA_FORMAT_ARGB8888 ||
-             xrb->Base.Format == MESA_FORMAT_RGBA8888_REV) {
-            /* The original pixmap is RGB but we're returning an RGBA
-             * image buffer.  Fill in the A values with 0xff.
-             */
-            GLuint i, *p = (GLuint *) ximage->data;
-            for (i = 0; i < w * h; i++) {
-               p[i] |= 0xff000000;
-            }
-         }
-
          xrb->map_ximage = ximage;
 
          /* the first row of the OpenGL image is last row of the XImage */