Mesa (master): radeon: fix tex1d-border2d

Dave Airlie airlied at kemper.freedesktop.org
Thu Nov 10 15:53:23 UTC 2011


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Nov 10 13:47:12 2011 +0000

radeon: fix tex1d-border2d

Fixes pigit test with T wrap usage.

Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/mesa/drivers/dri/radeon/radeon_tex.c |   64 +++++++++++++++--------------
 1 files changed, 33 insertions(+), 31 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_tex.c b/src/mesa/drivers/dri/radeon/radeon_tex.c
index f0b4107..71bd464 100644
--- a/src/mesa/drivers/dri/radeon/radeon_tex.c
+++ b/src/mesa/drivers/dri/radeon/radeon_tex.c
@@ -99,37 +99,39 @@ static void radeonSetTexWrap( radeonTexObjPtr t, GLenum swrap, GLenum twrap )
       _mesa_problem(NULL, "bad S wrap mode in %s", __FUNCTION__);
    }
 
-   switch ( twrap ) {
-   case GL_REPEAT:
-      t->pp_txfilter |= RADEON_CLAMP_T_WRAP;
-      break;
-   case GL_CLAMP:
-      t->pp_txfilter |= RADEON_CLAMP_T_CLAMP_GL;
-      is_clamp = GL_TRUE;
-      break;
-   case GL_CLAMP_TO_EDGE:
-      t->pp_txfilter |= RADEON_CLAMP_T_CLAMP_LAST;
-      break;
-   case GL_CLAMP_TO_BORDER:
-      t->pp_txfilter |= RADEON_CLAMP_T_CLAMP_GL;
-      is_clamp_to_border = GL_TRUE;
-      break;
-   case GL_MIRRORED_REPEAT:
-      t->pp_txfilter |= RADEON_CLAMP_T_MIRROR;
-      break;
-   case GL_MIRROR_CLAMP_EXT:
-      t->pp_txfilter |= RADEON_CLAMP_T_MIRROR_CLAMP_GL;
-      is_clamp = GL_TRUE;
-      break;
-   case GL_MIRROR_CLAMP_TO_EDGE_EXT:
-      t->pp_txfilter |= RADEON_CLAMP_T_MIRROR_CLAMP_LAST;
-      break;
-   case GL_MIRROR_CLAMP_TO_BORDER_EXT:
-      t->pp_txfilter |= RADEON_CLAMP_T_MIRROR_CLAMP_GL;
-      is_clamp_to_border = GL_TRUE;
-      break;
-   default:
-      _mesa_problem(NULL, "bad T wrap mode in %s", __FUNCTION__);
+   if (t->base.Target != GL_TEXTURE_1D) {
+      switch ( twrap ) {
+      case GL_REPEAT:
+	 t->pp_txfilter |= RADEON_CLAMP_T_WRAP;
+	 break;
+      case GL_CLAMP:
+	 t->pp_txfilter |= RADEON_CLAMP_T_CLAMP_GL;
+	 is_clamp = GL_TRUE;
+	 break;
+      case GL_CLAMP_TO_EDGE:
+	 t->pp_txfilter |= RADEON_CLAMP_T_CLAMP_LAST;
+	 break;
+      case GL_CLAMP_TO_BORDER:
+	 t->pp_txfilter |= RADEON_CLAMP_T_CLAMP_GL;
+	 is_clamp_to_border = GL_TRUE;
+	 break;
+      case GL_MIRRORED_REPEAT:
+	 t->pp_txfilter |= RADEON_CLAMP_T_MIRROR;
+	 break;
+      case GL_MIRROR_CLAMP_EXT:
+	 t->pp_txfilter |= RADEON_CLAMP_T_MIRROR_CLAMP_GL;
+	 is_clamp = GL_TRUE;
+	 break;
+      case GL_MIRROR_CLAMP_TO_EDGE_EXT:
+	 t->pp_txfilter |= RADEON_CLAMP_T_MIRROR_CLAMP_LAST;
+	 break;
+      case GL_MIRROR_CLAMP_TO_BORDER_EXT:
+	 t->pp_txfilter |= RADEON_CLAMP_T_MIRROR_CLAMP_GL;
+	 is_clamp_to_border = GL_TRUE;
+	 break;
+      default:
+	 _mesa_problem(NULL, "bad T wrap mode in %s", __FUNCTION__);
+      }
    }
 
    if ( is_clamp_to_border ) {




More information about the mesa-commit mailing list