mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-23 11:40:39 +02:00
shared-glapi: implement _glapi_get_proc_name().
Previously this function was only implemented for non-shared-glapi builds. Since the function is only intended for debugging purposes we use a simple O(n) algorithm. Acked-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
67f1e7bf5f
commit
03984b26c4
3 changed files with 27 additions and 2 deletions
|
|
@ -219,8 +219,8 @@ _glapi_get_proc_address(const char *funcName)
|
|||
const char *
|
||||
_glapi_get_proc_name(unsigned int offset)
|
||||
{
|
||||
/* not implemented */
|
||||
return NULL;
|
||||
const struct mapi_stub *stub = stub_find_by_slot(offset);
|
||||
return stub ? stub_get_name(stub) : NULL;
|
||||
}
|
||||
|
||||
unsigned long
|
||||
|
|
|
|||
|
|
@ -153,6 +153,28 @@ stub_find_dynamic(const char *name, int generate)
|
|||
return stub;
|
||||
}
|
||||
|
||||
static const struct mapi_stub *
|
||||
search_table_by_slot(const struct mapi_stub *table, size_t num_entries,
|
||||
int slot)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < num_entries; ++i) {
|
||||
if (table[i].slot == slot)
|
||||
return &table[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const struct mapi_stub *
|
||||
stub_find_by_slot(int slot)
|
||||
{
|
||||
const struct mapi_stub *stub =
|
||||
search_table_by_slot(public_stubs, ARRAY_SIZE(public_stubs), slot);
|
||||
if (stub)
|
||||
return stub;
|
||||
return search_table_by_slot(dynamic_stubs, num_dynamic_stubs, slot);
|
||||
}
|
||||
|
||||
void
|
||||
stub_fix_dynamic(struct mapi_stub *stub, const struct mapi_stub *alias)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -42,6 +42,9 @@ stub_find_public(const char *name);
|
|||
struct mapi_stub *
|
||||
stub_find_dynamic(const char *name, int generate);
|
||||
|
||||
const struct mapi_stub *
|
||||
stub_find_by_slot(int slot);
|
||||
|
||||
void
|
||||
stub_fix_dynamic(struct mapi_stub *stub, const struct mapi_stub *alias);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue