diff options
author | Ian Romanick <[email protected]> | 2015-05-26 11:41:44 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2015-05-26 18:25:41 -0700 |
commit | 2b8c51834bcc34a70dec9b470a28c0ef972d6993 (patch) | |
tree | b05724783798eb01762baa631870e74692f6854d | |
parent | 8d813d14e1f5c690c6737c6cd6fc01937a7d4246 (diff) |
glapi: Encapsulate nop table knowledge in new _mesa_new_nop_table function
Encapsulate the knowledge about how to build the nop table in a new
_mesa_new_nop_table function. This makes it easier for dispatch_sanity
to keep working now and in the future.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Tested-by: Mark Janes <[email protected]>
Cc: 10.6 <[email protected]>
-rw-r--r-- | src/mesa/main/api_exec.h | 3 | ||||
-rw-r--r-- | src/mesa/main/context.c | 16 | ||||
-rw-r--r-- | src/mesa/main/tests/dispatch_sanity.cpp | 2 |
3 files changed, 12 insertions, 9 deletions
diff --git a/src/mesa/main/api_exec.h b/src/mesa/main/api_exec.h index 12249fec228..655cb32d0a4 100644 --- a/src/mesa/main/api_exec.h +++ b/src/mesa/main/api_exec.h @@ -38,6 +38,9 @@ _mesa_initialize_exec_table(struct gl_context *ctx); extern void _mesa_initialize_dispatch_tables(struct gl_context *ctx); +extern struct _glapi_table * +_mesa_new_nop_table(unsigned numEntries); + #ifdef __cplusplus } // extern "C" #endif diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 02875ba2a06..e4faf3d462a 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -962,12 +962,12 @@ generic_nop(void) * the __stdcall convention which requires the callee to clean up the * call stack. That's impossible with one generic no-op function. */ -#if !USE_GLAPI_NOP_FEATURES -static struct _glapi_table * -new_nop_table(unsigned numEntries) +struct _glapi_table * +_mesa_new_nop_table(unsigned numEntries) { struct _glapi_table *table; +#if !USE_GLAPI_NOP_FEATURES table = malloc(numEntries * sizeof(_glapi_proc)); if (table) { _glapi_proc *entry = (_glapi_proc *) table; @@ -976,9 +976,11 @@ new_nop_table(unsigned numEntries) entry[i] = (_glapi_proc) generic_nop; } } +#else + table = _glapi_new_nop_table(numEntries); +#endif return table; } -#endif /** @@ -996,10 +998,7 @@ alloc_dispatch_table(void) */ int numEntries = MAX2(_glapi_get_dispatch_table_size(), _gloffset_COUNT); -#if !USE_GLAPI_NOP_FEATURES - struct _glapi_table *table = new_nop_table(numEntries); -#else - struct _glapi_table *table = _glapi_new_nop_table(numEntries); + struct _glapi_table *table = _mesa_new_nop_table(numEntries); #if defined(_WIN32) if (table) { @@ -1023,6 +1022,7 @@ alloc_dispatch_table(void) } #endif +#if USE_GLAPI_NOP_FEATURES _glapi_set_nop_handler(nop_handler); #endif diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index d38b68d0c9a..c6f3c395733 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -96,7 +96,7 @@ DispatchSanity_test::SetUp() _mesa_init_driver_functions(&driver_functions); const unsigned size = _glapi_get_dispatch_table_size(); - nop_table = (_glapi_proc *) _glapi_new_nop_table(size); + nop_table = (_glapi_proc *) _mesa_new_nop_table(size); } void |