[Mesa-dev] [PATCH] mesa: do not use _glapi_new_nop_table() for DRI builds

Ian Romanick idr at freedesktop.org
Tue May 26 11:44:22 PDT 2015


On 05/26/2015 11:36 AM, Brian Paul wrote:
> On 05/26/2015 12:21 PM, Ian Romanick wrote:
>> On 05/26/2015 11:17 AM, Brian Paul wrote:
>>> On 05/26/2015 12:07 PM, Ian Romanick wrote:
>>>> On 05/21/2015 06:19 PM, Brian Paul wrote:
>>>>> Commit 4bdbb588a9d38 introduced new _glapi_new_nop_table() and
>>>>> _glapi_set_nop_handler() functions in the glapi dispatcher (which
>>>>> live in libGL.so).  The calls to those functions from context.c
>>>>> would be undefined (i.e. an ABI break) if the libGL used at runtime
>>>>> was older.
>>>>>
>>>>> For the time being, use the old single generic_nop() function for
>>>>> non-Windows builds to avoid this problem.  At some point in the future
>>>>> it should be safe to remove this work-around.  See comments for more
>>>>> details.
>>>>>
>>>>> v2: Incorporate feedback from Emil.  Use _WIN32 instead of
>>>>> GLX_DIRECT_RENDERING to control behavior, move comments.
>>>>>
>>>>> Cc: 10.6 <mesa-stable at lists.freedesktop.org>
>>>>> ---
>>>>>    src/mesa/main/context.c | 62
>>>>> +++++++++++++++++++++++++++++++++++++++++++++++--
>>>>>    1 file changed, 60 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
>>>>> index 544cc14..02875ba 100644
>>>>> --- a/src/mesa/main/context.c
>>>>> +++ b/src/mesa/main/context.c
>>>>> @@ -883,6 +883,19 @@ update_default_objects(struct gl_context *ctx)
>>>>>    }
>>>>>
>>>>>
>>>>> +/* XXX this is temporary and should be removed at some point in the
>>>>> + * future when there's a reasonable expectation that the libGL
>>>>> library
>>>>> + * contains the _glapi_new_nop_table() and _glapi_set_nop_handler()
>>>>> + * functions which were added in Mesa 10.6.
>>>>> + */
>>>>
>>>> The other way would be to use dlsym determine whether or not the
>>>> function is available.  That should work on most or all ELF
>>>> systems.  We
>>>> could also use the usual DRI extension mechanism.  That's the generally
>>>> accepted way to advertise new, optional libGL functionality to drivers.
>>>
>>> OK, I can look into that someday.
>>>
>>>>
>>>> Either way, this patch is
>>>>
>>>> Reviewed-and-tested-by: Ian Romanick <ian.d.romanick at intel.com>
>>>
>>> Thanks!
>>
>> Arg.  You didn't 'make check', did you? :(  I just tested the "hard"
>> part (using new driver with old libGL), and I didn't check the "easy"
>> thing.
>>
> 
> No, sorry.  I always forget that.
> 
> Revert 778c7f149a0e29d135b05f27bb0a6837decdb533 to fix this?

I sent out what I hope is a more future-proof solution.  I originally
sent it squashed with your patch, but I was too slow.

> -Brian



More information about the mesa-dev mailing list