TODO list:

whats up with _fxstat, NOW, with xfree42, and non-optimized build, and..


demos/multiarb: 
   Sorry, GL_ARB_multitexture not supported by this renderer.
demos/isosurf:
   Vertex arrays not supported by this renderer

demos/gloss:
	BROKEN with nohw=1 !!
	(But not for everyone: works for some if xfree86depth=16?!)

  X-SERVER research:
  	How to insert virtual visuals?	Do I really need that?
        Maybe; See: GLfind_vis()

  nv driver
      Try for true doublebuffering in nv, rather than "really fast copying".
      Get other things hardware accelerated
      AGP?
      Get back to using "normal" memory alloc inside xfree86, for depthbuff?


  Mesa 4.0.1

CLEANUP NEEDED:

 - Move nasty hack of hardcoding a -D__ELF__ into the makefile for 
   The 3Dnow assebly files into an autoconf test. This #define is 
   needed to remove the preceding underscores from the assembly 
   routines for MMX and 3DNow in servGL/mesaglx/X86
 
 - Fix Makefiles so that they are not dependant on GNU make.
    This means basically going through Make.options and recoding
    all the yes/no stuff, to be actual variables that DO things
    when included in Makefiles

 - Figure out how to get RID of stupid dlopen nastiness,
   while preserving both Xfree module, AND "direct client" functionality.

 - Need to adjust things to be screen-sensitive.
   Partial work done. Keep doing so.
   Could potentially have different hardware on different screens.

 - Get rid of nasty #define XCSECURITY hack, along with SecurityLookupIDByType
   conflicts. May be fixed as side effect of moving to non-dlopen

 - check for GNU as or 'gas' explicitly. Use that explicitly.
   aka, "fix the compiler check for asm to actually be a VALID CHECK"

 - look up reason for XXGC redefine in x11_symbols.c, and maybe eliminate
   the conflict.
   (xsmesaP.h has a fix for it. So use that as the consistant place
     for the fix?)

 - "direct" client init caling sequence is ludicrously
    different from regular GLX init.
    See "glxClientInit", which ironicall seems only for direct,
    NOT GLX protocol.

   - get rid of damn GLXSYM #defines. No more
       #define GLXSYM(x) (*glxsym.x)
       #define SomeFunc GLXSYM(SomeFunc)
     Use the (*glxsym.SomeFunc) syntax directly.
     Polymorphism is best left to C++. This is NOT C++.

   - I'm trying to work around quake2 crashing the Xserver on textures, by
     increasing texture space. But I SHOULD go look for where it is
     crashing, and fix THAT so the server doesnt crash!!!!

GOALS:
  Keep it clean. Keep it simple. Keep it readable.
  Since lots of different projects use Mesa, try to cleanly encapsulate
  the Mesa stuff, and avoid modifying any Mesa routines specifically
  for the Xserver.
