Merge branch '7.8'
authorBrian Paul <brianp@vmware.com>
Wed, 28 Apr 2010 16:10:51 +0000 (10:10 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 28 Apr 2010 16:10:51 +0000 (10:10 -0600)
Conflicts:

src/mesa/state_tracker/st_gen_mipmap.c

src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_gen_mipmap.c

index 613fff019d99f33d4c00a60c5fb5e35d47405920..3457214ca4c24e8c384f392459c823d7784d43a7 100644 (file)
@@ -974,7 +974,10 @@ st_get_tex_image(GLcontext * ctx, GLenum target, GLint level,
                                             PIPE_TRANSFER_READ, 0, 0,
                                             stImage->base.Width,
                                             stImage->base.Height);
-      texImage->RowStride = stImage->transfer->stride / util_format_get_blocksize(stImage->pt->format);
+      /* compute stride in texels from stride in bytes */
+      texImage->RowStride = stImage->transfer->stride
+         * util_format_get_blockwidth(stImage->pt->format)
+         / util_format_get_blocksize(stImage->pt->format);
    }
    else {
       /* Otherwise, the image should actually be stored in
index 24a072ee12e16c3472225dc2a289d629b61cc7a9..b8b75c7de629189ae5d35b8e54eaf6ddfb7b5b88 100644 (file)
@@ -377,7 +377,9 @@ st_generate_mipmap(GLcontext *ctx, GLenum target,
 
       dstImage->TexFormat = srcImage->TexFormat;
 
-      stImage = (struct st_texture_image *) dstImage;
+      stImage = st_texture_image(dstImage);
+      stImage->level = dstLevel;
+
       pipe_resource_reference(&stImage->pt, pt);
    }
 }