Skip to content
Snippets Groups Projects
Commit 23949cdf authored by Frédéric Devernay's avatar Frédéric Devernay Committed by Brian Paul
Browse files

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: default avatarBrian Paul <brianp@vmware.com>
parent 63df017f
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment