projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mesa: Fix indirect draw buffer size check on 32-bit systems.
[mesa.git]
/
src
/
mesa
/
main
/
remap.c
diff --git
a/src/mesa/main/remap.c
b/src/mesa/main/remap.c
index bfceb43c974155d092812e7a51a4337a369b14c8..5a95387728512ffa149ff2e0a1e518f7605ff793 100644
(file)
--- a/
src/mesa/main/remap.c
+++ b/
src/mesa/main/remap.c
@@
-1,6
+1,5
@@
/*
* Mesa 3-D graphics library
/*
* Mesa 3-D graphics library
- * Version: 7.7
*
* Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
*
*
* Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
*
@@
-38,19
+37,13
@@
#include "remap.h"
#include "imports.h"
#include "remap.h"
#include "imports.h"
+#include "glapi/glapi.h"
-#include "main/dispatch.h"
-
-
-#if FEATURE_remap_table
-
+#define MAX_ENTRY_POINTS 16
#define need_MESA_remap_table
#include "main/remap_helper.h"
#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];
/* this is global for quick access */
int driDispatchRemapTable[driDispatchRemapTable_size];
@@
-186,8
+179,10
@@
_mesa_map_static_functions(void)
* The remap table needs to be initialized before calling the
* CALL/GET/SET macros defined in main/dispatch.h.
*/
* 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)
+static 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;
{
static GLboolean initialized = GL_FALSE;
GLint i;
@@
-197,21
+192,29
@@
_mesa_init_remap_table(void)
initialized = GL_TRUE;
/* initialize the remap table */
initialized = GL_TRUE;
/* 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 */
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 */
driDispatchRemapTable[i] = offset;
offset = _mesa_map_function_spec(spec);
/* store the dispatch offset in the remap table */
driDispatchRemapTable[i] = offset;
- if (offset < 0)
- _mesa_warning(NULL, "failed to remap index %d", i);
+ if (offset < 0) {
+ const char *name = spec + strlen(spec) + 1;
+ _mesa_warning(NULL, "failed to remap %s", name);
+ }
}
}
}
}
-#endif /* FEATURE_remap_table */
+void
+_mesa_init_remap_table(void)
+{
+ _mesa_do_init_remap_table(_mesa_function_pool,
+ driDispatchRemapTable_size,
+ MESA_remap_table_functions);
+}