From: Brian P. <br...@va...> - 2000-08-31 15:58:34
|
Howard wrote: > > Brian Paul wrote: > > > The DRI architecture was originally targetted for Linux but was designed > > with portability in mind. It's been ported to FreeBSD now, for example. > > Porting to other flavors of Unix should be feasible. > > > > One thing people tend to overlook when talking about adding hardware > > 3D acceleration to a system is window system integration. It's > > actually rather complicated. Since the DRI was designed for XFree86, > > if you want hardware 3D for another window system you'll likely have > > to start from scratch. > > > > A short-cut to hardware 3D is to run without a window system > > (like the original Glide for Voodoo1/2 did). But then you're limited > > to full-screen apps and need some sort of replacement for GLX (thus > > requiring customized application code). > > > > Speaking of this, what is the status of the OSMesalib that you broke out a couple of > months ago? That is a major portability issue to us. If we are able to bind that to the > XFree86 libGL, and other board specific libGL's. we get the best of both worlds. Has > that been tar'd up anywhere or is it only in CVS? For those of you who haven't heard of this... The libGL included with XFree86/DRI is different from the libGL you have been using from the normal Mesa distribution. It's strictly a GLX-based libGL whereas the Mesa libGL can also have built-in interfaces of OSMesa, fxMesa, GGIMesa, SVGAMesa, etc. By popular demand I added the OSMesa feature into XFree86/DRI 4.0.1. It's a separate library named libOSMesa.so. An application can link with both -lGL and -lOSMesa and have both the GLX and OSMesa programming APIs. They share common dispatch code and coexist as expected (i.e. an app can use both interfaces at once). The outstanding problem is that one needs separate versions of the application to work with both stand-alone Mesa and XFree86/DRI since the later needs to be linked with the special libOSMesa.so library. I suppose dlopen() and dlsym() could be used to hide this problem but that's not ideal. Comments are welcome. libOSMesa.so is in XFree86 4.0.1 and the current DRI and XFree86 CVS trees. -Brian |