mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
glapi: fix _glapi_get_proc_address() for mangled function names
In the dispatch table, all functions are stored without the "m" prefix.
Modify code so that OSMesaGetProcAddress works both with gl and mgl
prefixes. Similar to
https://lists.freedesktop.org/archives/mesa-dev/2015-September/095251.html
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94994
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 23949cdf2c)
This commit is contained in:
parent
c6acc7812f
commit
97f91d88c0
1 changed files with 6 additions and 12 deletions
|
|
@ -62,12 +62,7 @@ get_static_proc( const char * n )
|
|||
GLuint i;
|
||||
for (i = 0; static_functions[i].Name_offset >= 0; i++) {
|
||||
const char *testName = gl_string_table + static_functions[i].Name_offset;
|
||||
#ifdef MANGLE
|
||||
/* skip the prefix on the name */
|
||||
if (strcmp(testName, n + 1) == 0)
|
||||
#else
|
||||
if (strcmp(testName, n) == 0)
|
||||
#endif
|
||||
{
|
||||
return &static_functions[i];
|
||||
}
|
||||
|
|
@ -516,15 +511,14 @@ _glapi_get_proc_address(const char *funcName)
|
|||
|
||||
init_glapi_relocs_once();
|
||||
|
||||
#ifdef MANGLE
|
||||
/* skip the prefix on the name */
|
||||
if (funcName[1] != 'g' || funcName[2] != 'l')
|
||||
return NULL;
|
||||
#else
|
||||
if (funcName[0] != 'g' || funcName[1] != 'l')
|
||||
return NULL;
|
||||
#ifdef USE_MGL_NAMESPACE
|
||||
if (funcName && funcName[0] == 'm')
|
||||
funcName++;
|
||||
#endif
|
||||
|
||||
if (!funcName || funcName[0] != 'g' || funcName[1] != 'l')
|
||||
return NULL;
|
||||
|
||||
/* search extension functions first */
|
||||
func = get_extension_proc_address(funcName);
|
||||
if (func)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue