One idea I have is that if Warp3D were to include a primitive T&L pipeline, GL could be improved on this old hardware. A lot of time in the driver is wasted waiting for the GPU FIFO when instead it could be performing transformation and clipping.
Is there any "legal" way to put new commands into the ring buffer of the gpu (aka GPU FIFO)? Or just examining the GPU registers to see if the read pointer and write pointer are equal and assume it's ready to add the new commands there? I guess p96/cgx waits until GPU FIFO is ready, otherwise crashes may happen. I guess that the difference between CGX and P96 in this respect is that CGX driver will probably offer a "legal" way to add new pointers to command buffers and with P96 you can't "interleave" commands from both systems.
So with p96 and a Radeon:
1.- seek base address of the gfx card
2.- reserve and lock memory for textures and command buffers
3.- check the addresses of write ptr and read ptr, if both are equal GPU FIFO is empty.
4.- write command in the FIFO to execute the chunk of commands pointed in the command buffer
5.- pray :-)
I ask because it would be nice to have a 68k Warp3D (or Wazp3D probably) driver for Radeon 9x00 :-)
And to continue the hijacking... any plans for a BlizzardPPC OS4 scsi driver? I guess you could add some "legal" way to add commands to move lots of data using the scsi chip in parallel to the cpu*:-) And since G-Rex is supported in NetBSD are you thinking about OS4 support too?