Mesa (master): st/mesa: fix pipe_get_transfer() call in fallback_copy_texsubimage()

Brian Paul brianp at kemper.freedesktop.org
Fri Jun 24 20:03:47 UTC 2011


Module: Mesa
Branch: master
Commit: 09e71cf7228232aa203915c9248c79cf26c5b917
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09e71cf7228232aa203915c9248c79cf26c5b917

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Jun 24 13:59:33 2011 -0600

st/mesa: fix pipe_get_transfer() call in fallback_copy_texsubimage()

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 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index 88f6290..d52e273 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -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);




More information about the mesa-commit mailing list