diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2010-05-02 10:17:07 -0400 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2010-05-02 10:17:07 -0400 |
commit | 0870e4a2022cff79805613ae7cd4b9237a2f564c (patch) | |
tree | 694d0c07918661996255cff226602045e0d9c707 /src/mesa/main/remap.c | |
parent | 9d3360567346036f1c2b0b5e9de9bd123d883762 (diff) | |
parent | 9fd5fa05122aa0cac0051fa92d1634bde43209db (diff) |
Merge branch 'gles2-2'
Conflicts:
src/mesa/drivers/dri/common/dri_util.h
Diffstat (limited to 'src/mesa/main/remap.c')
-rw-r--r-- | src/mesa/main/remap.c | 48 |
1 files changed, 10 insertions, 38 deletions
diff --git a/src/mesa/main/remap.c b/src/mesa/main/remap.c index bfceb43c97..38ddc0c1dd 100644 --- a/src/mesa/main/remap.c +++ b/src/mesa/main/remap.c @@ -38,23 +38,15 @@ #include "remap.h" #include "imports.h" - -#include "main/dispatch.h" - +#include "glapi/glapi.h" #if FEATURE_remap_table -#define need_MESA_remap_table -#include "main/remap_helper.h" - #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) #define MAX_ENTRY_POINTS 16 - -/* this is global for quick access */ -int driDispatchRemapTable[driDispatchRemapTable_size]; - +static const char *_mesa_function_pool; /** * Return the spec string associated with the given function index. @@ -67,10 +59,7 @@ int driDispatchRemapTable[driDispatchRemapTable_size]; const char * _mesa_get_function_spec(GLint func_index) { - if (func_index < ARRAY_SIZE(_mesa_function_pool)) - return _mesa_function_pool + func_index; - else - return NULL; + return _mesa_function_pool + func_index; } @@ -162,32 +151,14 @@ _mesa_map_function_array(const struct gl_function_remap *func_array) /** - * Map the functions which are already static. - * - * When a extension function are incorporated into the ABI, the - * extension suffix is usually stripped. Mapping such functions - * makes sure the alternative names are available. - * - * Note that functions mapped by _mesa_init_remap_table() are - * excluded. - */ -void -_mesa_map_static_functions(void) -{ - /* Remap static functions which have alternative names and are in the ABI. - * This is to be on the safe side. glapi should have defined those names. - */ - _mesa_map_function_array(MESA_alt_functions); -} - - -/** * Initialize the remap table. This is called in one_time_init(). * The remap table needs to be initialized before calling the * CALL/GET/SET macros defined in main/dispatch.h. */ void -_mesa_init_remap_table(void) +_mesa_do_init_remap_table(const char *pool, + int size, + const struct gl_function_pool_remap *remap) { static GLboolean initialized = GL_FALSE; GLint i; @@ -195,15 +166,16 @@ _mesa_init_remap_table(void) if (initialized) return; initialized = GL_TRUE; + _mesa_function_pool = pool; /* initialize the remap table */ - for (i = 0; i < ARRAY_SIZE(driDispatchRemapTable); i++) { + for (i = 0; i < size; i++) { GLint offset; const char *spec; /* sanity check */ - ASSERT(i == MESA_remap_table_functions[i].remap_index); - spec = _mesa_function_pool + MESA_remap_table_functions[i].pool_index; + ASSERT(i == remap[i].remap_index); + spec = _mesa_function_pool + remap[i].pool_index; offset = _mesa_map_function_spec(spec); /* store the dispatch offset in the remap table */ |