summaryrefslogtreecommitdiff
path: root/src/mesa/main/samplerobj.c
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2023-08-23 14:55:48 +0300
committerMarge Bot <emma+marge@anholt.net>2023-08-24 04:26:52 +0000
commitd65fe6eff1fbba390d885c84630a96be37ea76a0 (patch)
treef6d49618883b252739e02922b8f9273e38367abf /src/mesa/main/samplerobj.c
parent26c5200acfbc9c8a69eb03b0a96dd116a7958b5c (diff)
mesa: fix some TexParameter and SamplerParameter cases
EXT extension was added without tests so these functions did not work properly. Fixes: 799710be889 ("mesa: Add EXT_texture_mirror_clamp_to_edge to extension table") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24845>
Diffstat (limited to 'src/mesa/main/samplerobj.c')
-rw-r--r--src/mesa/main/samplerobj.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c
index b0010893dd7..1018854689d 100644
--- a/src/mesa/main/samplerobj.c
+++ b/src/mesa/main/samplerobj.c
@@ -492,6 +492,15 @@ validate_texture_wrap_mode(struct gl_context *ctx, GLenum wrap)
{
const struct gl_extensions * const e = &ctx->Extensions;
+ bool mirror_clamp =
+ _mesa_has_ATI_texture_mirror_once(ctx) ||
+ _mesa_has_EXT_texture_mirror_clamp(ctx);
+
+ bool mirror_clamp_to_edge =
+ _mesa_has_ARB_texture_mirror_clamp_to_edge(ctx) ||
+ _mesa_has_EXT_texture_mirror_clamp_to_edge(ctx) ||
+ mirror_clamp;
+
switch (wrap) {
case GL_CLAMP:
/* From GL 3.0 specification section E.1 "Profiles and Deprecated
@@ -508,9 +517,9 @@ validate_texture_wrap_mode(struct gl_context *ctx, GLenum wrap)
case GL_CLAMP_TO_BORDER:
return GL_TRUE;
case GL_MIRROR_CLAMP_EXT:
- return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp;
+ return mirror_clamp;
case GL_MIRROR_CLAMP_TO_EDGE_EXT:
- return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp || e->ARB_texture_mirror_clamp_to_edge;
+ return mirror_clamp_to_edge;
case GL_MIRROR_CLAMP_TO_BORDER_EXT:
return e->EXT_texture_mirror_clamp;
default: