[Mesa-dev] [PATCH 1/5] mesa: Add infrastructure for GL_ARB_texture_mirror_clamp_to_edge.
Marek Olšák
maraeo at gmail.com
Fri Oct 18 13:13:00 CEST 2013
For the series:
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Fri, Oct 18, 2013 at 11:20 AM, Rico Schüller <kgbricola at web.de> wrote:
> ---
> src/mesa/main/extensions.c | 1 +
> src/mesa/main/mtypes.h | 1 +
> src/mesa/main/samplerobj.c | 2 +-
> src/mesa/main/texparam.c | 12 +++++++++---
> 4 Dateien geändert, 12 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)
>
> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
> index 2507fdf..bf8d7a3 100644
> --- a/src/mesa/main/extensions.c
> +++ b/src/mesa/main/extensions.c
> @@ -144,6 +144,7 @@ static const struct extension extension_table[] = {
> { "GL_ARB_texture_float", o(ARB_texture_float), GL, 2004 },
> { "GL_ARB_texture_gather", o(ARB_texture_gather), GL, 2009 },
> { "GL_ARB_texture_mirrored_repeat", o(dummy_true), GLL, 2001 },
> + { "GL_ARB_texture_mirror_clamp_to_edge", o(ARB_texture_mirror_clamp_to_edge), GL, 2013 },
> { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL, 2009 },
> { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL, 2003 },
> { "GL_ARB_texture_query_levels", o(ARB_texture_query_levels), GL, 2012 },
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index 15893ec..6374e8c 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -3218,6 +3218,7 @@ struct gl_extensions
> GLboolean ARB_texture_env_dot3;
> GLboolean ARB_texture_float;
> GLboolean ARB_texture_gather;
> + GLboolean ARB_texture_mirror_clamp_to_edge;
> GLboolean ARB_texture_multisample;
> GLboolean ARB_texture_non_power_of_two;
> GLboolean ARB_texture_query_levels;
> diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c
> index c3b612c..7285ef5 100644
> --- a/src/mesa/main/samplerobj.c
> +++ b/src/mesa/main/samplerobj.c
> @@ -305,7 +305,7 @@ validate_texture_wrap_mode(struct gl_context *ctx, GLenum wrap)
> case GL_MIRROR_CLAMP_EXT:
> return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp;
> case GL_MIRROR_CLAMP_TO_EDGE_EXT:
> - return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp;
> + return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp || e->ARB_texture_mirror_clamp_to_edge;
> case GL_MIRROR_CLAMP_TO_BORDER_EXT:
> return e->EXT_texture_mirror_clamp;
> default:
> diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
> index 31723c3..50bc930 100644
> --- a/src/mesa/main/texparam.c
> +++ b/src/mesa/main/texparam.c
> @@ -84,16 +84,22 @@ validate_texture_wrap_mode(struct gl_context * ctx, GLenum target, GLenum wrap)
> break;
>
> case GL_MIRROR_CLAMP_EXT:
> - case GL_MIRROR_CLAMP_TO_EDGE_EXT:
> supported = is_desktop_gl
> && (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp)
> - && (target != GL_TEXTURE_RECTANGLE_NV)
> + && (target != GL_TEXTURE_RECTANGLE_NV)
> + && (target != GL_TEXTURE_EXTERNAL_OES);
> + break;
> +
> + case GL_MIRROR_CLAMP_TO_EDGE_EXT:
> + supported = is_desktop_gl
> + && (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp || e->ARB_texture_mirror_clamp_to_edge)
> + && (target != GL_TEXTURE_RECTANGLE_NV)
> && (target != GL_TEXTURE_EXTERNAL_OES);
> break;
>
> case GL_MIRROR_CLAMP_TO_BORDER_EXT:
> supported = is_desktop_gl && e->EXT_texture_mirror_clamp
> - && (target != GL_TEXTURE_RECTANGLE_NV)
> + && (target != GL_TEXTURE_RECTANGLE_NV)
> && (target != GL_TEXTURE_EXTERNAL_OES);
> break;
>
> --
> 1.7.11.7
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list