[Mesa-dev] Can --enable-shared-glapi die?

Jon TURNEY jon.turney at dronecode.org.uk
Tue Jul 24 05:49:29 PDT 2012


On 24/07/2012 02:08, Matt Turner wrote:
> On Mon, Jul 23, 2012 at 3:15 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
>> On 07/23/2012 12:59 PM, Ian Romanick wrote:
>>> Perhaps someone can refresh my memory as to what exactly this option
>>> does?  Can we make this the default and remove the option from configure?
>>
>> The --enable-shared-glapi option allows programs to use both libGL.so
>> and libGLESv2.so without zillions of conflicting linker symbols.  IIRC
>> it basically extracts the API dispatch stuff into libglapi.so and makes
>> both libraries depend on a single copy.
>>
>> I'm failing at email archaeology, but I know we've talked about this
>> before.  I believe Chia-I said he thought it would be a good idea to
>> make it the default, but essentially left the option as a chicken bit,
>> in case it didn't work in all situations.
>>
>> It looks like Matt Turner, Jon Turney, and Homer Hsing also approved of
>> the change.  Somebody had a patch but I can't find it now.
>>
>> The only trouble I know about is that if your libglapi gets out of sync
>> with your libGL/libGLES, all hell breaks loose: glCompileShader gets
>> routed to glLinkProgram and so on.  Apps fail in spectacular ways.  But
>> as long as you keep them in sync (and it's not hard), then it works fine.
>>
>> I'm all for making shared-glapi mandatory.  People who care about GLES
>> will want it (and thus distros would want it), there's no real downside,
>> and reducing the number of configurations would be great.
> 
> Yeah, I think I had a patch to make this mandatory. I'm also not
> remembering why it wasn't committed. It seems like there was some
> configuration (xlib-glx, osmesa, etc) that didn't work with
> shared-glapi.

Committed adefee50d954151f76150af80207081ae3c247d9 and reverted
027ce0c493a85c863df88b43f61aea34bcd4cd58

https://bugs.freedesktop.org/show_bug.cgi?id=45660 describes a part of the
breakage and it's fix.

Since it doesn't actually seem to be that well tested, perhaps making it the
default for a while before removing the option might be a good idea?

One could wish for a clearer diagnostic than all your GL programs getting
hilariously broken when using the wrong shared glapi, although I'm not sure
what sort of version check we could do.



More information about the mesa-dev mailing list