haiku/docs/develop/kits/opengl/readme

67 lines
2.2 KiB
Plaintext
Raw Normal View History

Haiku OpenGL kit developers introduction
The Haiku OpenGL kit is made up of the folwing pieces:
* The "OpenGL Kit" aka libGL.so and supporting libraries.
This is what the user applications interact with.
* The "OpenGL Add-ons" (which do the real work)
These are chosen by the OpenGL kit and utilized
In the traditional BeOS sense, the OpenGL Add-ons are the
vendor provided OpenGL drivers. This actually doesn't
mesh well with the current open source OpenGL stack.
2014-08-19 18:34:33 +04:00
Our "OpenGL Add-ons" are really self contained Mesa and
Gallium renderers. On the old Mesa side of the house,
swrast is a bunch of wrapper code. On the Gallium side,
swpipe is a Gallium target.
2014-08-19 18:34:33 +04:00
Mesa drivers are the classical Mesa software rasterizers,
Gallium drivers are the new-school software and hardware
drivers.
**********
Mesa versions
The Haiku project uses two different versions of Mesa.
2014-08-19 18:34:33 +04:00
* Mesa 7.9.2 for gcc2 OpenGL Add-ons
* Mesa 10.2.0+ for gcc4 OpenGL Add-ons.
The reasoning behind this is that any version of Mesa
2014-08-19 18:34:33 +04:00
above 7.9.2 will require a *massive* porting effort to
make it compile under gcc2. Given this fact, it makes
sense to bump the gcc2 version of Mesa as far as it will
2014-08-19 18:34:33 +04:00
go and set it there statically. Think of Mesa 7.9.2
as the "stable" version Haiku R1 will use :)
Hardware 3D rendering and llvm-based software rendering
will never work for legacy gcc2 applications. Period.
However! If you're running a gcc2 hybrid version of
Haiku, llvm or hardware based rendering should be possible
on gcc4 applications.
2014-08-19 18:34:33 +04:00
It's essential someone from the Haiku project keeps up
with the upstream Mesa changes pushing build fixes to
upstream Mesa to keep Haiku relevant.
**********
2014-08-19 18:34:33 +04:00
The packages
2014-08-19 18:34:33 +04:00
Haiku has several packages for Mesa:
2014-08-19 18:34:33 +04:00
mesa-x.x.x-x-x86.hpkg Core Mesa package, provides libGL
mesa_devel-x.x.x-x-x86.hpkg Provides development headers and "OpenGL kit"
mesa_swrast-x.x.x-x-x86.hpkg Mesa "Software Rasterization" renderer
mesa_swpipe-x.x.x-x-x86.hpkg Gallium "Software pipe" LLVM enhanced renderer
2014-08-19 18:34:33 +04:00
Future :3
mesa_radeonhd-x.x.x-x-x86.hpkg Gallium "Radeon HD" hardware renderer
mesa_intel-x.x.x-x-x86.hpkg Gallium "Intel" hardware renderer
mesa_nvidia-x.x.x-x-x86.hpkg Gallium "nVidia" hardware renderer (unlikely)