gallium: fix the compressed texture hack in st_texture_image_copy()
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 25 Apr 2008 16:33:48 +0000 (10:33 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 25 Apr 2008 16:34:42 +0000 (10:34 -0600)
Actually, the hack is still there and needs to be revisited, but I get a bit
further with compressed textures now.

src/mesa/state_tracker/st_texture.c

index 8e3235cc99d1dd395422880b7c91be613edaaa20..66d81e2b959143bff5041da235ac270934e25b14 100644 (file)
@@ -290,8 +290,7 @@ st_texture_image_copy(struct pipe_context *pipe,
    GLuint i;
 
    /* XXX this is a hack */
-   if (dst->compressed)
-      height /= 4;
+   const GLuint copyHeight = dst->compressed ? height / 4 : height;
 
    for (i = 0; i < depth; i++) {
       GLuint srcLevel;
@@ -315,7 +314,7 @@ st_texture_image_copy(struct pipe_context *pipe,
                         0, 0, /* destX, Y */
                         src_surface,
                         0, 0, /* srcX, Y */
-                        width, height);
+                        width, copyHeight);
 
       pipe_surface_reference(&dst_surface, NULL);
       pipe_surface_reference(&src_surface, NULL);