On Wed, Jul 18, 2001 at 08:09:26AM +0200, Laurent Pinchart wrote:
> On Wednesday 18 July 2001 00:26, Brian Paul wrote:
> > The mesa-3-5-branch CVS branch could use some more testing. You could
> > test that on your Voodoo3. Someone reported problems using a Voodoo3 or
> > Voodoo5 (?) with the 3.5 code just recently.
> Ok, I'll start with that this evening.
> > Then, try reproducing somebody's bugs. The tdfx driver is probably
> > the easiest to work with first since Glide insulates you from the
> > hardware details.
> Is there a specific version of glide I should use ? I downloaded a CVS
> snapshot a few weeks ago. Should I upgrade to the latest one ?
> > Once you're ready to start debugging a problem
> > I can give you some specific tips.
> Could you tell me which bugs I should start with ? The easiest ones the
> better, as I need some 'training' first.
> Also, is there doc on the DRI internals (I downloaded everything on the DRi
> website, is there something else ?), and on X11 internals (I have only the
> doc from the xc tarballs).
> Oliver C. pointed out that the Voodoo3 DRI driver misses page flipping and
> 22bit postfiltering. Is there some doc about that ? I'd better know what it's
> exactly about before starting to implement it :-)
He suggested those, but they may not be the best things to start
with. The architecture for page flipping is already in XFree, but
implementing it in the driver means mucking in the internals of Glide in
order to change how swapbuffers is done. It's not awful, but it is a
tougher place to start. 22bit postfiltering requires not only page
flipping, but using the overlay plane. Again, significant glide
mucking. There was also mention of SLI, which is really ugly, the
hardware docs aren't available and even if they were it wouldn't
help. That one is really ugly.
Taking a look at the bug list, and verifying which ones are still valid
or already fixed, and then picking one of the bugs and tracing through
the code to see how that feature is implemented is probably the best
bet. The Mesa 3.5 branch is the next generation of the drivers and has
cleaner code, so you should focus your attention there.
Docs are very limited for writing a driver. Mostly you get to look at
the code from other drivers. The key locations in the X tree are:
xc/xc/programs/Xserver/hw/XFree86/drivers/<name> : the 2D driver
xc/xc/lib/GL/mesa/src/drv/<name> : the 3D driver
xc/xc/programs/Xserver/hw/XFree86/os-supprt/linux/drm/kernel : the
You'll want to get Glide from CVS on sourceforge. In fact, anyone who's
interested in picking up glide maintenance, it's in desparate need. The
glide project basically has the 3dfx code thrown over the wall and
that's about it. Building packages, putting up a web page, that sort of
thing would be a valuable service.