[Mesa-dev] [PATCH 20/22] mesa: remove gl_renderbuffer::PutRowRGB()

Brian Paul brianp at vmware.com
Sun Dec 18 19:08:25 PST 2011


No longer used anywhere.
---
 src/mesa/drivers/dri/common/depthtmp.h        |    1 -
 src/mesa/drivers/dri/common/spantmp2.h        |   41 --
 src/mesa/drivers/dri/common/stenciltmp.h      |    1 -
 src/mesa/drivers/dri/swrast/swrast_span.c     |    8 -
 src/mesa/drivers/dri/swrast/swrast_spantemp.h |   41 --
 src/mesa/drivers/osmesa/osmesa.c              |   16 -
 src/mesa/drivers/windows/gdi/wmesa.c          |  123 -----
 src/mesa/drivers/x11/xm_span.c                |  601 -------------------------
 src/mesa/main/mtypes.h                        |    9 -
 src/mesa/main/renderbuffer.c                  |    1 -
 src/mesa/swrast/s_depthstencil.c              |    3 -
 src/mesa/swrast/s_renderbuffer.c              |   84 ----
 src/mesa/swrast/s_spantemp.h                  |   26 --
 src/mesa/swrast/s_texrender.c                 |   62 ---
 14 files changed, 0 insertions(+), 1017 deletions(-)

diff --git a/src/mesa/drivers/dri/common/depthtmp.h b/src/mesa/drivers/dri/common/depthtmp.h
index 31ebc68..d8f259f 100644
--- a/src/mesa/drivers/dri/common/depthtmp.h
+++ b/src/mesa/drivers/dri/common/depthtmp.h
@@ -201,7 +201,6 @@ static void TAG(InitDepthPointers)(struct gl_renderbuffer *rb)
    rb->GetRow = TAG(ReadDepthSpan);
    rb->GetValues = TAG(ReadDepthPixels);
    rb->PutRow = TAG(WriteDepthSpan);
-   rb->PutRowRGB = NULL;
    rb->PutValues = TAG(WriteDepthPixels);
 }
 
diff --git a/src/mesa/drivers/dri/common/spantmp2.h b/src/mesa/drivers/dri/common/spantmp2.h
index 6030ca1..744dfcd 100644
--- a/src/mesa/drivers/dri/common/spantmp2.h
+++ b/src/mesa/drivers/dri/common/spantmp2.h
@@ -475,46 +475,6 @@ static void TAG(WriteRGBASpan)( struct gl_context *ctx,
    HW_WRITE_UNLOCK();
 }
 
