diff options
| author | Nicolai Haehnle <nhaehnle@gmail.com> | 2008-07-26 16:16:23 +0200 | 
|---|---|---|
| committer | Nicolai Haehnle <nhaehnle@gmail.com> | 2008-07-26 16:16:23 +0200 | 
| commit | 85e44fcd51b2f2e0bb0c97161fdde1971767eefd (patch) | |
| tree | 1ad1d30cc27d37ca9ff267e6da57bf4bf4aac1e2 | |
| parent | 477fa8fe1241aedde281defca52f02a8e7385733 (diff) | |
r200: Do not set second coordinate clamping for 1D textures
Fixes piglit's tex1d-border test.
| -rw-r--r-- | src/mesa/drivers/dri/r200/r200_tex.c | 64 | 
1 files changed, 33 insertions, 31 deletions
| diff --git a/src/mesa/drivers/dri/r200/r200_tex.c b/src/mesa/drivers/dri/r200/r200_tex.c index e7a37dd4c9..24b9b3b696 100644 --- a/src/mesa/drivers/dri/r200/r200_tex.c +++ b/src/mesa/drivers/dri/r200/r200_tex.c @@ -102,37 +102,39 @@ static void r200SetTexWrap( r200TexObjPtr t, GLenum swrap, GLenum twrap, GLenum        _mesa_problem(NULL, "bad S wrap mode in %s", __FUNCTION__);     } -   switch ( twrap ) { -   case GL_REPEAT: -      t->pp_txfilter |= R200_CLAMP_T_WRAP; -      break; -   case GL_CLAMP: -      t->pp_txfilter |= R200_CLAMP_T_CLAMP_GL; -      is_clamp = GL_TRUE; -      break; -   case GL_CLAMP_TO_EDGE: -      t->pp_txfilter |= R200_CLAMP_T_CLAMP_LAST; -      break; -   case GL_CLAMP_TO_BORDER: -      t->pp_txfilter |= R200_CLAMP_T_CLAMP_GL; -      is_clamp_to_border = GL_TRUE; -      break; -   case GL_MIRRORED_REPEAT: -      t->pp_txfilter |= R200_CLAMP_T_MIRROR; -      break; -   case GL_MIRROR_CLAMP_EXT: -      t->pp_txfilter |= R200_CLAMP_T_MIRROR_CLAMP_GL; -      is_clamp = GL_TRUE; -      break; -   case GL_MIRROR_CLAMP_TO_EDGE_EXT: -      t->pp_txfilter |= R200_CLAMP_T_MIRROR_CLAMP_LAST; -      break; -   case GL_MIRROR_CLAMP_TO_BORDER_EXT: -      t->pp_txfilter |= R200_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.tObj->Target != GL_TEXTURE_1D) { +      switch ( twrap ) { +      case GL_REPEAT: +         t->pp_txfilter |= R200_CLAMP_T_WRAP; +         break; +      case GL_CLAMP: +         t->pp_txfilter |= R200_CLAMP_T_CLAMP_GL; +         is_clamp = GL_TRUE; +         break; +      case GL_CLAMP_TO_EDGE: +         t->pp_txfilter |= R200_CLAMP_T_CLAMP_LAST; +         break; +      case GL_CLAMP_TO_BORDER: +         t->pp_txfilter |= R200_CLAMP_T_CLAMP_GL; +         is_clamp_to_border = GL_TRUE; +         break; +      case GL_MIRRORED_REPEAT: +         t->pp_txfilter |= R200_CLAMP_T_MIRROR; +         break; +      case GL_MIRROR_CLAMP_EXT: +         t->pp_txfilter |= R200_CLAMP_T_MIRROR_CLAMP_GL; +         is_clamp = GL_TRUE; +         break; +      case GL_MIRROR_CLAMP_TO_EDGE_EXT: +         t->pp_txfilter |= R200_CLAMP_T_MIRROR_CLAMP_LAST; +         break; +      case GL_MIRROR_CLAMP_TO_BORDER_EXT: +         t->pp_txfilter |= R200_CLAMP_T_MIRROR_CLAMP_GL; +         is_clamp_to_border = GL_TRUE; +         break; +      default: +         _mesa_problem(NULL, "bad T wrap mode in %s", __FUNCTION__); +      }     }     t->pp_txformat_x &= ~R200_CLAMP_Q_MASK; | 
