From 271fdedc5aa979e428255008705e26de2409b0e8 Mon Sep 17 00:00:00 2001 From: Utku Iseri Date: Fri, 4 Oct 2024 13:27:34 +0200 Subject: [PATCH] st/mesa: clamp reported max lod bias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit mesa clamps lod bias values to -32,31 during quantization, so the reported max value should also be limited to 31. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11977 Reviewed-by: Marek Olšák Part-of: --- src/mesa/state_tracker/st_extensions.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index a139521143f..06e26b73947 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -58,6 +58,11 @@ static unsigned _min(unsigned a, unsigned b) return (a < b) ? a : b; } +static float _minf(float a, float b) +{ + return (a < b) ? a : b; +} + static float _maxf(float a, float b) { return (a > b) ? a : b; @@ -174,7 +179,7 @@ void st_init_limits(struct pipe_screen *screen, screen->get_paramf(screen, PIPE_CAPF_MAX_TEXTURE_ANISOTROPY)); c->MaxTextureLodBias = - screen->get_paramf(screen, PIPE_CAPF_MAX_TEXTURE_LOD_BIAS); + _minf(31.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_TEXTURE_LOD_BIAS)); c->QuadsFollowProvokingVertexConvention = screen->get_param(screen,