-static void TAG(WriteRGBSpan)( struct gl_context *ctx,
-                               struct gl_renderbuffer *rb,
-			       GLuint n, GLint x, GLint y,
-			       const void *values, const GLubyte mask[] )
-{
-   (void) ctx;
-
-   HW_WRITE_LOCK()
-      {
-         const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-	 GLint x1;
-	 GLint n1;
-	 LOCAL_VARS;
-
-	 y = Y_FLIP(y);
-
-	 HW_WRITE_CLIPLOOP()
-	    {
-	       GLint i = 0;
-	       CLIPSPAN(x,y,n,x1,n1,i);
-
-	       if (DBG) fprintf(stderr, "WriteRGBSpan %d..%d (x1 %d)\n",
-				(int)i, (int)n1, (int)x1);
-
-	       if (mask)
-	       {
-		  for (;n1>0;i++,x1++,n1--)
-		     if (mask[i])
-			WRITE_RGBA( x1, y, rgb[i][0], rgb[i][1], rgb[i][2], 255 );
-	       }
-	       else
-	       {
-		  for (;n1>0;i++,x1++,n1--)
-		     WRITE_RGBA( x1, y, rgb[i][0], rgb[i][1], rgb[i][2], 255 );
-	       }
-	    }
-	 HW_ENDCLIPLOOP();
-      }
-   HW_WRITE_UNLOCK();
-}
 
 static void TAG(WriteRGBAPixels)( struct gl_context *ctx,
                                   struct gl_renderbuffer *rb,
@@ -763,7 +723,6 @@ static void TAG(ReadRGBAPixels)( struct gl_context *ctx,
 static void TAG(InitPointers)(struct gl_renderbuffer *rb)
 {
    rb->PutRow = TAG(WriteRGBASpan);
-   rb->PutRowRGB = TAG(WriteRGBSpan);
    rb->PutValues = TAG(WriteRGBAPixels);
    rb->GetValues = TAG(ReadRGBAPixels);
 
diff --git a/src/mesa/drivers/dri/common/stenciltmp.h b/src/mesa/drivers/dri/common/stenciltmp.h
index e4e39c7..950d3c4 100644
--- a/src/mesa/drivers/dri/common/stenciltmp.h
+++ b/src/mesa/drivers/dri/common/stenciltmp.h
@@ -177,7 +177,6 @@ static void TAG(InitStencilPointers)(struct gl_renderbuffer *rb)
    rb->GetRow = TAG(ReadStencilSpan);
    rb->GetValues = TAG(ReadStencilPixels);
    rb->PutRow = TAG(WriteStencilSpan);
-   rb->PutRowRGB = NULL;
    rb->PutValues = TAG(WriteStencilPixels);
 }
 
diff --git a/src/mesa/drivers/dri/swrast/swrast_span.c b/src/mesa/drivers/dri/swrast/swrast_span.c
index 35993fa..ba6174f 100644
--- a/src/mesa/drivers/dri/swrast/swrast_span.c
+++ b/src/mesa/drivers/dri/swrast/swrast_span.c
@@ -276,28 +276,24 @@ swrast_set_span_funcs_back(struct swrast_renderbuffer *xrb,
 	xrb->Base.GetRow = get_row_A8R8G8B8;
 	xrb->Base.GetValues = get_values_A8R8G8B8;
 	xrb->Base.PutRow = put_row_A8R8G8B8;
-	xrb->Base.PutRowRGB = put_row_rgb_A8R8G8B8;
 	xrb->Base.PutValues = put_values_A8R8G8B8;
 	break;
     case PF_X8R8G8B8:
 	xrb->Base.GetRow = get_row_X8R8G8B8;
 	xrb->Base.GetValues = get_values_X8R8G8B8;
 	xrb->Base.PutRow = put_row_X8R8G8B8;
-	xrb->Base.PutRowRGB = put_row_rgb_X8R8G8B8;
 	xrb->Base.PutValues = put_values_X8R8G8B8;
 	break;
     case PF_R5G6B5:
 	xrb->Base.GetRow = get_row_R5G6B5;
 	xrb->Base.GetValues = get_values_R5G6B5;
 	xrb->Base.PutRow = put_row_R5G6B5;
-	xrb->Base.PutRowRGB = put_row_rgb_R5G6B5;
 	xrb->Base.PutValues = put_values_R5G6B5;
 	break;
     case PF_R3G3B2:
 	xrb->Base.GetRow = get_row_R3G3B2;
 	xrb->Base.GetValues = get_values_R3G3B2;
 	xrb->Base.PutRow = put_row_R3G3B2;
-	xrb->Base.PutRowRGB = put_row_rgb_R3G3B2;
 	xrb->Base.PutValues = put_values_R3G3B2;
 	break;
     default:
@@ -324,28 +320,24 @@ swrast_set_span_funcs_front(struct swrast_renderbuffer *xrb,
 	xrb->Base.GetRow = get_row_A8R8G8B8_front;
 	xrb->Base.GetValues = get_values_A8R8G8B8_front;
 	xrb->Base.PutRow = put_row_A8R8G8B8_front;
-	xrb->Base.PutRowRGB = put_row_rgb_A8R8G8B8_front;
 	xrb->Base.PutValues = put_values_A8R8G8B8_front;
 	break;
     case PF_X8R8G8B8:
 	xrb->Base.GetRow = get_row_X8R8G8B8_front;
 	xrb->Base.GetValues = get_values_X8R8G8B8_front;
 	xrb->Base.PutRow = put_row_X8R8G8B8_front;
-	xrb->Base.PutRowRGB = put_row_rgb_X8R8G8B8_front;
 	xrb->Base.PutValues = put_values_X8R8G8B8_front;
 	break;
     case PF_R5G6B5:
 	xrb->Base.GetRow = get_row_R5G6B5_front;
 	xrb->Base.GetValues = get_values_R5G6B5_front;
 	xrb->Base.PutRow = put_row_R5G6B5_front;
-	xrb->Base.PutRowRGB = put_row_rgb_R5G6B5_front;
 	xrb->Base.PutValues = put_values_R5G6B5_front;
 	break;
     case PF_R3G3B2:
 	xrb->Base.GetRow = get_row_R3G3B2_front;
 	xrb->Base.GetValues = get_values_R3G3B2_front;
 	xrb->Base.PutRow = put_row_R3G3B2_front;
-	xrb->Base.PutRowRGB = put_row_rgb_R3G3B2_front;
 	xrb->Base.PutValues = put_values_R3G3B2_front;
 	break;
     default:
diff --git a/src/mesa/drivers/dri/swrast/swrast_spantemp.h b/src/mesa/drivers/dri/swrast/swrast_spantemp.h
index 892a771..5067119 100644
--- a/src/mesa/drivers/dri/swrast/swrast_spantemp.h
+++ b/src/mesa/drivers/dri/swrast/swrast_spantemp.h
@@ -188,47 +188,6 @@ NAME(put_row)( struct gl_context *ctx, struct gl_renderbuffer *rb,
 
 
 static void
-NAME(put_row_rgb)( struct gl_context *ctx, struct gl_renderbuffer *rb,
-                   GLuint count, GLint x, GLint y,
-                   const void *values, const GLubyte mask[] )
-{
-#ifdef SPAN_VARS
-   SPAN_VARS
-#endif
-   const RB_TYPE (*src)[3] = (const RB_TYPE (*)[3]) values;
-   GLuint i;
-   if (mask) {
-      for (i = 0; i < count; i++) {
-         if (mask[i]) {
-            RB_TYPE row[4];
-            INIT_PIXEL_PTR(pixel, x, y);
-#ifdef STORE_PIXEL_RGB
-            STORE_PIXEL_RGB(pixel, x + i, y, src[i]);
-#else
-            STORE_PIXEL(pixel, x + i, y, src[i]);
-#endif
-            PUT_PIXEL(ctx, x + i, YFLIP(xrb, y), pixel);
-         }
-      }
-   }
-   else {
-      char *row = swrast_drawable(ctx->DrawBuffer)->row;
-      INIT_PIXEL_PTR(pixel, x, y);
-      for (i = 0; i < count; i++) {
-#ifdef STORE_PIXEL_RGB
-         STORE_PIXEL_RGB(pixel, x + i, y, src[i]);
-#else
-         STORE_PIXEL(pixel, x + i, y, src[i]);
-#endif
-         INC_PIXEL_PTR(pixel);
-      }
-      PUT_ROW( ctx, x, YFLIP(xrb, y), count, row );
-   }
-   (void) rb;
-}
-
-
-static void
 NAME(put_values)( struct gl_context *ctx, struct gl_renderbuffer *rb,
                   GLuint count, const GLint x[], const GLint y[],
                   const void *values, const GLubyte mask[] )
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 6874694..195329c 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -805,21 +805,18 @@ osmesa_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
          rb->GetRow = get_row_RGBA8;
          rb->GetValues = get_values_RGBA8;
          rb->PutRow = put_row_RGBA8;
-         rb->PutRowRGB = put_row_rgb_RGBA8;
          rb->PutValues = put_values_RGBA8;
       }
       else if (rb->DataType == GL_UNSIGNED_SHORT) {
          rb->GetRow = get_row_RGBA16;
          rb->GetValues = get_values_RGBA16;
          rb->PutRow = put_row_RGBA16;
-         rb->PutRowRGB = put_row_rgb_RGBA16;
          rb->PutValues = put_values_RGBA16;
       }
       else {
          rb->GetRow = get_row_RGBA32;
          rb->GetValues = get_values_RGBA32;
          rb->PutRow = put_row_RGBA32;
-         rb->PutRowRGB = put_row_rgb_RGBA32;
          rb->PutValues = put_values_RGBA32;
       }
    }
@@ -828,21 +825,18 @@ osmesa_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
          rb->GetRow = get_row_BGRA8;
          rb->GetValues = get_values_BGRA8;
          rb->PutRow = put_row_BGRA8;
-         rb->PutRowRGB = put_row_rgb_BGRA8;
          rb->PutValues = put_values_BGRA8;
       }
       else if (rb->DataType == GL_UNSIGNED_SHORT) {
          rb->GetRow = get_row_BGRA16;
          rb->GetValues = get_values_BGRA16;
          rb->PutRow = put_row_BGRA16;
-         rb->PutRowRGB = put_row_rgb_BGRA16;
          rb->PutValues = put_values_BGRA16;
       }
       else {
          rb->GetRow = get_row_BGRA32;
          rb->GetValues = get_values_BGRA32;
          rb->PutRow = put_row_BGRA32;
-         rb->PutRowRGB = put_row_rgb_BGRA32;
          rb->PutValues = put_values_BGRA32;
       }
    }
@@ -851,21 +845,18 @@ osmesa_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
          rb->GetRow = get_row_ARGB8;
          rb->GetValues = get_values_ARGB8;
          rb->PutRow = put_row_ARGB8;
-         rb->PutRowRGB = put_row_rgb_ARGB8;
          rb->PutValues = put_values_ARGB8;
       }
       else if (rb->DataType == GL_UNSIGNED_SHORT) {
          rb->GetRow = get_row_ARGB16;
          rb->GetValues = get_values_ARGB16;
          rb->PutRow = put_row_ARGB16;
-         rb->PutRowRGB = put_row_rgb_ARGB16;
          rb->PutValues = put_values_ARGB16;
       }
       else {
          rb->GetRow = get_row_ARGB32;
          rb->GetValues = get_values_ARGB32;
          rb->PutRow = put_row_ARGB32;
-         rb->PutRowRGB = put_row_rgb_ARGB32;
          rb->PutValues = put_values_ARGB32;
       }
    }
@@ -874,21 +865,18 @@ osmesa_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
          rb->GetRow = get_row_RGB8;
          rb->GetValues = get_values_RGB8;
          rb->PutRow = put_row_RGB8;
