[Mesa-dev] Understanding GLX_INDIRECT_RENDERING (libOSMesa fails to link due to gl_dispatch_stub*)

Jeremy Huddleston jeremyhu at apple.com
Tue Jun 7 10:01:38 PDT 2011


On Jun 7, 2011, at 12:01 PM, Jeremy Huddleston wrote:

> So what is the proper fix here?  How should libOSMesa be getting built?
> 
> Should libmesa.a be providing those stubs (rather than my change which put them in mesa/osmesa)?  Should the stubs be getting exported by libGL?  Should GetHistogramEXT be exported by libGL?
> 
> Based on my understanding, it seems like we should bring these stubs into libmesa.a (and remove them from mesa/xlib).  Does that sound right?

Actually... I'm perplexed about another issue here... why is libOSMesa linking against both libglapi and libGL?

It seems like the only things resolving into libGL are the stub symbols missing in libglapi.  If we provide them in osmesa, why does libOSMesa need to link against libGL at all?

Similarly, libOSMesa seems to build fine if I just don't include libglapi.a and let it resolve those calls into libGL (which it can re-export to provide the gl* entry points).  This of course requires libGL to be glapi-aware (which glx/apple isn't yet).

As is, including libglapi.a in libOSMesa and in libGL will result in two copies of libglapi existing in memory which seems like a recipe for disaster since there will be two different dispatch tables, etc.  Perhaps this isn't a problem on systems with flat namespaces, but on darwin, it is.

--Jeremy



More information about the mesa-dev mailing list