st/mesa: fix pipe_get_transfer() call in fallback_copy_texsubimage()
authorBrian Paul <brianp@vmware.com>
Fri, 24 Jun 2011 19:59:33 +0000 (13:59 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 24 Jun 2011 20:03:40 +0000 (14:03 -0600)
Commit 1a339b6c71ebab6e1a64f05b2e133022d3bbcd15 caused us to take
a different path through the glCopyTexSubImage() code.  The
pipe_get_transfer() call neglected to pass the texture's level, face
and slice info.  So we were always transferring from the 0th mipmap
level even when the source renderbuffer was a non-zero mipmap level
in a texture.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=38649

NOTE: This is a candidate for the 7.10 branch.

src/mesa/state_tracker/st_cb_texture.c

index 88f62902b25d321d88539dd676a2e4f43bdf6efc..d52e273514d166b8a9d5ca9fc8e33259d6faf8ee 100644 (file)
@@ -1241,7 +1241,8 @@ fallback_copy_texsubimage(struct gl_context *ctx, GLenum target, GLint level,
 
    src_trans = pipe_get_transfer(pipe,
                                  strb->texture,
-                                 0, 0,
+                                 strb->rtt_level,
+                                 strb->rtt_face + strb->rtt_slice,
                                  PIPE_TRANSFER_READ,
                                  srcX, srcY,
                                  width, height);