-         rb->PutRowRGB = put_row_rgb_RGB8;
          rb->PutValues = put_values_RGB8;
       }
       else if (rb->DataType == GL_UNSIGNED_SHORT) {
          rb->GetRow = get_row_RGB16;
          rb->GetValues = get_values_RGB16;
          rb->PutRow = put_row_RGB16;
-         rb->PutRowRGB = put_row_rgb_RGB16;
          rb->PutValues = put_values_RGB16;
       }
       else {
          rb->GetRow = get_row_RGB32;
          rb->GetValues = get_values_RGB32;
          rb->PutRow = put_row_RGB32;
-         rb->PutRowRGB = put_row_rgb_RGB32;
          rb->PutValues = put_values_RGB32;
       }
    }
@@ -897,21 +885,18 @@ osmesa_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
          rb->GetRow = get_row_BGR8;
          rb->GetValues = get_values_BGR8;
          rb->PutRow = put_row_BGR8;
-         rb->PutRowRGB = put_row_rgb_BGR8;
          rb->PutValues = put_values_BGR8;
       }
       else if (rb->DataType == GL_UNSIGNED_SHORT) {
          rb->GetRow = get_row_BGR16;
          rb->GetValues = get_values_BGR16;
          rb->PutRow = put_row_BGR16;
-         rb->PutRowRGB = put_row_rgb_BGR16;
          rb->PutValues = put_values_BGR16;
       }
       else {
          rb->GetRow = get_row_BGR32;
          rb->GetValues = get_values_BGR32;
          rb->PutRow = put_row_BGR32;
-         rb->PutRowRGB = put_row_rgb_BGR32;
          rb->PutValues = put_values_BGR32;
       }
    }
@@ -920,7 +905,6 @@ osmesa_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
       rb->GetRow = get_row_RGB_565;
       rb->GetValues = get_values_RGB_565;
       rb->PutRow = put_row_RGB_565;
-      rb->PutRowRGB = put_row_rgb_RGB_565;
       rb->PutValues = put_values_RGB_565;
    }
    else {
diff --git a/src/mesa/drivers/windows/gdi/wmesa.c b/src/mesa/drivers/windows/gdi/wmesa.c
index 427d272..255d811 100644
--- a/src/mesa/drivers/windows/gdi/wmesa.c
+++ b/src/mesa/drivers/windows/gdi/wmesa.c
@@ -526,33 +526,6 @@ static void write_rgba_span_front(struct gl_context *ctx,
    }
 }
 
