On Monday 02 May 2005 13:27, The Slash wrote:
> well since there is no DRI support for the SiS m650, and according to
> what I heard there never will be, I have decided to write my own. I
> have never written my own driver before, and I'm a little confused as
> to where to begin. I know that SiS does not normally distribute there
> hardware specs, so i might end up having to reverse-engineer the
> windows drivers. any advice on where to start for this sort of thing?

Reverse-engineering for a 3d driver is basically a matter of finding the 
routine(s) that do register writes, modifying them to log their arguments, 
and then running simple testcases against the modified driver.  Occasionally 
the register write routines are scattered all over the place (or just 
inlined), which means you instead need to dump the register space at regular 
intervals and hope you didn't miss anything important.

3d chips tend to have a _lot_ of registers, so this is much harder than it 
would be for, say, an ethernet controller.  Fortunately they also tend not to 
change too drastically between hardware revisions, so you may be able to use 
the existing sis driver as a base.

> and if i were able to get the info from SiS, what exactly would I
> need?

A list of all the registers on the card, with their names, functionality, and 
the legal values you can write to them.  At minimum.  Ideally you also get a 
"theory of operation" document that describes the order that setup should 
happen.  The Voodoo3 doc is a good example of what you're looking for.

- ajax

Attachment: pgpz9rZaKezpQ.pgp
Description: PGP signature

Reply via email to