Experimental stereo support for DRI (updated 2000-11-30)
I've just gotten 2d acceleration to work in conjunction with stereo support
in the mga driver. It is somewhat ugly but I think the basic design has
some promise at least. I guess I should integrate the stereo module into XAA though.
Notes
- You need to enable the Stereo option in your mga Screen section.
- The patch isn't against the current CVS tree but against a tree that
is perhaps a week or so old.
- Xv is probably broken in stereo mode.
- I have no idea wether the new RENDER extension is working.
- I haven't intentionally broken 32bpp support but I haven't tested
it either. If it is broken it is not badly broken at least.
- Rendering to the frontbuffer is broken in non stereo applications running
in stereomode.
- On a similar note, rendering to more than one buffer simultaneously in
a stereo application has not been tested yet.
- The driver will switch between the left and right frontbuffer during the
vertical blank. You will need shutter glasses that can detect this automatically.
Personally I use the Eye 3d glasses from I-Art.
- In all honesty I used quite a lot of Voodoo programming while programming this. That is, I'm not very sure about
the 2d acceleration support. It seems solid but I haven't done any real tests yet.
The patch
- mga-stereo-rev2.diff The patch against a week or so old CVS
tree. Might apply to the latest tree. If it doesn't I'll try to fix it later on.
- stereo-rev2.tar.gz The stereo module. This isn't included in
the patch above since I couldn't figure out a way to get
cvs diff
to include a
directory not present on the server.
Stereoscopic related pages
Allocating large physical regions on Solaris
As an experiment I wrote a kernel module to allow allocation of large physical
memory regions on Solaris in order to support DMA and direct rendering in Utah.
I haven't really tested it much and the code got quite ugly since the module architecture in
Solaris wasn't really compatible with my intentions. I learned something about Solaris while
doing it though.
Undocumented "features"
During OpenGL driver development one will usually stumble upon some interesting undocumented
features. I have for some reason not deleted these screenshots and I figured that some people
as depraved as me might get amused by watching them :)
- warp.jpg This is probably the most spectacular bugs I've produced to date. This
occured since I didn't read the warp DDK thoroughly before starting to play with the warp
engine on the G200...
- offset-texture-1.jpg, offset-texture-2.jpg - "What did you say again? :)" This bug was caused by a small bug in the texturing code in Utah's G400 driver.
Andreas Ehliar - ehliar@lysator.liu.se