Mesa (master): st/mesa: use fallback path for glCopyTexSubImage( GL_TEXTURE_1D_ARRAY)

Brian Paul brianp at kemper.freedesktop.org
Mon Aug 27 19:34:39 UTC 2012


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

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Aug 27 09:31:18 2012 -0600

st/mesa: use fallback path for glCopyTexSubImage(GL_TEXTURE_1D_ARRAY)

Fixes many failing cases in piglit copyteximage test.

Reviewed-by: José Fonseca <jfonseca at vmware.com>

---

 src/mesa/state_tracker/st_cb_texture.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index 3de96ad..ed3bbc7 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -989,6 +989,16 @@ st_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
       goto fallback;
    }
 
+   if (texImage->TexObject->Target == GL_TEXTURE_1D_ARRAY) {
+      /* 1D arrays might be thought of as 2D images but the actual layout
+       * might not be that way.  At some points, we convert OpenGL's 1D
+       * array 'height' into gallium 'layers' and that prevents the blit
+       * utility code from doing the right thing.  Simpy use the memcpy-based
+       * fallback.
+       */
+      goto fallback;
+   }
+
    if (matching_base_formats &&
        src_format == dest_format &&
        !do_flip) {




More information about the mesa-commit mailing list