Mesa (master): meta: Disable dithering during glGenerateMipmap
Chad Versace
chadversary at kemper.freedesktop.org
Tue Jan 3 16:25:35 UTC 2017
Module: Mesa
Branch: master
Commit: c4b87f129eb036c9615df3adcc1cebd9df10fc84
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4b87f129eb036c9615df3adcc1cebd9df10fc84
Author: Chad Versace <chadversary at chromium.org>
Date: Thu Dec 29 13:05:27 2016 -0800
meta: Disable dithering during glGenerateMipmap
Fixes tests 'dEQP-GLES3.functional.texture.mipmap.*.generate.rgba5551*' on
Intel Broadwell 0x1616.
The GL 4.5 spec describes the algorithm of glGenerateMipmap as:
The contents of the derived images are computed by repeated, filtered
reduction of the level base image. [...] No particular filter algorithm is
required, though a box filter is recommended as the default filter.
Consider a texture for which all pixels are identical at level 0.
>From the spec's description above, one may reasonably assume that the "filtered
reduction" of level 0 produces a new miplevel for which again all pixels are
identical. For any 2x2 subspan of identical pixels, it is difficult to see how
the "filtered reduction" of that subspan can produce a pixel that differs from
the source pixels.
Dithering during _mesa_meta_GenerateMipmap() violated that reasonable
assumption.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99210
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: mesa-stable at lists.freedesktop.org
---
src/mesa/drivers/common/meta_generate_mipmap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/common/meta_generate_mipmap.c b/src/mesa/drivers/common/meta_generate_mipmap.c
index bbe9d6d..55093e9 100644
--- a/src/mesa/drivers/common/meta_generate_mipmap.c
+++ b/src/mesa/drivers/common/meta_generate_mipmap.c
@@ -182,6 +182,7 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target,
_mesa_meta_begin(ctx, MESA_META_ALL & ~MESA_META_DRAW_BUFFERS);
_mesa_ColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+ _mesa_Disable(GL_DITHER);
/* Choose between glsl version and fixed function version of
* GenerateMipmap function.
More information about the mesa-commit
mailing list