[Mesa-dev] [PATCH 12/25] Revert "mesa: make _mesa_alloc_dispatch_table() static"
Timothy Arceri
tarceri at itsqueeze.com
Tue Mar 7 06:21:24 UTC 2017
From: Marek Olšák <marek.olsak at amd.com>
This reverts commit 4009d22b61e76850b1b725f4e491da05c2406fa4.
glthread needs it.
---
src/mesa/main/api_exec.h | 4 ++++
src/mesa/main/context.c | 10 +++++-----
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/mesa/main/api_exec.h b/src/mesa/main/api_exec.h
index 655cb32..f55f56b 100644
--- a/src/mesa/main/api_exec.h
+++ b/src/mesa/main/api_exec.h
@@ -23,22 +23,26 @@
*/
#ifndef API_EXEC_H
#define API_EXEC_H
#ifdef __cplusplus
extern "C" {
#endif
+struct _glapi_table;
struct gl_context;
+extern struct _glapi_table *
+_mesa_alloc_dispatch_table(void);
+
extern void
_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
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 4b654de..0a9c65c 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -992,22 +992,22 @@ _mesa_new_nop_table(unsigned numEntries)
#endif
return table;
}
/**
* Allocate and initialize a new dispatch table. The table will be
* populated with pointers to "no-op" functions. In turn, the no-op
* functions will call nop_handler() above.
*/
-static struct _glapi_table *
-alloc_dispatch_table(void)
+struct _glapi_table *
+_mesa_alloc_dispatch_table(void)
{
/* Find the larger of Mesa's dispatch table and libGL's dispatch table.
* In practice, this'll be the same for stand-alone Mesa. But for DRI
* Mesa we do this to accommodate different versions of libGL and various
* DRI drivers.
*/
int numEntries = MAX2(_glapi_get_dispatch_table_size(), _gloffset_COUNT);
struct _glapi_table *table = _mesa_new_nop_table(numEntries);
@@ -1065,21 +1065,21 @@ alloc_dispatch_table(void)
*
* The table entries for specifying vertex attributes are set up by
* install_vtxfmt() and _mesa_loopback_init_api_table(), and End() and dlists
* are set by install_vtxfmt() as well.
*/
static struct _glapi_table *
create_beginend_table(const struct gl_context *ctx)
{
struct _glapi_table *table;
- table = alloc_dispatch_table();
+ table = _mesa_alloc_dispatch_table();
if (!table)
return NULL;
/* Fill in functions which return a value, since they should return some
* specific value even if they emit a GL_INVALID_OPERATION error from them
* being called within glBegin()/glEnd().
*/
#define COPY_DISPATCH(func) SET_##func(table, GET_##func(ctx->Exec))
COPY_DISPATCH(GenLists);
@@ -1202,21 +1202,21 @@ _mesa_initialize_context(struct gl_context *ctx,
if (!shared)
return GL_FALSE;
}
_mesa_reference_shared_state(ctx, &ctx->Shared, shared);
if (!init_attrib_groups( ctx ))
goto fail;
/* setup the API dispatch tables with all nop functions */
- ctx->OutsideBeginEnd = alloc_dispatch_table();
+ ctx->OutsideBeginEnd = _mesa_alloc_dispatch_table();
if (!ctx->OutsideBeginEnd)
goto fail;
ctx->Exec = ctx->OutsideBeginEnd;
ctx->CurrentClientDispatch = ctx->CurrentServerDispatch = ctx->OutsideBeginEnd;
ctx->FragmentProgram._MaintainTexEnvProgram
= (getenv("MESA_TEX_PROG") != NULL);
ctx->VertexProgram._MaintainTnlProgram
= (getenv("MESA_TNL_PROG") != NULL);
@@ -1229,21 +1229,21 @@ _mesa_initialize_context(struct gl_context *ctx,
* Drivers will want to override this list with just the formats
* they can handle, and confirm that appropriate fallbacks exist in
* _mesa_choose_tex_format().
*/
memset(&ctx->TextureFormatSupported, GL_TRUE,
sizeof(ctx->TextureFormatSupported));
switch (ctx->API) {
case API_OPENGL_COMPAT:
ctx->BeginEnd = create_beginend_table(ctx);
- ctx->Save = alloc_dispatch_table();
+ ctx->Save = _mesa_alloc_dispatch_table();
if (!ctx->BeginEnd || !ctx->Save)
goto fail;
/* fall-through */
case API_OPENGL_CORE:
break;
case API_OPENGLES:
/**
* GL_OES_texture_cube_map says
* "Initially all texture generation modes are set to REFLECTION_MAP_OES"
--
2.9.3
More information about the mesa-dev
mailing list