Module: Mesa Branch: master Commit: 89551ae04f4cf994c0f7f2ac3aef7e1c57936a29 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89551ae04f4cf994c0f7f2ac3aef7e1c57936a29
Author: Brian Paul <bri...@vmware.com> Date: Sat Jan 26 10:58:37 2013 -0700 xlib: use _mesa_generate_mipmap() for mipmap generation, not meta The swrast fragment program interpreter has trouble computing the right texture LOD because it doesn't have easy access to input derivatives. This causes the GLSL-based meta generate mipmap code to fetch texels from the wrong mipmap level. One possible fix would be to set the GL_TEXTURE_MIN/MAX_LOD parameters to limit sampling from the right level. But let's just use the _mesa_generate_mipmap() fallback since it's a lot faster than using the fragment shader interpreter. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=54240 Note: This is a candidate for the 9.0 branch. Reviewed-by: José Fonseca <jfons...@vmware.com> --- src/mesa/drivers/x11/xm_dd.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index cdf06aa..cfbdeb5 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -34,6 +34,7 @@ #include "main/colormac.h" #include "main/fbobject.h" #include "main/macros.h" +#include "main/mipmap.h" #include "main/image.h" #include "main/imports.h" #include "main/mtypes.h" @@ -869,6 +870,8 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, driver->MapRenderbuffer = xmesa_MapRenderbuffer; driver->UnmapRenderbuffer = xmesa_UnmapRenderbuffer; + driver->GenerateMipmap = _mesa_generate_mipmap; + #if ENABLE_EXT_timer_query driver->NewQueryObject = xmesa_new_query_object; driver->BeginQuery = xmesa_begin_query; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit