renamed some vars, added a bunch of comments
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 21 Mar 2001 16:44:08 +0000 (16:44 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 21 Mar 2001 16:44:08 +0000 (16:44 +0000)
src/mesa/main/texstore.c
src/mesa/main/texstore.h
src/mesa/main/texutil.c
src/mesa/main/texutil_tmp.h

index 6ae40c9e80f06e13a80323524af04bf02a7aea8e..3c4a08371c4392b0d0cfbc888ab3764912360cbc 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: texstore.c,v 1.17 2001/03/21 01:08:37 brianp Exp $ */
+/* $Id: texstore.c,v 1.18 2001/03/21 16:44:08 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
 
 /*
  * Mesa 3-D graphics library
@@ -156,7 +156,7 @@ components_in_intformat( GLint format )
  */
 void
 _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
  */
 void
 _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
-                        GLenum texFormat, GLvoid *texDestAddr,
+                        GLenum texDestFormat, GLvoid *texDestAddr,
                         GLint srcWidth, GLint srcHeight, GLint srcDepth,
                         GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
                         GLint dstRowStride, GLint dstImageStride,
                         GLint srcWidth, GLint srcHeight, GLint srcDepth,
                         GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
                         GLint dstRowStride, GLint dstImageStride,
@@ -180,12 +180,12 @@ _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
    ASSERT(srcAddr);
    ASSERT(srcPacking);
 
    ASSERT(srcAddr);
    ASSERT(srcPacking);
 
-   texComponents = components_in_intformat(texFormat);
+   texComponents = components_in_intformat(texDestFormat);
 
    /* try common 2D texture cases first */
    if (!ctx->_ImageTransferState && dimensions == 2 && srcType == CHAN_TYPE) {
 
 
    /* try common 2D texture cases first */
    if (!ctx->_ImageTransferState && dimensions == 2 && srcType == CHAN_TYPE) {
 
-      if (srcFormat == texFormat) {
+      if (srcFormat == texDestFormat) {
          /* This will cover the common GL_RGB, GL_RGBA, GL_ALPHA,
           * GL_LUMINANCE_ALPHA, etc. texture formats.  Use memcpy().
           */
          /* This will cover the common GL_RGB, GL_RGBA, GL_ALPHA,
           * GL_LUMINANCE_ALPHA, etc. texture formats.  Use memcpy().
           */
@@ -210,7 +210,7 @@ _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
          }
          return;  /* all done */
       }
          }
          return;  /* all done */
       }
-      else if (srcFormat == GL_RGBA && texFormat == GL_RGB) {
+      else if (srcFormat == GL_RGBA && texDestFormat == GL_RGB) {
          /* commonly used by Quake */
          const GLchan *src = (const GLchan *) _mesa_image_address(
                                    srcPacking, srcAddr, srcWidth, srcHeight,
          /* commonly used by Quake */
          const GLchan *src = (const GLchan *) _mesa_image_address(
                                    srcPacking, srcAddr, srcWidth, srcHeight,
@@ -239,7 +239,7 @@ _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
    /*
     * General case solutions
     */
    /*
     * General case solutions
     */
-   if (texFormat == GL_COLOR_INDEX) {
+   if (texDestFormat == GL_COLOR_INDEX) {
       /* color index texture */
       const GLenum texType = CHAN_TYPE;
       GLint img, row;
       /* color index texture */
       const GLenum texType = CHAN_TYPE;
       GLint img, row;
@@ -259,7 +259,7 @@ _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
          dest += dstImageStride;
       }
    }
          dest += dstImageStride;
       }
    }
-   else if (texFormat == GL_DEPTH_COMPONENT) {
+   else if (texDestFormat == GL_DEPTH_COMPONENT) {
       /* Depth texture (shadow maps) */
       GLint img, row;
       GLubyte *dest = (GLubyte *) texDestAddr
       /* Depth texture (shadow maps) */
       GLint img, row;
       GLubyte *dest = (GLubyte *) texDestAddr
@@ -342,7 +342,7 @@ _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
             for (row = 0; row < convHeight; row++) {
                _mesa_pack_float_rgba_span(ctx, convWidth,
                                           (const GLfloat (*)[4]) srcf,
             for (row = 0; row < convHeight; row++) {
                _mesa_pack_float_rgba_span(ctx, convWidth,
                                           (const GLfloat (*)[4]) srcf,
-                                          texFormat, CHAN_TYPE,
+                                          texDestFormat, CHAN_TYPE,
                                           dest, &_mesa_native_packing,
                                           ctx->_ImageTransferState
                                           & IMAGE_POST_CONVOLUTION_BITS);
                                           dest, &_mesa_native_packing,
                                           ctx->_ImageTransferState
                                           & IMAGE_POST_CONVOLUTION_BITS);
@@ -368,9 +368,9 @@ _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
                const GLvoid *srcRow = _mesa_image_address(srcPacking,
                                               srcAddr, srcWidth, srcHeight,
                                               srcFormat, srcType, img, row, 0);
                const GLvoid *srcRow = _mesa_image_address(srcPacking,
                                               srcAddr, srcWidth, srcHeight,
                                               srcFormat, srcType, img, row, 0);
-               _mesa_unpack_chan_color_span(ctx, srcWidth, texFormat, destRow,
-                                       srcFormat, srcType, srcRow, srcPacking,
-                                       ctx->_ImageTransferState);
+               _mesa_unpack_chan_color_span(ctx, srcWidth, texDestFormat,
+                                       destRow, srcFormat, srcType, srcRow,
+                                       srcPacking, ctx->_ImageTransferState);
                destRow += dstRowStride;
             }
             dest += dstImageStride;
                destRow += dstRowStride;
             }
             dest += dstImageStride;
index 585d44efe9fa42ab3a316c25ed836c6c5463c78d..c78a32703c888843c9e0284129aa608910494dc2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: texstore.h,v 1.4 2001/03/21 01:08:37 brianp Exp $ */
+/* $Id: texstore.h,v 1.5 2001/03/21 16:44:08 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
 
 /*
  * Mesa 3-D graphics library
@@ -39,7 +39,7 @@
 
 extern void
 _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
 
 extern void
 _mesa_transfer_teximage(GLcontext *ctx, GLuint dimensions,
-                        GLenum texFormat, GLvoid *texDestAddr,
+                        GLenum texDestFormat, GLvoid *texDestAddr,
                         GLint srcWidth, GLint srcHeight, GLint srcDepth,
                         GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
                         GLint dstRowStride, GLint dstImageStride,
                         GLint srcWidth, GLint srcHeight, GLint srcDepth,
                         GLint dstXoffset, GLint dstYoffset, GLint dstZoffset,
                         GLint dstRowStride, GLint dstImageStride,
index 217f1e2d6b87230b9851f19ed46a39c2105580dc..033b17912bbde51457147ca098b5f613b89e90f0 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: texutil.c,v 1.16 2001/03/18 13:40:58 gareth Exp $ */
+/* $Id: texutil.c,v 1.17 2001/03/21 16:44:08 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
 
 /*
  * Mesa 3-D graphics library
@@ -48,8 +48,9 @@ struct gl_texture_convert {
    GLint xoffset, yoffset, zoffset;    /* Subimage offset */
    GLint width, height, depth;         /* Subimage region */
 
    GLint xoffset, yoffset, zoffset;    /* Subimage offset */
    GLint width, height, depth;         /* Subimage region */
 
-   GLint imageWidth, imageHeight;      /* Full image dimensions */
-   GLenum format, type;
+   GLint dstImageWidth, dstImageHeight;        /* Dest image size */
+                                        /* Needed for subimage replacement */
+   GLenum format, type;                 /* Source (user) format and type */
 
    const struct gl_pixelstore_attrib *packing;
 
 
    const struct gl_pixelstore_attrib *packing;
 
@@ -701,11 +702,38 @@ _mesa_convert_texsubimage1d( GLint mesaFormat,
    return gl_convert_texsubimage2d_tab[mesaFormat]( &convert );
 }
 
    return gl_convert_texsubimage2d_tab[mesaFormat]( &convert );
 }
 
+
+/*
+ * Convert a user's 2D image into a texture image.  This basically repacks
+ * pixel data into the special texture formats used by core Mesa and the DRI
+ * drivers.  This function can do full images or subimages.
+ *
+ * We return a boolean because this function may not accept some kinds of
+ * source image formats and/or types.  For example, if the incoming
+ * format/type = GL_BGR, GL_UNSIGNED_INT this function probably won't
+ * be able to do the conversion.
+ *
+ * In that case, the incoming image should first be simplified to one of
+ * the "canonical" formats (GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA,
+ * GL_INTENSITY, GL_RGB, GL_RGBA) and types (GL_CHAN).  We can do that
+ * with the _mesa_transfer_teximage() function.  That function will also
+ * do image transfer operations such as scale/bias and convolution.
+ *
+ * Input:
+ *   mesaFormat - one of the MESA_FORMAT_* values from texformat.h
+ *   xoffset, yoffset - position in dest image to put data
+ *   width, height - incoming image size, also size of dest region.
+ *   dstImageWidth - width (row stride) of dest image in pixels
+ *   format, type - incoming image format and type
+ *   packing - describes incoming image packing
+ *   srcImage - pointer to source image
+ *   destImage - pointer to dest image
+ */
 GLboolean
 _mesa_convert_texsubimage2d( GLint mesaFormat,
                             GLint xoffset, GLint yoffset,
                             GLint width, GLint height,
 GLboolean
 _mesa_convert_texsubimage2d( GLint mesaFormat,
                             GLint xoffset, GLint yoffset,
                             GLint width, GLint height,
-                            GLint imageWidth,
+                            GLint destImageWidth,
                             GLenum format, GLenum type,
                             const struct gl_pixelstore_attrib *packing,
                             const GLvoid *srcImage, GLvoid *dstImage )
                             GLenum format, GLenum type,
                             const struct gl_pixelstore_attrib *packing,
                             const GLvoid *srcImage, GLvoid *dstImage )
@@ -725,7 +753,7 @@ _mesa_convert_texsubimage2d( GLint mesaFormat,
    convert.yoffset = yoffset;
    convert.width = width;
    convert.height = height;
    convert.yoffset = yoffset;
    convert.width = width;
    convert.height = height;
-   convert.imageWidth = imageWidth;
+   convert.dstImageWidth = destImageWidth;
    convert.format = format;
    convert.type = type;
    convert.packing = packing;
    convert.format = format;
    convert.type = type;
    convert.packing = packing;
@@ -737,7 +765,7 @@ _mesa_convert_texsubimage2d( GLint mesaFormat,
    if ( convert_needs_packing( packing, format, type ) )
       convert.index |= CONVERT_PACKING_BIT;
 
    if ( convert_needs_packing( packing, format, type ) )
       convert.index |= CONVERT_PACKING_BIT;
 
-   if ( width != imageWidth )
+   if ( width != destImageWidth )
       convert.index |= CONVERT_STRIDE_BIT;
 
    return gl_convert_texsubimage2d_tab[mesaFormat]( &convert );
       convert.index |= CONVERT_STRIDE_BIT;
 
    return gl_convert_texsubimage2d_tab[mesaFormat]( &convert );
@@ -747,7 +775,7 @@ GLboolean
 _mesa_convert_texsubimage3d( GLint mesaFormat,
                             GLint xoffset, GLint yoffset, GLint zoffset,
                             GLint width, GLint height, GLint depth,
 _mesa_convert_texsubimage3d( GLint mesaFormat,
                             GLint xoffset, GLint yoffset, GLint zoffset,
                             GLint width, GLint height, GLint depth,
-                            GLint imageWidth, GLint imageHeight,
+                            GLint dstImageWidth, GLint dstImageHeight,
                             GLenum format, GLenum type,
                             const struct gl_pixelstore_attrib *packing,
                             const GLvoid *srcImage, GLvoid *dstImage )
                             GLenum format, GLenum type,
                             const struct gl_pixelstore_attrib *packing,
                             const GLvoid *srcImage, GLvoid *dstImage )
@@ -769,8 +797,8 @@ _mesa_convert_texsubimage3d( GLint mesaFormat,
    convert.width = width;
    convert.height = height;
    convert.depth = depth;
    convert.width = width;
    convert.height = height;
    convert.depth = depth;
-   convert.imageWidth = imageWidth;
-   convert.imageHeight = imageHeight;
+   convert.dstImageWidth = dstImageWidth;
+   convert.dstImageHeight = dstImageHeight;
    convert.format = format;
    convert.type = type;
    convert.packing = packing;
    convert.format = format;
    convert.type = type;
    convert.packing = packing;
@@ -782,7 +810,7 @@ _mesa_convert_texsubimage3d( GLint mesaFormat,
    if ( convert_needs_packing( packing, format, type ) )
       convert.index |= CONVERT_PACKING_BIT;
 
    if ( convert_needs_packing( packing, format, type ) )
       convert.index |= CONVERT_PACKING_BIT;
 
-   if ( width != imageWidth || height != imageHeight )
+   if ( width != dstImageWidth || height != dstImageHeight )
       convert.index |= CONVERT_STRIDE_BIT;
 
    return gl_convert_texsubimage3d_tab[mesaFormat]( &convert );
       convert.index |= CONVERT_STRIDE_BIT;
 
    return gl_convert_texsubimage3d_tab[mesaFormat]( &convert );
index 6a1f002fc8acb525448fe10703c17ec4c96e0062..4d55e86414fba6c67fbcba5c883db8b6f8a368bb 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: texutil_tmp.h,v 1.4 2001/03/20 10:18:13 joukj Exp $ */
+/* $Id: texutil_tmp.h,v 1.5 2001/03/21 16:44:08 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
 
 /*
  * Mesa 3-D graphics library
 
 #define DST_TEXEL_BYTES                (4 / DST_TEXELS_PER_DWORD)
 #define DST_ROW_WIDTH          (convert->width * DST_TEXEL_BYTES)
 
 #define DST_TEXEL_BYTES                (4 / DST_TEXELS_PER_DWORD)
 #define DST_ROW_WIDTH          (convert->width * DST_TEXEL_BYTES)
-#define DST_ROW_STRIDE         (convert->imageWidth * DST_TEXEL_BYTES)
-#define DST_IMG_STRIDE         (convert->imageWidth *                  \
-                                convert->imageHeight * DST_TEXEL_BYTES)
+#define DST_ROW_STRIDE         (convert->dstImageWidth * DST_TEXEL_BYTES)
+#define DST_IMG_STRIDE         (convert->dstImageWidth *               \
+                                convert->dstImageHeight * DST_TEXEL_BYTES)
 
 
 /* ================================================================
 
 
 /* ================================================================
- * PRE: No pixelstore attribs, width == imageWidth.
+ * PRE: No pixelstore attribs, width == dstImageWidth.
  */
 static GLboolean
 TAG(texsubimage2d)( struct gl_texture_convert *convert )
 {
    const GLubyte *src = (const GLubyte *)convert->srcImage;
    GLuint *dst = (GLuint *)((GLubyte *)convert->dstImage +
  */
 static GLboolean
 TAG(texsubimage2d)( struct gl_texture_convert *convert )
 {
    const GLubyte *src = (const GLubyte *)convert->srcImage;
    GLuint *dst = (GLuint *)((GLubyte *)convert->dstImage +
-                           (convert->yoffset * convert->imageWidth +
+                           (convert->yoffset * convert->dstImageWidth +
                             convert->xoffset) * DST_TEXEL_BYTES);
    GLint dwords, i;
    (void) dwords; (void) i;
                             convert->xoffset) * DST_TEXEL_BYTES);
    GLint dwords, i;
    (void) dwords; (void) i;
@@ -73,7 +73,7 @@ TAG(texsubimage2d)( struct gl_texture_convert *convert )
    return GL_TRUE;
 }
 
    return GL_TRUE;
 }
 
-/* PRE: As above, height == imageHeight also.
+/* PRE: As above, height == dstImageHeight also.
  */
 static GLboolean
 TAG(texsubimage3d)( struct gl_texture_convert *convert )
  */
 static GLboolean
 TAG(texsubimage3d)( struct gl_texture_convert *convert )
@@ -107,25 +107,25 @@ TAG(texsubimage3d)( struct gl_texture_convert *convert )
 
 
 /* ================================================================
 
 
 /* ================================================================
- * PRE: No pixelstore attribs, width != imageWidth.
+ * PRE: No pixelstore attribs, width != dstImageWidth.
  */
 static GLboolean
 TAG(texsubimage2d_stride)( struct gl_texture_convert *convert )
 {
    const GLubyte *src = (const GLubyte *)convert->srcImage;
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
  */
 static GLboolean
 TAG(texsubimage2d_stride)( struct gl_texture_convert *convert )
 {
    const GLubyte *src = (const GLubyte *)convert->srcImage;
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
-                               (convert->yoffset * convert->imageWidth +
+                               (convert->yoffset * convert->dstImageWidth +
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col;
 
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col;
 
-   adjust = convert->imageWidth - convert->width;
+   adjust = convert->dstImageWidth - convert->width;
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
-              convert->height, convert->imageWidth );
+              convert->height, convert->dstImageWidth );
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
@@ -140,26 +140,26 @@ TAG(texsubimage2d_stride)( struct gl_texture_convert *convert )
    return GL_TRUE;
 }
 
    return GL_TRUE;
 }
 
-/* PRE: As above, or height != imageHeight also.
+/* PRE: As above, or height != dstImageHeight also.
  */
 static GLboolean
 TAG(texsubimage3d_stride)( struct gl_texture_convert *convert )
 {
    const GLubyte *src = (const GLubyte *)convert->srcImage;
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
  */
 static GLboolean
 TAG(texsubimage3d_stride)( struct gl_texture_convert *convert )
 {
    const GLubyte *src = (const GLubyte *)convert->srcImage;
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
-                               ((convert->zoffset * convert->imageHeight +
-                                 convert->yoffset) * convert->imageWidth +
+                               ((convert->zoffset * convert->dstImageHeight +
+                                 convert->yoffset) * convert->dstImageWidth +
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col, img;
 
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col, img;
 
-   adjust = convert->imageWidth - convert->width;
+   adjust = convert->dstImageWidth - convert->width;
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
-              convert->height, convert->imageWidth );
+              convert->height, convert->dstImageWidth );
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
@@ -180,7 +180,7 @@ TAG(texsubimage3d_stride)( struct gl_texture_convert *convert )
 
 
 /* ================================================================
 
 
 /* ================================================================
- * PRE: Require pixelstore attribs, width == imageWidth.
+ * PRE: Require pixelstore attribs, width == dstImageWidth.
  */
 static GLboolean
 TAG(texsubimage2d_pack)( struct gl_texture_convert *convert )
  */
 static GLboolean
 TAG(texsubimage2d_pack)( struct gl_texture_convert *convert )
@@ -223,7 +223,7 @@ TAG(texsubimage2d_pack)( struct gl_texture_convert *convert )
    return GL_TRUE;
 }
 
    return GL_TRUE;
 }
 
-/* PRE: as above, height == imageHeight also.
+/* PRE: as above, height == dstImageHeight also.
  */
 static GLboolean
 TAG(texsubimage3d_pack)( struct gl_texture_convert *convert )
  */
 static GLboolean
 TAG(texsubimage3d_pack)( struct gl_texture_convert *convert )
@@ -272,7 +272,7 @@ TAG(texsubimage3d_pack)( struct gl_texture_convert *convert )
 
 
 /* ================================================================
 
 
 /* ================================================================
- * PRE: Require pixelstore attribs, width != imageWidth.
+ * PRE: Require pixelstore attribs, width != dstImageWidth.
  */
 static GLboolean
 TAG(texsubimage2d_stride_pack)( struct gl_texture_convert *convert )
  */
 static GLboolean
 TAG(texsubimage2d_stride_pack)( struct gl_texture_convert *convert )
@@ -285,19 +285,19 @@ TAG(texsubimage2d_stride_pack)( struct gl_texture_convert *convert )
       _mesa_image_row_stride( convert->packing, convert->width,
                              convert->format, convert->type );
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
       _mesa_image_row_stride( convert->packing, convert->width,
                              convert->format, convert->type );
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
-                               (convert->yoffset * convert->imageWidth +
+                               (convert->yoffset * convert->dstImageWidth +
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col;
    (void) col;
 
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col;
    (void) col;
 
-   adjust = convert->imageWidth - convert->width;
+   adjust = convert->dstImageWidth - convert->width;
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
-              convert->height, convert->imageWidth );
+              convert->height, convert->dstImageWidth );
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
@@ -305,7 +305,7 @@ TAG(texsubimage2d_stride_pack)( struct gl_texture_convert *convert )
 #ifdef CONVERT_DIRECT
       MEMCPY( dst, src, DST_ROW_WIDTH );
       src += srcRowStride;
 #ifdef CONVERT_DIRECT
       MEMCPY( dst, src, DST_ROW_WIDTH );
       src += srcRowStride;
-      dst += convert->imageWidth;
+      dst += convert->dstImageWidth;
 #else
       const GLubyte *srcRow = src;
       for ( col = 0 ; col < convert->width ; col++ ) {
 #else
       const GLubyte *srcRow = src;
       for ( col = 0 ; col < convert->width ; col++ ) {
@@ -320,7 +320,7 @@ TAG(texsubimage2d_stride_pack)( struct gl_texture_convert *convert )
    return GL_TRUE;
 }
 
    return GL_TRUE;
 }
 
-/* PRE: As above, or height != imageHeight also.
+/* PRE: As above, or height != dstImageHeight also.
  */
 static GLboolean
 TAG(texsubimage3d_stride_pack)( struct gl_texture_convert *convert )
  */
 static GLboolean
 TAG(texsubimage3d_stride_pack)( struct gl_texture_convert *convert )
@@ -333,20 +333,20 @@ TAG(texsubimage3d_stride_pack)( struct gl_texture_convert *convert )
       _mesa_image_row_stride( convert->packing, convert->width,
                              convert->format, convert->type );
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
       _mesa_image_row_stride( convert->packing, convert->width,
                              convert->format, convert->type );
    DST_TYPE *dst = (DST_TYPE *)((GLubyte *)convert->dstImage +
-                               ((convert->zoffset * convert->imageHeight +
-                                 convert->yoffset) * convert->imageWidth +
+                               ((convert->zoffset * convert->dstImageHeight +
+                                 convert->yoffset) * convert->dstImageWidth +
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col, img;
    (void) col;
 
                                 convert->xoffset) * DST_TEXEL_BYTES);
    GLint adjust;
    GLint row, col, img;
    (void) col;
 
-   adjust = convert->imageWidth - convert->width;
+   adjust = convert->dstImageWidth - convert->width;
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
 
    if ( DBG ) {
       fprintf( stderr, __FUNCTION__ ":\n" );
       fprintf( stderr, "   x=%d y=%d w=%d h=%d s=%d\n",
               convert->xoffset, convert->yoffset, convert->width,
-              convert->height, convert->imageWidth );
+              convert->height, convert->dstImageWidth );
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
       fprintf( stderr, "   adjust=%d\n", adjust );
    }
 
@@ -355,7 +355,7 @@ TAG(texsubimage3d_stride_pack)( struct gl_texture_convert *convert )
 #ifdef CONVERT_DIRECT
         MEMCPY( dst, src, DST_ROW_WIDTH );
         src += srcRowStride;
 #ifdef CONVERT_DIRECT
         MEMCPY( dst, src, DST_ROW_WIDTH );
         src += srcRowStride;
-        dst += convert->imageWidth;
+        dst += convert->dstImageWidth;
 #else
         const GLubyte *srcRow = src;
         for ( col = 0 ; col < convert->width ; col++ ) {
 #else
         const GLubyte *srcRow = src;
         for ( col = 0 ; col < convert->width ; col++ ) {