xref: /haiku/docs/develop/kits/opengl/readme (revision e81a954787e50e56a7f06f72705b7859b6ab06d1)
1Haiku OpenGL kit developers introduction
2
3The Haiku OpenGL kit is made up of the folwing pieces:
4
5* The "OpenGL Kit" aka libGL.so and supporting libraries.
6  This is what the user applications interact with.
7
8* The "OpenGL Add-ons" (which do the real work)
9  These are chosen by the OpenGL kit and utilized
10
11In the traditional BeOS sense, the OpenGL Add-ons are the
12vendor provided OpenGL drivers. This actually doesn't
13mesh well with the current open source OpenGL stack.
14
15Our "OpenGL Add-ons" are really self contained Mesa and
16Gallium renderers. On the old Mesa side of the house,
17swrast is a bunch of wrapper code. On the Gallium side,
18swpipe is a Gallium target.
19
20Mesa drivers are the classical Mesa software rasterizers,
21Gallium drivers are the new-school software and hardware
22drivers.
23
24
25**********
26Mesa versions
27
28The Haiku project uses two different versions of Mesa.
29
30 * Mesa 7.9.2 for gcc2 OpenGL Add-ons
31 * Mesa 10.2.0+ for gcc4 OpenGL Add-ons.
32
33The reasoning behind this is that any version of Mesa
34above 7.9.2 will require a *massive* porting effort to
35make it compile under gcc2.  Given this fact, it makes
36sense to bump the gcc2 version of Mesa as far as it will
37go and set it there statically.  Think of Mesa 7.9.2
38as the "stable" version Haiku R1 will use :)
39
40Hardware 3D rendering and llvm-based software rendering
41will never work for legacy gcc2 applications. Period.
42
43However!  If you're running a gcc2 hybrid version of
44Haiku, llvm or hardware based rendering should be possible
45on gcc4 applications.
46
47It's essential someone from the Haiku project keeps up
48with the upstream Mesa changes pushing build fixes to
49upstream Mesa to keep Haiku relevant.
50
51
52
53**********
54The packages
55
56Haiku has several packages for Mesa:
57
58mesa-x.x.x-x-x86.hpkg        Core Mesa package, provides libGL
59mesa_devel-x.x.x-x-x86.hpkg  Provides development headers and "OpenGL kit"
60mesa_swrast-x.x.x-x-x86.hpkg Mesa "Software Rasterization" renderer
61mesa_swpipe-x.x.x-x-x86.hpkg Gallium "Software pipe" LLVM enhanced renderer
62
63Future :3
64mesa_radeonhd-x.x.x-x-x86.hpkg Gallium "Radeon HD" hardware renderer
65mesa_intel-x.x.x-x-x86.hpkg Gallium "Intel" hardware renderer
66mesa_nvidia-x.x.x-x-x86.hpkg Gallium "nVidia" hardware renderer (unlikely)
67