Package: mesa-swx11-source Version: 6.4.1-0.4+ucko1 Severity: important Tags: patch upstream
[XSF: when this patch is in, please bump xorg-server's build dependency on mesa-swx11-source accordingly in order to pick up the fixes.] As reported at https://bugs.freedesktop.org/show_bug.cgi?id=5835 and https://bugs.freedesktop.org/show_bug.cgi?id=6419, the X server's indirect rendering code (built from mesa-swx11-source) falls over on 64-bit systems, with the server reporting errors of the form No matching visual for __GLcontextMode with visual class = N (N), nplanes = N and libGL reporting corresponding errors of the form 3D driver claims to not support visual 0xN The underlying problem seems to be data type mismatches (some due to Mesa defaulting to the wrong thing in the absence of dix-config); I was able to correct it with the small attached patch, merged from three single-file Gentoo patches. Could you please apply it, or one of those cited in fd.o bug #5835 (which I didn't run across until later)? Thanks! -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (300, 'unstable'), (300, 'testing') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16.9 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) -- no debconf information
--- mesa-6.4.1.orig/src/glx/x11/indirect_vertex_array.c +++ mesa-6.4.1/src/glx/x11/indirect_vertex_array.c @@ -530,7 +530,7 @@ emit_DrawArrays_header_old( __GLXcontext * gc, struct array_state_vector * arrays, size_t * elements_per_request, - size_t * total_requests, + unsigned int * total_requests, GLenum mode, GLsizei count ) { size_t command_size; --- mesa-6.4.1.orig/src/mesa/main/glheader.h +++ mesa-6.4.1/src/mesa/main/glheader.h @@ -46,6 +46,9 @@ #ifndef GLHEADER_H #define GLHEADER_H +#ifdef HAVE_DIX_CONFIG_H +#include "dix-config.h" +#endif #if defined(XFree86LOADER) && defined(IN_MODULE) #include "xf86_ansic.h" --- mesa-6.4.1.orig/src/mesa/drivers/dri/common/glcontextmodes.c +++ mesa-6.4.1/src/mesa/drivers/dri/common/glcontextmodes.c @@ -39,6 +39,9 @@ # include "imports.h" # define __glXMemset memset #else +# if defined (HAVE_DIX_CONFIG_H) +# include <dix-config.h> +# endif # include <X11/X.h> # include <GL/glx.h> # include "GL/glxint.h"