mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
Added support for EXT_texture_mirror_clamp.
This commit is contained in:
parent
b44d4a0d6a
commit
e54f260170
4 changed files with 32 additions and 10 deletions
|
|
@ -136,6 +136,7 @@ static const char * const card_extensions[] =
|
|||
"GL_EXT_texture_env_dot3",
|
||||
"GL_EXT_texture_filter_anisotropic",
|
||||
"GL_EXT_texture_lod_bias",
|
||||
"GL_EXT_texture_mirror_clamp",
|
||||
"GL_EXT_texture_rectangle",
|
||||
"GL_ATI_texture_env_combine3",
|
||||
"GL_ATI_texture_mirror_once",
|
||||
|
|
|
|||
|
|
@ -89,13 +89,17 @@ static void r200SetTexWrap( r200TexObjPtr t, GLenum swrap, GLenum twrap, GLenum
|
|||
case GL_MIRRORED_REPEAT:
|
||||
t->pp_txfilter |= R200_CLAMP_S_MIRROR;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_ATI:
|
||||
case GL_MIRROR_CLAMP_EXT:
|
||||
t->pp_txfilter |= R200_CLAMP_S_MIRROR_CLAMP_GL;
|
||||
is_clamp = GL_TRUE;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_TO_EDGE_ATI:
|
||||
case GL_MIRROR_CLAMP_TO_EDGE_EXT:
|
||||
t->pp_txfilter |= R200_CLAMP_S_MIRROR_CLAMP_LAST;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_TO_BORDER_EXT:
|
||||
t->pp_txfilter |= R200_CLAMP_S_MIRROR_CLAMP_GL;
|
||||
is_clamp_to_border = GL_TRUE;
|
||||
break;
|
||||
default:
|
||||
_mesa_problem(NULL, "bad S wrap mode in %s", __FUNCTION__);
|
||||
}
|
||||
|
|
@ -118,13 +122,17 @@ static void r200SetTexWrap( r200TexObjPtr t, GLenum swrap, GLenum twrap, GLenum
|
|||
case GL_MIRRORED_REPEAT:
|
||||
t->pp_txfilter |= R200_CLAMP_T_MIRROR;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_ATI:
|
||||
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_ATI:
|
||||
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__);
|
||||
}
|
||||
|
|
@ -149,13 +157,17 @@ static void r200SetTexWrap( r200TexObjPtr t, GLenum swrap, GLenum twrap, GLenum
|
|||
case GL_MIRRORED_REPEAT:
|
||||
t->pp_txformat_x |= R200_CLAMP_Q_MIRROR;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_ATI:
|
||||
case GL_MIRROR_CLAMP_EXT:
|
||||
t->pp_txformat_x |= R200_CLAMP_Q_MIRROR_CLAMP_GL;
|
||||
is_clamp = GL_TRUE;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_TO_EDGE_ATI:
|
||||
case GL_MIRROR_CLAMP_TO_EDGE_EXT:
|
||||
t->pp_txformat_x |= R200_CLAMP_Q_MIRROR_CLAMP_LAST;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_TO_BORDER_EXT:
|
||||
t->pp_txformat_x |= R200_CLAMP_Q_MIRROR_CLAMP_GL;
|
||||
is_clamp_to_border = GL_TRUE;
|
||||
break;
|
||||
default:
|
||||
_mesa_problem(NULL, "bad R wrap mode in %s", __FUNCTION__);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ static const char * const card_extensions[] =
|
|||
"GL_EXT_texture_env_dot3",
|
||||
"GL_EXT_texture_filter_anisotropic",
|
||||
"GL_EXT_texture_lod_bias",
|
||||
"GL_EXT_texture_mirror_clamp",
|
||||
"GL_ATI_texture_env_combine3",
|
||||
"GL_ATI_texture_mirror_once",
|
||||
"GL_MESA_ycbcr_texture",
|
||||
|
|
|
|||
|
|
@ -88,13 +88,17 @@ static void radeonSetTexWrap( radeonTexObjPtr t, GLenum swrap, GLenum twrap )
|
|||
case GL_MIRRORED_REPEAT:
|
||||
t->pp_txfilter |= RADEON_CLAMP_S_MIRROR;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_ATI:
|
||||
case GL_MIRROR_CLAMP_EXT:
|
||||
t->pp_txfilter |= RADEON_CLAMP_S_MIRROR_CLAMP_GL;
|
||||
is_clamp = GL_TRUE;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_TO_EDGE_ATI:
|
||||
case GL_MIRROR_CLAMP_TO_EDGE_EXT:
|
||||
t->pp_txfilter |= RADEON_CLAMP_S_MIRROR_CLAMP_LAST;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_TO_BORDER_EXT:
|
||||
t->pp_txfilter |= RADEON_CLAMP_S_MIRROR_CLAMP_GL;
|
||||
is_clamp_to_border = GL_TRUE;
|
||||
break;
|
||||
default:
|
||||
_mesa_problem(NULL, "bad S wrap mode in %s", __FUNCTION__);
|
||||
}
|
||||
|
|
@ -117,13 +121,17 @@ static void radeonSetTexWrap( radeonTexObjPtr t, GLenum swrap, GLenum twrap )
|
|||
case GL_MIRRORED_REPEAT:
|
||||
t->pp_txfilter |= RADEON_CLAMP_T_MIRROR;
|
||||
break;
|
||||
case GL_MIRROR_CLAMP_ATI:
|
||||
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_ATI:
|
||||
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__);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue