Index: r200_pixel.c
===================================================================
RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_pixel.c,v
retrieving revision 1.5
diff -u -r1.5 r200_pixel.c
--- r200_pixel.c	11 Mar 2004 20:35:40 -0000	1.5
+++ r200_pixel.c	30 Apr 2004 16:47:20 -0000
@@ -430,14 +430,20 @@
       do_draw_pix( ctx, x, y, width, height, pitch, pixels, planemask );
       return GL_TRUE;
    }
-   else if (0)
+   else
    {
       /* Pixels is in regular memory -- get dma buffers and perform
        * upload through them.
        */
+      struct radeon_dma_region region;
+      memset(&region, 0, sizeof(region));
+      radeonAllocDmaRegion( rmesa, &region, size, 1024 );
+      memcpy(region.address + region.start, pixels, size);
+      
+      do_draw_pix( ctx, x, y, width, height, pitch, GET_START(&region), planemask );
+      
+      radeonReleaseDmaRegion(rmesa,&region,__FUNCTION__);
    }
-   else
-      return GL_FALSE;
 }
 
 static void
