Good afternoon! I think I've gotten this Mesa thing tacked down. Current Mesa / OpenGL setup on Haiku:* Heavily customized / old version of Mesa in src/libs/mesa (Jamfile converted!)
* The build process compiles the Mesa libraries * The build process builds the opengl kit which produces libGL.so* The opengl kit takes the compiled mesa libraries in src/libs/mesa and links them into libGL.so * The opengl kit takes the opengl kit wrappers (which seem *very* similar to the Mesa BeOS "drivers")
and also slaps them into libGL.so* The opengl kit also takes the Mesa GLU shared libraries and links them into libGL.so
* The process above results in software rendering of OpenGL graphics. Proposed new setup (rough idea) * Stock Mesa, pulled from Mesa project.* We build the stock Mesa, and form OptionalPackages from them for gcc2 (build untested!) and gcc4 * The stock Mesa optional packages are pretty much just the source tree + binaries within to keep
things simple. (for now)* We point the opengl kit to the pre-built mesa sources from the (now extracted somewhere temporary)
Mesa optional package.* We get libGL.so just as above, except without relying on our own fork of Mesa.
Now you may be wondering, why should I care? * We get the latest and greatest Mesa without much work* Upstream Mesa shouldn't care as the Haiku build patches aren't large and don't give them grief. * Several Gallium3D drivers (within the Mesa source tree /project since 2009) compile *right* now!
(including softpipe, Radeon R300-R600, Intel i915)* Keep in mind compile != work... plus there is no direct hardware communication yet.
For those interested, my initial Mesa patch is here.http://lists.freedesktop.org/archives/mesa-dev/2011-December/016300.html
Feedback is awesome as always. -- Alex