display lists broken in Mesa maybe due to glapi dispatch changes (?), and an Xthreads problem

Ian Romanick idr at us.ibm.com
Mon Aug 1 09:37:37 PDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Roland Scheidegger wrote:
> Applications which use display lists are broken for me on r200. Below is
> the debug output for glxgears, which obviously doesn't really want to
> call glGenerateMipmap... (it displays completely black, on the upside
> though framerate is high :-)). Not sure what caused it, happens with
> both linux-dri and linux-dri-x86 targets (but software mesa, "linux"
> target works).

I'm going to try and reporduce the r200 display list problem after the
various build problems are fixed.

> To get the driver to compile in the first place, I also had to copy
> Xthreads.h from /usr/X11R6/include/X11 to the src/glx/x11 directory, I
> couldn't see an obvious change why it no longer gets picked up (latest
> xorg cvs headers installed). Otherwise I got the error below. I hope
> that doesn't explain the display list issue, thread problems can be
> fishy...

It builds fine on my main machine.  I tried a build on a fresh system
install (with X.org CVS installed) and hit the same problem.  I
committed a fix for it just a few minutes ago.  I think the problem here
is related to the next problem...

> And, even with that change, the s3v and savage drivers did not compile,
> both failed the same way (though I didn't care too much as I only needed
> r200 anyway...).
> gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver
> -I../../../../../../dri/drm/shared-core -I../../../../../include
> -I../../../../../include/GL/internal -I../../../../../src/mesa
> -I../../../../../src/mesa/main -I../../../../../src/mesa/glapi
> -I../../../../../src/mesa/math -I../../../../../src/mesa/transform
> -I../../../../../src/mesa/shader -I../../../../../src/mesa/swrast
> -I../../../../../src/mesa/swrast_setup -I../../../../../src/egl/main
> -I../dri_client -I../dri_client/imports -Wall -O -g  -m32
> -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
> -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
> -DGLX_DIRECT_RENDERING -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM
> -DUSE_SSE_ASM -std=c99 -ffast-math  -D_POSIX_SOURCE
> -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE
> -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
> -DGLX_DIRECT_RENDERING s3v_state.c -o s3v_state.o
> In file included from ../../../../../src/mesa/main/mtypes.h:41,
>                  from s3v_screen.h:5,
>                  from s3v_context.h:13,
>                  from s3v_state.c:6:
> ../../../../../src/mesa/glapi/glthread.h:202: error: conflicting types
> for `_glthread_TSD'
> ../../../../../src/mesa/glapi/glthread.h:92: error: previous declaration
> of `_glthread_TSD'

The only way this could happen is if *both* PTHREADS and XTHREADS are
defined.  I suspect the Xthreads.h problem was always there, but it was
never hit because XTHREADS was never defined.  Some how, somewhere,
XTHREADS is getting set.  I'll have to look into it, but I think this is
a bug in whatever X.org header is defining XTHREADS for us. :(
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFC7k/RX1gOwKyEAw8RAnjBAJ40ipTTTM1i2vZReEzHYl0rQfv1ogCfetZH
cnQMN2r2UuJTiwxyRCtexWs=
=r9w9
-----END PGP SIGNATURE-----



More information about the xorg mailing list