From 9a5c1309d70f457e82f0d20201478514447a5990 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 27 Jan 2013 16:46:09 -0600 Subject: [PATCH] doc: Add some OpenGL kit documentation * Reduce bus factor.. this stuff is complex. ( I blame the developer who wrote it :\ ) --- docs/develop/opengl/openGLkit_Jan-2013.png | Bin 0 -> 70155 bytes docs/develop/opengl/readme | 120 +++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 docs/develop/opengl/openGLkit_Jan-2013.png create mode 100644 docs/develop/opengl/readme diff --git a/docs/develop/opengl/openGLkit_Jan-2013.png b/docs/develop/opengl/openGLkit_Jan-2013.png new file mode 100644 index 0000000000000000000000000000000000000000..0daf542378d99b9aaedf8ed3caba67a50af21807 GIT binary patch literal 70155 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 Isqwr25Bx#HU;qFB literal 0 HcmV?d00001 diff --git a/docs/develop/opengl/readme b/docs/develop/opengl/readme new file mode 100644 index 0000000000..96dd321c7a --- /dev/null +++ b/docs/develop/opengl/readme @@ -0,0 +1,120 @@ +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. + +Our "OpenGL Add-ons" are really wrappers around Mesa +and Gallium code. We gain greater OS control of OpenGL +rendering with the drawback of increased work overall. +The OpenGL Add-ons call private Mesa functions, thus +we get no compatibility saftey net between Mesa versions. + +Our Gallium connecting Add-ons could actually fit into +the upstream Mesa / Gallium project, however this would +cause complications in the build process (linking in +OpenGL and all of it's libraries into a small number of +shared libraries is not really what the Mesa project +designs it's stack for. Several symbol collisions exist +when trying to link libmesa and libgallium together for +example) + +Mesa drivers are the classical Mesa software rasterizers +Gallium drivers are the new-school software drivers. + + +********** +Mesa versions + +The Haiku project uses two different versions of Mesa. + + * Mesa 7.8.2 for gcc2 OpenGL Add-ons + * Mesa 9.0.1+ for gcc4 OpenGL Add-ons. + +The reasoning behind this is that any version of Mesa +above 7.8.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 +go and set it there statically. Think of Mesa 7.8.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. + +It is *essential* to upgrade our build Mesa packages +with the latest release Mesa versions. If we fall too +far behind the update gets extremely tricky as functions +inside Mesa and Gallium change at a fast pace. + + +********** +gcc2 OpenGL kit + +The following process occurs in order to generate the +gcc2 (Mesa 7.8.2) OpenGL kit: + +* Some kind soul compiles a Mesa optional package on a + gcc2 Haiku system with the bep on haikuports. This + gets uploaded to Haiku-files and the package name + / version gets updated as in the BuildFeatures jam + build script. + + - The bep generally applies a few minimal patches to + Mesa 7.8.2 and compiles it. Then it rounds up all of + the headers and static libraries and throws them into + a .zip for the build + +* Someone starts a gcc2 Haiku build. The build process pulls + down the Mesa optional package above and links the needed + parts into libGL and the swrast_legacy OpenGL add-on + + +********** +gcc4 OpenGL kit + +The following process occurs in order to generate the +gcc4 (Mesa 9.0.1+) OpenGL kit: + +* Some kind soul compiles a Mesa optional package on a + gcc4 Haiku system with the bep on haikuports. This + gets uploaded to Haiku-files and the package name + / version gets updated as in the BuildFeatures jam + build script. + + - The kind soul also needs to install the LLVM Optional + build package on his build machine *before* compiling + the Mesa bep. (unless he or she doesn't want llvmpipe + rendering) + + - The bep for Mesa 9.0.1+ doesn't apply too many patches as + Haiku build fixes are accepted upstream. + + - The bep rounds up all of the headers and static + libraries and throws them into a .zip for the build + +* Someone starts a gcc4 Haiku build. The build process pulls + down the Mesa optional package above and links the needed + parts into libGL and OpenGL add-ons. + + - If the user didn't link in LLVM, he can disable the LLVM + dependencies in the OpenGL kit Jamfile. swpipe will + automagically fall back to softpipe rendering + + - The build system will download the LLVM optional package + and link it into any OpenGL add-ons that need it. + + !! The LLVM optional package needs to match the LLVM + binaries on the machine which compiled Mesa + !!