-/* Write a horizontal span of RGB color pixels with a boolean mask. */
-static void write_rgb_span_front(struct gl_context *ctx, 
-				 struct gl_renderbuffer *rb, 
-				 GLuint n, GLint x, GLint y,
-				 const void *values, 
-				 const GLubyte *mask)
-{
-    const GLubyte (*rgb)[3] = (const GLubyte (*)[3])values;
-    WMesaContext pwc = wmesa_context(ctx);
-    GLuint i;
-    
-    (void) ctx;
-    y=FLIP(y);
-    if (mask) {
-	for (i=0; i<n; i++)
-	    if (mask[i])
-		SetPixel(pwc->hDC, x+i, y, RGB(rgb[i][RCOMP], rgb[i][GCOMP], 
-					       rgb[i][BCOMP]));
-    }
-    else {
-	for (i=0; i<n; i++)
-	    SetPixel(pwc->hDC, x+i, y, RGB(rgb[i][RCOMP], rgb[i][GCOMP], 
-					   rgb[i][BCOMP]));
-    }
-    
-}
-
 
 /* Write an array of RGBA pixels with a boolean mask. */
 static void write_rgba_pixels_front(struct gl_context *ctx, 
@@ -656,35 +629,6 @@ static void write_rgba_span_32(struct gl_context *ctx,
 }
 
 
-/* Write a horizontal span of RGB color pixels with a boolean mask. */
-static void write_rgb_span_32(struct gl_context *ctx, 
-			      struct gl_renderbuffer *rb, 
-			      GLuint n, GLint x, GLint y,
-			      const void *values, 
-			      const GLubyte *mask)
-{
-    const GLubyte (*rgb)[3] = (const GLubyte (*)[3])values;
-    WMesaFramebuffer pwfb = wmesa_framebuffer(ctx->DrawBuffer);
-    GLuint i;
-    LPDWORD lpdw;
-
-    (void) ctx;
-    
-    y=FLIP(y);
-    lpdw = ((LPDWORD)(pwfb->pbPixels + pwfb->ScanWidth * y)) + x;
-    if (mask) {
-	for (i=0; i<n; i++)
-	    if (mask[i])
-                lpdw[i] = BGR32(rgb[i][RCOMP], rgb[i][GCOMP], 
-				rgb[i][BCOMP]);
-    }
-    else {
-	for (i=0; i<n; i++)
-                *lpdw++ = BGR32(rgb[i][RCOMP], rgb[i][GCOMP], 
-				rgb[i][BCOMP]);
-    }
-}
-
 /* Write an array of RGBA pixels with a boolean mask. */
 static void write_rgba_pixels_32(struct gl_context *ctx, 
 				 struct gl_renderbuffer *rb,
@@ -794,40 +738,6 @@ static void write_rgba_span_24(struct gl_context *ctx,
 }
 
 
-/* Write a horizontal span of RGB color pixels with a boolean mask. */
-static void write_rgb_span_24(struct gl_context *ctx, 
-			      struct gl_renderbuffer *rb, 
-			      GLuint n, GLint x, GLint y,
-			      const void *values, 
-			      const GLubyte *mask)
-{
-    const GLubyte (*rgb)[3] = (const GLubyte (*)[3])values;
-    WMesaFramebuffer pwfb = wmesa_framebuffer(ctx->DrawBuffer);
-    GLuint i;
-    LPBYTE lpb;
-
-    (void) ctx;
-    
-    y=FLIP(y);
-    lpb = ((LPBYTE)(pwfb->pbPixels + pwfb->ScanWidth * y)) + (3 * x);
-    if (mask) {
-	for (i=0; i<n; i++)
-	    if (mask[i]) {
-            lpb[3*i] = rgb[i][BCOMP];
-            lpb[3*i+1] = rgb[i][GCOMP];
-            lpb[3*i+2] = rgb[i][RCOMP];
-	    }
-    }
-    else {
-    	for (i=0; i<n; i++) {
-    		*lpb++ = rgb[i][BCOMP];
-    		*lpb++ = rgb[i][GCOMP];
-    		*lpb++ = rgb[i][RCOMP];
-    	}
-    }
-}
-
-
 /* Write an array of RGBA pixels with a boolean mask. */
 static void write_rgba_pixels_24(struct gl_context *ctx, 
 				 struct gl_renderbuffer *rb,
@@ -929,35 +839,6 @@ static void write_rgba_span_16(struct gl_context *ctx,
 }
 
 
-/* Write a horizontal span of RGB color pixels with a boolean mask. */
-static void write_rgb_span_16(struct gl_context *ctx, 
-			      struct gl_renderbuffer *rb, 
-			      GLuint n, GLint x, GLint y,
-			      const void *values, 
-			      const GLubyte *mask)
-{
-    const GLubyte (*rgb)[3] = (const GLubyte (*)[3])values;
-    WMesaFramebuffer pwfb = wmesa_framebuffer(ctx->DrawBuffer);
-    GLuint i;
-    LPWORD lpw;
-
-    (void) ctx;
-    
-    y=FLIP(y);
-    lpw = ((LPWORD)(pwfb->pbPixels + pwfb->ScanWidth * y)) + x;
-    if (mask) {
-	for (i=0; i<n; i++)
-	    if (mask[i])
-                lpw[i] = BGR16(rgb[i][RCOMP], rgb[i][GCOMP], 
-			       rgb[i][BCOMP]);
-    }
-    else {
-	for (i=0; i<n; i++)
-                *lpw++ = BGR16(rgb[i][RCOMP], rgb[i][GCOMP], 
-			       rgb[i][BCOMP]);
-    }
-}
-
 
 /* Write an array of RGBA pixels with a boolean mask. */
 static void write_rgba_pixels_16(struct gl_context *ctx, 
@@ -1073,7 +954,6 @@ wmesa_set_renderbuffer_funcs(struct gl_renderbuffer *rb, int pixelformat,
 	switch(pixelformat) {
 	case PF_5R6G5B:
 	    rb->PutRow = write_rgba_span_16;
-	    rb->PutRowRGB = write_rgb_span_16;
 	    rb->PutValues = write_rgba_pixels_16;
 	    rb->GetRow = read_rgba_span_16;
 	    rb->GetValues = read_rgba_pixels_16;
@@ -1082,7 +962,6 @@ wmesa_set_renderbuffer_funcs(struct gl_renderbuffer *rb, int pixelformat,
 		if (cColorBits == 24)
 		{
 		    rb->PutRow = write_rgba_span_24;
-		    rb->PutRowRGB = write_rgb_span_24;
 		    rb->PutValues = write_rgba_pixels_24;
 		    rb->GetRow = read_rgba_span_24;
 		    rb->GetValues = read_rgba_pixels_24;
@@ -1090,7 +969,6 @@ wmesa_set_renderbuffer_funcs(struct gl_renderbuffer *rb, int pixelformat,
 		else
 		{
                     rb->PutRow = write_rgba_span_32;
-                    rb->PutRowRGB = write_rgb_span_32;
                     rb->PutValues = write_rgba_pixels_32;
                     rb->GetRow = read_rgba_span_32;
                     rb->GetValues = read_rgba_pixels_32;
@@ -1103,7 +981,6 @@ wmesa_set_renderbuffer_funcs(struct gl_renderbuffer *rb, int pixelformat,
     else {
         /* front buffer (actual Windows window) */
 	rb->PutRow = write_rgba_span_front;
-	rb->PutRowRGB = write_rgb_span_front;
 	rb->PutValues = write_rgba_pixels_front;
 	rb->GetRow = read_rgba_span_front;
 	rb->GetValues = read_rgba_pixels_front;
diff --git a/src/mesa/drivers/x11/xm_span.c b/src/mesa/drivers/x11/xm_span.c
index 6a06648..37e8815 100644
--- a/src/mesa/drivers/x11/xm_span.c
+++ b/src/mesa/drivers/x11/xm_span.c
@@ -206,41 +206,6 @@ static void put_row_TRUECOLOR_pixmap( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_TRUECOLOR pixels to a pixmap.
- */
-static void put_row_rgb_TRUECOLOR_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            unsigned long p;
-            PACK_TRUECOLOR( p, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-            XMesaSetForeground( dpy, gc, p );
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      for (i=0;i<n;i++) {
-         unsigned long p;
-         PACK_TRUECOLOR( p, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-         XMesaPutPixel( rowimg, i, 0, p );
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
-/*
  * Write a span of PF_TRUEDITHER pixels to a pixmap.
  */
 static void put_row_TRUEDITHER_pixmap( PUT_ROW_ARGS )
@@ -276,41 +241,6 @@ static void put_row_TRUEDITHER_pixmap( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_TRUEDITHER pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_TRUEDITHER_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            unsigned long p;
-            PACK_TRUEDITHER(p, x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-            XMesaSetForeground( dpy, gc, p );
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      for (i=0;i<n;i++) {
-         unsigned long p;
-         PACK_TRUEDITHER(p, x+i, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-         XMesaPutPixel( rowimg, i, 0, p );
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
-
-/*
  * Write a span of PF_8A8B8G8R pixels to a pixmap.
  */
 static void put_row_8A8B8G8R_pixmap( PUT_ROW_ARGS )
@@ -345,39 +275,6 @@ static void put_row_8A8B8G8R_pixmap( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_8A8B8G8R pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_8A8B8G8R_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            XMesaSetForeground( dpy, gc,
-                   PACK_8B8G8R(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]) );
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      register GLuint *ptr4 = (GLuint *) rowimg->data;
-      for (i=0;i<n;i++) {
-         *ptr4++ = PACK_8B8G8R(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
-/*
  * Write a span of PF_8A8R8G8B pixels to a pixmap.
  */
 static void put_row_8A8R8G8B_pixmap( PUT_ROW_ARGS )
@@ -411,38 +308,6 @@ static void put_row_8A8R8G8B_pixmap( PUT_ROW_ARGS )
 }
 
 
-/*
- * Write a span of PF_8A8R8G8B pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_8A8R8G8B_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            XMesaSetForeground( dpy, gc,
-                   PACK_8R8G8B(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]) );
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      register GLuint *ptr4 = (GLuint *) rowimg->data;
-      for (i=0;i<n;i++) {
-         *ptr4++ = PACK_8R8G8B(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
 
 /*
  * Write a span of PF_8R8G8B pixels to a pixmap.
@@ -591,138 +456,6 @@ static void put_row_8R8G8B24_pixmap( PUT_ROW_ARGS )
 }
 
 
-/*
- * Write a span of PF_8R8G8B pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_8R8G8B_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            XMesaSetForeground( dpy, gc, PACK_8R8G8B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] ));
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      register GLuint *ptr4 = (GLuint *) rowimg->data;
-      for (i=0;i<n;i++) {
-         *ptr4++ = PACK_8R8G8B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
-/*
- * Write a span of PF_8R8G8B24 pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_8R8G8B24_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      register GLuint i;
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            XMesaSetForeground( dpy, gc,
-                  PACK_8R8G8B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] ));
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      register GLuint *ptr4 = (GLuint *) rowimg->data;
-      register GLuint pixel;
-      static const GLuint shift[4] = {0, 8, 16, 24};
-      unsigned w = n;
-      register GLuint i = 0;
-      while (w > 3) {
-         pixel = 0;
-         pixel |= rgb[i][BCOMP]/* << shift[0]*/;
-         pixel |= rgb[i][GCOMP] << shift[1];
-         pixel |= rgb[i++][RCOMP] << shift[2];
-         pixel |= rgb[i][BCOMP] <<shift[3];
-         *ptr4++ = pixel;
-
-         pixel = 0;
-         pixel |= rgb[i][GCOMP]/* << shift[0]*/;
-         pixel |= rgb[i++][RCOMP] << shift[1];
-         pixel |= rgb[i][BCOMP] << shift[2];
-         pixel |= rgb[i][GCOMP] << shift[3];
-         *ptr4++ = pixel;
-
-         pixel = 0;
-         pixel |= rgb[i++][RCOMP]/* << shift[0]*/;
-         pixel |= rgb[i][BCOMP] << shift[1];
-         pixel |= rgb[i][GCOMP] << shift[2];
-         pixel |= rgb[i++][RCOMP] << shift[3];
-         *ptr4++ = pixel;
-         w -= 4;
-      }
-      switch (w) {
-         case 3:
-            pixel = 0;
-            pixel |= rgb[i][BCOMP]/* << shift[0]*/;
-            pixel |= rgb[i][GCOMP] << shift[1];
-            pixel |= rgb[i++][RCOMP] << shift[2];
-            pixel |= rgb[i][BCOMP] << shift[3];
-            *ptr4++ = pixel;
-            pixel = 0;
-            pixel |= rgb[i][GCOMP]/* << shift[0]*/;
-            pixel |= rgb[i++][RCOMP] << shift[1];
-            pixel |= rgb[i][BCOMP] << shift[2];
-            pixel |= rgb[i][GCOMP] << shift[3];
-            *ptr4++ = pixel;
-            pixel = *ptr4;
-            pixel &= 0xffffff00;
-            pixel |= rgb[i++][RCOMP]/* << shift[0]*/;
-            *ptr4++ = pixel;
-            break;
-         case 2:
-            pixel = 0;
-            pixel |= rgb[i][BCOMP]/* << shift[0]*/;
-            pixel |= rgb[i][GCOMP] << shift[1];
-            pixel |= rgb[i++][RCOMP] << shift[2];
-            pixel |= rgb[i][BCOMP]  << shift[3];
-            *ptr4++ = pixel;
-            pixel = *ptr4;
-            pixel &= 0xffff0000;
-            pixel |= rgb[i][GCOMP]/* << shift[0]*/;
-            pixel |= rgb[i++][RCOMP] << shift[1];
-            *ptr4++ = pixel;
-            break;
-         case 1:
-            pixel = *ptr4;
-            pixel &= 0xff000000;
-            pixel |= rgb[i][BCOMP]/* << shift[0]*/;
-            pixel |= rgb[i][GCOMP] << shift[1];
-            pixel |= rgb[i++][RCOMP] << shift[2];
-            *ptr4++ = pixel;
-            break;
-         case 0:
-            break;
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
 
 /*
  * Write a span of PF_5R6G5B pixels to a pixmap.
@@ -793,74 +526,6 @@ static void put_row_DITHER_5R6G5B_pixmap( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_5R6G5B pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_5R6G5B_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            XMesaSetForeground( dpy, gc, PACK_5R6G5B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] ));
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      register GLushort *ptr2 = (GLushort *) rowimg->data;
-      for (i=0;i<n;i++) {
-         ptr2[i] = PACK_5R6G5B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
-
-/*
- * Write a span of PF_DITHER_5R6G5B pixels to a pixmap (no alpha).
- */
-static void put_row_rgb_DITHER_5R6G5B_pixmap( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaDisplay *dpy = xmesa->xm_visual->display;
-   XMesaDrawable buffer = xrb->drawable;
-   XMesaGC gc = XMESA_BUFFER(ctx->DrawBuffer)->gc;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            unsigned long p;
-            PACK_TRUEDITHER(p, x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-            XMesaSetForeground( dpy, gc, p );
-            XMesaDrawPoint( dpy, buffer, gc, (int) x, (int) y );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      XMesaImage *rowimg = XMESA_BUFFER(ctx->DrawBuffer)->rowimage;
-      register GLushort *ptr2 = (GLushort *) rowimg->data;
-      for (i=0;i<n;i++) {
-         PACK_TRUEDITHER( ptr2[i], x+i, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-      }
-      XMesaPutImage( dpy, buffer, gc, rowimg, 0, 0, x, y, n, 1 );
-   }
-}
-
-
-/*
  * Write a span of PF_TRUECOLOR pixels to an XImage.
  */
 static void put_row_TRUECOLOR_ximage( PUT_ROW_ARGS )
@@ -892,37 +557,6 @@ static void put_row_TRUECOLOR_ximage( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_TRUECOLOR pixels to an XImage (no alpha).
- */
-static void put_row_rgb_TRUECOLOR_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaImage *img = xrb->ximage;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            unsigned long p;
-            PACK_TRUECOLOR( p, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-            XMesaPutPixel( img, x, y, p );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      for (i=0;i<n;i++,x++) {
-         unsigned long p;
-         PACK_TRUECOLOR( p, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-         XMesaPutPixel( img, x, y, p );
-      }
-   }
-}
-
-
-/*
  * Write a span of PF_TRUEDITHER pixels to an XImage.
  */
 static void put_row_TRUEDITHER_ximage( PUT_ROW_ARGS )
@@ -954,37 +588,6 @@ static void put_row_TRUEDITHER_ximage( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_TRUEDITHER pixels to an XImage (no alpha).
- */
-static void put_row_rgb_TRUEDITHER_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   GET_XRB(xrb);
-   XMesaImage *img = xrb->ximage;
-   register GLuint i;
-   y = YFLIP(xrb, y);
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            unsigned long p;
-            PACK_TRUEDITHER(p, x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-            XMesaPutPixel( img, x, y, p );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      for (i=0;i<n;i++,x++) {
-         unsigned long p;
-         PACK_TRUEDITHER(p, x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-         XMesaPutPixel( img, x, y, p );
-      }
-   }
-}
-
-
-/*
  * Write a span of PF_8A8B8G8R-format pixels to an ximage.
  */
 static void put_row_8A8B8G8R_ximage( PUT_ROW_ARGS )
@@ -1011,30 +614,6 @@ static void put_row_8A8B8G8R_ximage( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_8A8B8G8R-format pixels to an ximage (no alpha).
- */
-static void put_row_rgb_8A8B8G8R_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   GET_XRB(xrb);
-   register GLuint i;
-   register GLuint *ptr = PIXEL_ADDR4(xrb, x, y);
-   if (mask) {
-      for (i=0;i<n;i++) {
-         if (mask[i]) {
-            ptr[i] = PACK_8A8B8G8R( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP], 255 );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      for (i=0;i<n;i++) {
-         ptr[i] = PACK_8A8B8G8R( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP], 255 );
-      }
-   }
-}
-
-/*
  * Write a span of PF_8A8R8G8B-format pixels to an ximage.
  */
 static void put_row_8A8R8G8B_ximage( PUT_ROW_ARGS )
@@ -1060,31 +639,6 @@ static void put_row_8A8R8G8B_ximage( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_8A8R8G8B-format pixels to an ximage (no alpha).
- */
-static void put_row_rgb_8A8R8G8B_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   GET_XRB(xrb);
-   register GLuint i;
-   register GLuint *ptr = PIXEL_ADDR4(xrb, x, y);
-   if (mask) {
-      for (i=0;i<n;i++) {
-         if (mask[i]) {
-            ptr[i] = PACK_8A8R8G8B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP], 255 );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      for (i=0;i<n;i++) {
-         ptr[i] = PACK_8A8R8G8B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP], 255 );
-      }
-   }
-}
-
-
-/*
  * Write a span of PF_8R8G8B-format pixels to an ximage.
  */
 static void put_row_8R8G8B_ximage( PUT_ROW_ARGS )
@@ -1260,63 +814,6 @@ static void put_row_8R8G8B24_ximage( PUT_ROW_ARGS )
 
 
 /*
- * Write a span of PF_8R8G8B-format pixels to an ximage (no alpha).
- */
-static void put_row_rgb_8R8G8B_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   GET_XRB(xrb);
-   register GLuint i;
-   register GLuint *ptr = PIXEL_ADDR4(xrb, x, y);
-   if (mask) {
-      for (i=0;i<n;i++) {
-         if (mask[i]) {
-            ptr[i] = PACK_8R8G8B(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      for (i=0;i<n;i++) {
-         ptr[i] = PACK_8R8G8B(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-      }
-   }
-}
-
-
-/*
- * Write a span of PF_8R8G8B24-format pixels to an ximage (no alpha).
- */
-static void put_row_rgb_8R8G8B24_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   GET_XRB(xrb);
-   register GLuint i;
-   register GLubyte *ptr = (GLubyte *) PIXEL_ADDR3(xrb, x, y);
-   if (mask) {
-      for (i=0;i<n;i++) {
-         if (mask[i]) {
-            *ptr++ = rgb[i][BCOMP];
-            *ptr++ = rgb[i][GCOMP];
-            *ptr++ = rgb[i][RCOMP];
-         }
-         else {
-            ptr += 3;
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-      for (i=0;i<n;i++) {
-         *ptr++ = rgb[i][BCOMP];
-         *ptr++ = rgb[i][GCOMP];
-         *ptr++ = rgb[i][RCOMP];
-      }
-   }
-}
-
-
-/*
  * Write a span of PF_5R6G5B-format pixels to an ximage.
  */
 static void put_row_5R6G5B_ximage( PUT_ROW_ARGS )
@@ -1398,88 +895,6 @@ static void put_row_DITHER_5R6G5B_ximage( PUT_ROW_ARGS )
 }
 
 
-/*
- * Write a span of PF_5R6G5B-format pixels to an ximage (no alpha).
- */
-static void put_row_rgb_5R6G5B_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   GET_XRB(xrb);
-   register GLuint i;
-   register GLushort *ptr = PIXEL_ADDR2(xrb, x, y);
-   if (mask) {
-      for (i=0;i<n;i++) {
-         if (mask[i]) {
-            ptr[i] = PACK_5R6G5B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-#if defined(__i386__) /* word stores don't have to be on 4-byte boundaries */
-      GLuint *ptr32 = (GLuint *) ptr;
-      GLuint extraPixel = (n & 1);
-      n -= extraPixel;
-      for (i = 0; i < n; i += 2) {
-         GLuint p0, p1;
-         p0 = PACK_5R6G5B(rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP]);
-         p1 = PACK_5R6G5B(rgb[i+1][RCOMP], rgb[i+1][GCOMP], rgb[i+1][BCOMP]);
-         *ptr32++ = (p1 << 16) | p0;
-      }
-      if (extraPixel) {
-         ptr[n] = PACK_5R6G5B(rgb[n][RCOMP], rgb[n][GCOMP], rgb[n][BCOMP]);
-      }
-#else
-      for (i=0;i<n;i++) {
-         ptr[i] = PACK_5R6G5B( rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-      }
-#endif
-   }
-}
-
-
-/*
- * Write a span of PF_DITHER_5R6G5B-format pixels to an ximage (no alpha).
- */
-static void put_row_rgb_DITHER_5R6G5B_ximage( RGB_SPAN_ARGS )
-{
-   const GLubyte (*rgb)[3] = (const GLubyte (*)[3]) values;
-   GET_XRB(xrb);
-   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
-   register GLuint i;
-   register GLushort *ptr = PIXEL_ADDR2(xrb, x, y );
-   if (mask) {
-      for (i=0;i<n;i++,x++) {
-         if (mask[i]) {
-            PACK_TRUEDITHER( ptr[i], x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-         }
-      }
-   }
-   else {
-      /* draw all pixels */
-#if defined(__i386__) /* word stores don't have to be on 4-byte boundaries */
-      GLuint *ptr32 = (GLuint *) ptr;
-      GLuint extraPixel = (n & 1);
-      n -= extraPixel;
-      for (i = 0; i < n; i += 2, x += 2) {
-         GLuint p0, p1;
-         PACK_TRUEDITHER( p0, x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-         PACK_TRUEDITHER( p1, x+1, y, rgb[i+1][RCOMP], rgb[i+1][GCOMP], rgb[i+1][BCOMP] );
-         *ptr32++ = (p1 << 16) | p0;
-      }
-      if (extraPixel) {
-         PACK_TRUEDITHER( ptr[n], x+n, y, rgb[n][RCOMP], rgb[n][GCOMP], rgb[n][BCOMP]);
-      }
-#else
-      for (i=0;i<n;i++,x++) {
-         PACK_TRUEDITHER( ptr[i], x, y, rgb[i][RCOMP], rgb[i][GCOMP], rgb[i][BCOMP] );
-      }
-#endif
-   }
-}
-
-
-
 /**********************************************************************/
 /*** Write COLOR PIXEL functions                                    ***/
 /**********************************************************************/
@@ -2305,96 +1720,80 @@ xmesa_set_renderbuffer_funcs(struct xmesa_renderbuffer *xrb,
    case PF_Truecolor:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_TRUECOLOR_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_TRUECOLOR_pixmap;
          xrb->Base.PutValues     = put_values_TRUECOLOR_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_TRUECOLOR_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_TRUECOLOR_ximage;
          xrb->Base.PutValues     = put_values_TRUECOLOR_ximage;
       }
       break;
    case PF_Dither_True:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_TRUEDITHER_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_TRUEDITHER_pixmap;
          xrb->Base.PutValues     = put_values_TRUEDITHER_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_TRUEDITHER_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_TRUEDITHER_ximage;
          xrb->Base.PutValues     = put_values_TRUEDITHER_ximage;
       }
       break;
    case PF_8A8B8G8R:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_8A8B8G8R_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_8A8B8G8R_pixmap;
          xrb->Base.PutValues     = put_values_8A8B8G8R_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_8A8B8G8R_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_8A8B8G8R_ximage;
          xrb->Base.PutValues     = put_values_8A8B8G8R_ximage;
       }
       break;
    case PF_8A8R8G8B:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_8A8R8G8B_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_8A8R8G8B_pixmap;
          xrb->Base.PutValues     = put_values_8A8R8G8B_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_8A8R8G8B_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_8A8R8G8B_ximage;
          xrb->Base.PutValues     = put_values_8A8R8G8B_ximage;
       }
       break;
    case PF_8R8G8B:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_8R8G8B_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_8R8G8B_pixmap;
          xrb->Base.PutValues     = put_values_8R8G8B_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_8R8G8B_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_8R8G8B_ximage;
          xrb->Base.PutValues     = put_values_8R8G8B_ximage;
       }
       break;
    case PF_8R8G8B24:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_8R8G8B24_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_8R8G8B24_pixmap;
          xrb->Base.PutValues     = put_values_8R8G8B24_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_8R8G8B24_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_8R8G8B24_ximage;
          xrb->Base.PutValues     = put_values_8R8G8B24_ximage;
       }
       break;
    case PF_5R6G5B:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_5R6G5B_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_5R6G5B_pixmap;
          xrb->Base.PutValues     = put_values_5R6G5B_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_5R6G5B_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_5R6G5B_ximage;
          xrb->Base.PutValues     = put_values_5R6G5B_ximage;
       }
       break;
    case PF_Dither_5R6G5B:
       if (pixmap) {
          xrb->Base.PutRow        = put_row_DITHER_5R6G5B_pixmap;
-         xrb->Base.PutRowRGB     = put_row_rgb_DITHER_5R6G5B_pixmap;
          xrb->Base.PutValues     = put_values_DITHER_5R6G5B_pixmap;
       }
       else {
          xrb->Base.PutRow        = put_row_DITHER_5R6G5B_ximage;
-         xrb->Base.PutRowRGB     = put_row_rgb_DITHER_5R6G5B_ximage;
          xrb->Base.PutValues     = put_values_DITHER_5R6G5B_ximage;
       }
       break;
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 712c6ad..0ed8132 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2530,15 +2530,6 @@ struct gl_renderbuffer
    void (*PutRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
                   GLint x, GLint y, const void *values, const GLubyte *mask);
 
-   /* Put/Write a row of RGB values.  This is a special-case routine that's
-    * only used for RGBA renderbuffers when the source data is GL_RGB. That's
-    * a common case for glDrawPixels and some triangle routines.
-    * The values will be of format GL_RGB and type DataType.
-    */
-   void (*PutRowRGB)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
-                    GLint x, GLint y, const void *values, const GLubyte *mask);
-
-
    /* Put/Write values at arbitrary locations.
     * The values will be of format _BaseFormat and type DataType.
     */
diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index f7aaf0c..bb8f46d 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -78,7 +78,6 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name)
    rb->GetRow = NULL;
    rb->GetValues = NULL;
    rb->PutRow = NULL;
-   rb->PutRowRGB = NULL;
    rb->PutValues = NULL;
 }
 
diff --git a/src/mesa/swrast/s_depthstencil.c b/src/mesa/swrast/s_depthstencil.c
index e2558c4..e48177e 100644
--- a/src/mesa/swrast/s_depthstencil.c
+++ b/src/mesa/swrast/s_depthstencil.c
@@ -303,7 +303,6 @@ new_z24_renderbuffer_wrapper(struct gl_context *ctx,
    z24rb->GetRow = get_row_z24;
    z24rb->GetValues = get_values_z24;
    z24rb->PutRow = put_row_z24;
-   z24rb->PutRowRGB = NULL;
    z24rb->PutValues = put_values_z24;
 
    return z24rb;
@@ -457,7 +456,6 @@ new_z32f_renderbuffer_wrapper(struct gl_context *ctx,
    z32frb->GetRow = get_row_z32f;
    z32frb->GetValues = get_values_z32f;
    z32frb->PutRow = put_row_z32f;
-   z32frb->PutRowRGB = NULL;
    z32frb->PutValues = put_values_z32f;
 
    return z32frb;
@@ -709,7 +707,6 @@ new_s8_renderbuffer_wrapper(struct gl_context *ctx, struct gl_renderbuffer *dsrb
    s8rb->GetRow = get_row_s8;
    s8rb->GetValues = get_values_s8;
    s8rb->PutRow = put_row_s8;
-   s8rb->PutRowRGB = NULL;
    s8rb->PutValues = put_values_s8;
 
    return s8rb;
diff --git a/src/mesa/swrast/s_renderbuffer.c b/src/mesa/swrast/s_renderbuffer.c
index 881f3e6..1a7cb36 100644
--- a/src/mesa/swrast/s_renderbuffer.c
+++ b/src/mesa/swrast/s_renderbuffer.c
@@ -431,26 +431,6 @@ put_row_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
 
 
 static void
-put_row_rgb_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
-                   GLint x, GLint y, const void *values, const GLubyte *mask)
-{
-   /* note: incoming values are RGB+A! */
-   const GLubyte *src = (const GLubyte *) values;
-   GLubyte *dst = (GLubyte *) rb->Data + 3 * (y * rb->RowStride + x);
-   GLuint i;
-   ASSERT(rb->Format == MESA_FORMAT_RGB888);
-   ASSERT(rb->DataType == GL_UNSIGNED_BYTE);
-   for (i = 0; i < count; i++) {
-      if (!mask || mask[i]) {
-         dst[i * 3 + 0] = src[i * 3 + 0];
-         dst[i * 3 + 1] = src[i * 3 + 1];
-         dst[i * 3 + 2] = src[i * 3 + 2];
-      }
-   }
-}
-
-
-static void
 put_values_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
                   const GLint x[], const GLint y[], const void *values,
                   const GLubyte *mask)
@@ -518,28 +498,6 @@ put_row_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
 
 
 static void
-put_row_rgb_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
-                   GLint x, GLint y, const void *values, const GLubyte *mask)
-{
-   /* Store RGB values in RGBA buffer */
-   const GLubyte *src = (const GLubyte *) values;
-   GLubyte *dst = (GLubyte *) rb->Data + 4 * (y * rb->RowStride + x);
-   GLuint i;
-   ASSERT(rb->DataType == GL_UNSIGNED_BYTE);
-   ASSERT(rb->Format == MESA_FORMAT_RGBA8888 ||
-          rb->Format == MESA_FORMAT_RGBA8888_REV);
-   for (i = 0; i < count; i++) {
-      if (!mask || mask[i]) {
-         dst[i * 4 + 0] = src[i * 3 + 0];
-         dst[i * 4 + 1] = src[i * 3 + 1];
-         dst[i * 4 + 2] = src[i * 3 + 2];
-         dst[i * 4 + 3] = 0xff;
-      }
-   }
-}
-
-
-static void
 put_values_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
                   const GLint x[], const GLint y[], const void *values,
                   const GLubyte *mask)
@@ -604,31 +562,6 @@ put_row_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count
 
 
 static void
-put_row_rgb_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
-                    GLint x, GLint y, const void *values, const GLubyte *mask)
-{
-   /* Put RGB values in RGBA buffer */
-   const GLushort *src = (const GLushort *) values;
-   GLushort *dst = (GLushort *) rb->Data + 4 * (y * rb->RowStride + x);
-   ASSERT(rb->DataType == GL_UNSIGNED_SHORT || rb->DataType == GL_SHORT);
-   if (mask) {
-      GLuint i;
-      for (i = 0; i < count; i++) {
-         if (mask[i]) {
-            dst[i * 4 + 0] = src[i * 3 + 0];
-            dst[i * 4 + 1] = src[i * 3 + 1];
-            dst[i * 4 + 2] = src[i * 3 + 2];
-            dst[i * 4 + 3] = 0xffff;
-         }
-      }
-   }
-   else {
-      memcpy(dst, src, 4 * count * sizeof(GLushort));
-   }
-}
-
-
-static void
 put_values_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
                    const GLint x[], const GLint y[], const void *values,
                    const GLubyte *mask)
@@ -1018,7 +951,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_ubyte3;
       rb->GetValues = get_values_ubyte3;
       rb->PutRow = put_row_ubyte3;
-      rb->PutRowRGB = put_row_rgb_ubyte3;
       rb->PutValues = put_values_ubyte3;
       break;
 
@@ -1027,7 +959,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->DataType = GL_UNSIGNED_BYTE;
       rb->GetValues = get_values_ubyte4;
       rb->PutRow = put_row_ubyte4;
-      rb->PutRowRGB = put_row_rgb_ubyte4;
       rb->PutValues = put_values_ubyte4;
       break;
 
@@ -1036,7 +967,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetValues = get_values_r8;
       rb->GetRow = get_row_r8;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = put_row_generic;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1045,7 +975,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetValues = get_values_rg88;
       rb->GetRow = get_row_rg88;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = put_row_generic;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1054,7 +983,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetValues = get_values_r16;
       rb->GetRow = get_row_r16;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = put_row_generic;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1063,7 +991,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetValues = get_values_rg1616;
       rb->GetRow = get_row_rg1616;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = put_row_generic;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1071,7 +998,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->DataType = GL_SHORT;
       rb->GetValues = get_values_ushort4;
       rb->PutRow = put_row_ushort4;
-      rb->PutRowRGB = put_row_rgb_ushort4;
       rb->PutValues = put_values_ushort4;
       break;
 
@@ -1079,7 +1005,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->DataType = GL_UNSIGNED_BYTE;
       rb->GetValues = get_values_ubyte;
       rb->PutRow = put_row_ubyte;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_ubyte;
       break;
 
@@ -1087,7 +1012,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->DataType = GL_UNSIGNED_SHORT;
       rb->GetValues = get_values_ushort;
       rb->PutRow = put_row_ushort;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_ushort;
       break;
 
@@ -1097,7 +1021,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->DataType = GL_UNSIGNED_INT;
       rb->GetValues = get_values_uint;
       rb->PutRow = put_row_uint;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_uint;
       break;
 
@@ -1106,7 +1029,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->DataType = GL_UNSIGNED_INT_24_8_EXT;
       rb->GetValues = get_values_uint;
       rb->PutRow = put_row_uint;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_uint;
       break;
 
@@ -1114,7 +1036,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_generic;
       rb->GetValues = get_values_generic;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1122,7 +1043,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_i_float32;
       rb->GetValues = get_values_i_float32;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1130,7 +1050,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_l_float32;
       rb->GetValues = get_values_l_float32;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1138,7 +1057,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_a_float32;
       rb->GetValues = get_values_a_float32;
       rb->PutRow = put_row_a_float32;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_a_float32;
       break;
 
@@ -1146,7 +1064,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_rg_float32;
       rb->GetValues = get_values_rg_float32;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_generic;
       break;
 
@@ -1154,7 +1071,6 @@ _swrast_set_renderbuffer_accessors(struct gl_renderbuffer *rb)
       rb->GetRow = get_row_r_float32;
       rb->GetValues = get_values_r_float32;
       rb->PutRow = put_row_generic;
-      rb->PutRowRGB = NULL;
       rb->PutValues = put_values_generic;
       break;
 
diff --git a/src/mesa/swrast/s_spantemp.h b/src/mesa/swrast/s_spantemp.h
index ff26856..2d2561b 100644
--- a/src/mesa/swrast/s_spantemp.h
+++ b/src/mesa/swrast/s_spantemp.h
@@ -117,32 +117,6 @@ NAME(put_row)( struct gl_context *ctx, struct gl_renderbuffer *rb,
 
 
 static void
-NAME(put_row_rgb)( struct gl_context *ctx, struct gl_renderbuffer *rb,
-                   GLuint count, GLint x, GLint y,
-                   const void *values, const GLubyte mask[] )
-{
-#ifdef SPAN_VARS
-   SPAN_VARS
-#endif
-   const RB_TYPE (*src)[3] = (const RB_TYPE (*)[3]) values;
-   GLuint i;
-   INIT_PIXEL_PTR(pixel, x, y);
-   for (i = 0; i < count; i++) {
-      if (!mask || mask[i]) {
-#ifdef STORE_PIXEL_RGB
-         STORE_PIXEL_RGB(pixel, x + i, y, src[i]);
-#else
-         STORE_PIXEL(pixel, x + i, y, src[i]);
-#endif
-      }
-      INC_PIXEL_PTR(pixel);
-   }
-   (void) rb;
-   (void) ctx;
-}
-
-
-static void
 NAME(put_values)( struct gl_context *ctx, struct gl_renderbuffer *rb,
                   GLuint count, const GLint x[], const GLint y[],
                   const void *values, const GLubyte mask[] )
diff --git a/src/mesa/swrast/s_texrender.c b/src/mesa/swrast/s_texrender.c
index 08ceb4d..5234202 100644
--- a/src/mesa/swrast/s_texrender.c
+++ b/src/mesa/swrast/s_texrender.c
@@ -235,67 +235,6 @@ texture_put_row(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count
    }
 }
 
-/**
- * Put row of RGB values into a renderbuffer that wraps a texture image.
- */
-static void
-texture_put_row_rgb(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
-                GLint x, GLint y, const void *values, const GLubyte *mask)
-{
-   struct texture_renderbuffer *trb = texture_renderbuffer(rb);
-   const GLint z = trb->Zoffset;
-   GLuint i;
-
-   y += trb->Yoffset;
-
-   if (rb->DataType == CHAN_TYPE) {
-      const GLchan *rgb = (const GLchan *) values;
-      for (i = 0; i < count; i++) {
-         if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x + i, y, z, rgb);
-         }
-         rgb += 3;
-      }
-   }
-   else if (rb->DataType == GL_UNSIGNED_SHORT) {
-      const GLushort *zValues = (const GLushort *) values;
-      for (i = 0; i < count; i++) {
-         if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x + i, y, z, zValues + i);
-         }
-      }
-   }
-   else if (rb->DataType == GL_UNSIGNED_INT) {
-      const GLuint *zValues = (const GLuint *) values;
-      for (i = 0; i < count; i++) {
-         if (!mask || mask[i]) {
-            trb->Store(trb->TexImage, x + i, y, z, zValues + i);
-         }
-      }
-   }
-   else if (rb->DataType == GL_UNSIGNED_INT_24_8_EXT) {
-      const GLuint *zValues = (const GLuint *) values;
-      for (i = 0; i < count; i++) {
-         if (!mask || mask[i]) {
-            GLfloat flt = (GLfloat) ((zValues[i] >> 8) * (1.0 / 0xffffff));
-            trb->Store(trb->TexImage, x + i, y, z, &flt);
-         }
-      }
-   }
-   else if (rb->DataType == GL_UNSIGNED_INT_8_24_REV_MESA) {
-      const GLuint *zValues = (const GLuint *) values;
-      for (i = 0; i < count; i++) {
-         if (!mask || mask[i]) {
-            GLfloat flt = (GLfloat) ((zValues[i] & 0xffffff) * (1.0 / 0xffffff));
-            trb->Store(trb->TexImage, x + i, y, z, &flt);
-         }
-      }
-   }
-   else {
-      _mesa_problem(ctx, "invalid rb->DataType in texture_put_row");
-   }
-}
-
 
 static void
 texture_put_values(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
@@ -399,7 +338,6 @@ wrap_texture(struct gl_context *ctx, struct gl_renderbuffer_attachment *att)
    trb->Base.GetRow = texture_get_row;
    trb->Base.GetValues = texture_get_values;
    trb->Base.PutRow = texture_put_row;
-   trb->Base.PutRowRGB = texture_put_row_rgb;
    trb->Base.PutValues = texture_put_values;
 
    /* update attachment point */
-- 
1.7.3.4



More information about the mesa-dev mailing list