[haiku-development] Haiku Mesa3D (A roadmap to ponies and unicorns)

  • From: Alexander von Gluck <kallisti5@xxxxxxxxxxx>
  • To: <haiku-development@xxxxxxxxxxxxx>
  • Date: Wed, 21 Dec 2011 13:10:37 -0600

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.

Feedback is awesome as always.

 -- Alex

Other related posts: