On 10/01/2013 05:29 AM, Alexander von Gluck wrote:
On Tue, 2013-10-01 at 04:59 +0200, Ingo Weinhold wrote:I'm not so much interested in what is considered the OpenGL kit or how the libraries or the packages are called. What I am concerned with is that ATM we have three separate sets of code (Mesa, GLU, and the code in the Haiku repository) which seem to cyclically depend on each other.I really don't see how they are cyclical. (besides the linking libGLU into libGL mess, that was Be's fault though and we can't change it unless we break BeOS compat)
Yes, we can change that.
libGL.so depends on Haiku API wrappers and Mesa dispatch code
No. Currently libGL.so simply contains both. I don't know how the wrappers and the Mesa dispatch code interdepend. What I see is that the wrappers use internal Mesa headers. So obviously we are doing something that does not agree with Mesa's design.
[...]
So my question is: how can we reorganize things in a clean way? Note that we are not bound by how they were organized in BeOS. We can freely break up and shuffle code and libraries, as long as we keep a symlink /system/lib/libGL.so in our GCC 2 build that points to a library that -- directly or indirectly -- provides all the required symbols.I've been moving as much code rendering code into Mesa as I can, however we *have* to wrap calls at a lower level as openGL initialization isn't a universal process per platform and Be's api differs from Linux, Windows, and OS X (which also all differ)
On Linux building Mesa results in a complete "OpenGL kit", including a libGL. Why is that not possible on Haiku? Why do we have to drag Mesa code and internal headers into Haiku's build?
On 10/01/2013 05:58 AM, Alexander von Gluck wrote: > Why don't we just make mesa_bootstrap?Fortunately that has not been necessary yet, since nothing really needs the OpenGL kit.
CU, Ingo PS: You really don't have to CC me your replies.