1*e81a9547SAugustin CavalierHaiku OpenGL kit developers introduction 2*e81a9547SAugustin Cavalier 3*e81a9547SAugustin CavalierThe Haiku OpenGL kit is made up of the folwing pieces: 4*e81a9547SAugustin Cavalier 5*e81a9547SAugustin Cavalier* The "OpenGL Kit" aka libGL.so and supporting libraries. 6*e81a9547SAugustin Cavalier This is what the user applications interact with. 7*e81a9547SAugustin Cavalier 8*e81a9547SAugustin Cavalier* The "OpenGL Add-ons" (which do the real work) 9*e81a9547SAugustin Cavalier These are chosen by the OpenGL kit and utilized 10*e81a9547SAugustin Cavalier 11*e81a9547SAugustin CavalierIn the traditional BeOS sense, the OpenGL Add-ons are the 12*e81a9547SAugustin Cavaliervendor provided OpenGL drivers. This actually doesn't 13*e81a9547SAugustin Cavaliermesh well with the current open source OpenGL stack. 14*e81a9547SAugustin Cavalier 15*e81a9547SAugustin CavalierOur "OpenGL Add-ons" are really self contained Mesa and 16*e81a9547SAugustin CavalierGallium renderers. On the old Mesa side of the house, 17*e81a9547SAugustin Cavalierswrast is a bunch of wrapper code. On the Gallium side, 18*e81a9547SAugustin Cavalierswpipe is a Gallium target. 19*e81a9547SAugustin Cavalier 20*e81a9547SAugustin CavalierMesa drivers are the classical Mesa software rasterizers, 21*e81a9547SAugustin CavalierGallium drivers are the new-school software and hardware 22*e81a9547SAugustin Cavalierdrivers. 23*e81a9547SAugustin Cavalier 24*e81a9547SAugustin Cavalier 25*e81a9547SAugustin Cavalier********** 26*e81a9547SAugustin CavalierMesa versions 27*e81a9547SAugustin Cavalier 28*e81a9547SAugustin CavalierThe Haiku project uses two different versions of Mesa. 29*e81a9547SAugustin Cavalier 30*e81a9547SAugustin Cavalier * Mesa 7.9.2 for gcc2 OpenGL Add-ons 31*e81a9547SAugustin Cavalier * Mesa 10.2.0+ for gcc4 OpenGL Add-ons. 32*e81a9547SAugustin Cavalier 33*e81a9547SAugustin CavalierThe reasoning behind this is that any version of Mesa 34*e81a9547SAugustin Cavalierabove 7.9.2 will require a *massive* porting effort to 35*e81a9547SAugustin Cavaliermake it compile under gcc2. Given this fact, it makes 36*e81a9547SAugustin Cavaliersense to bump the gcc2 version of Mesa as far as it will 37*e81a9547SAugustin Cavaliergo and set it there statically. Think of Mesa 7.9.2 38*e81a9547SAugustin Cavalieras the "stable" version Haiku R1 will use :) 39*e81a9547SAugustin Cavalier 40*e81a9547SAugustin CavalierHardware 3D rendering and llvm-based software rendering 41*e81a9547SAugustin Cavalierwill never work for legacy gcc2 applications. Period. 42*e81a9547SAugustin Cavalier 43*e81a9547SAugustin CavalierHowever! If you're running a gcc2 hybrid version of 44*e81a9547SAugustin CavalierHaiku, llvm or hardware based rendering should be possible 45*e81a9547SAugustin Cavalieron gcc4 applications. 46*e81a9547SAugustin Cavalier 47*e81a9547SAugustin CavalierIt's essential someone from the Haiku project keeps up 48*e81a9547SAugustin Cavalierwith the upstream Mesa changes pushing build fixes to 49*e81a9547SAugustin Cavalierupstream Mesa to keep Haiku relevant. 50*e81a9547SAugustin Cavalier 51*e81a9547SAugustin Cavalier 52*e81a9547SAugustin Cavalier 53*e81a9547SAugustin Cavalier********** 54*e81a9547SAugustin CavalierThe packages 55*e81a9547SAugustin Cavalier 56*e81a9547SAugustin CavalierHaiku has several packages for Mesa: 57*e81a9547SAugustin Cavalier 58*e81a9547SAugustin Cavaliermesa-x.x.x-x-x86.hpkg Core Mesa package, provides libGL 59*e81a9547SAugustin Cavaliermesa_devel-x.x.x-x-x86.hpkg Provides development headers and "OpenGL kit" 60*e81a9547SAugustin Cavaliermesa_swrast-x.x.x-x-x86.hpkg Mesa "Software Rasterization" renderer 61*e81a9547SAugustin Cavaliermesa_swpipe-x.x.x-x-x86.hpkg Gallium "Software pipe" LLVM enhanced renderer 62*e81a9547SAugustin Cavalier 63*e81a9547SAugustin CavalierFuture :3 64*e81a9547SAugustin Cavaliermesa_radeonhd-x.x.x-x-x86.hpkg Gallium "Radeon HD" hardware renderer 65*e81a9547SAugustin Cavaliermesa_intel-x.x.x-x-x86.hpkg Gallium "Intel" hardware renderer 66*e81a9547SAugustin Cavaliermesa_nvidia-x.x.x-x-x86.hpkg Gallium "nVidia" hardware renderer (unlikely) 67