summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2011-06-08 22:04:16 +0800
committerChia-I Wu <olv@lunarg.com>2011-06-08 23:17:57 +0800
commitfed482f5e30ea6b230ed20982551b340570dc3e9 (patch)
tree98b3af2a2a612d49d1ecfcf7125865a06009fbf7
parentfe3a3434412482ff1b0a113e1008fd7dd7b42359 (diff)
mesa: fix GLES remap table setup again
Generate different glapidispatch.h's for GL and GLES. For GLES, we want a local remap table. This reverts commit 5af46e836073d2112b147b524e441bdb808cc128. The commit will break GL remap table setup when main/glapidispatch.h is regenerated.
-rw-r--r--src/mapi/glapi/gen/gl_table.py22
-rw-r--r--src/mesa/main/es_generator.py5
2 files changed, 16 insertions, 11 deletions
diff --git a/src/mapi/glapi/gen/gl_table.py b/src/mapi/glapi/gen/gl_table.py
index c3cc6164f2c..bd3f3eb71c7 100644
--- a/src/mapi/glapi/gen/gl_table.py
+++ b/src/mapi/glapi/gen/gl_table.py
@@ -149,14 +149,18 @@ class PrintRemapTable(gl_XML.gl_print_base):
print '#else /* !_GLAPI_USE_REMAP_TABLE */'
print ''
- print '#define driDispatchRemapTable_size %u' % (count)
- print 'extern int driDispatchRemapTable[ driDispatchRemapTable_size ];'
- print ''
- print '#if FEATURE_remap_table'
- print '#define driDispatchRemapTable remap_table'
- print 'static int remap_table[driDispatchRemapTable_size];'
- print '#endif'
- print ''
+ if self.es:
+ remap_table = "esLocalRemapTable"
+
+ print '#define %s_size %u' % (remap_table, count)
+ print 'static int %s[ %s_size ];' % (remap_table, remap_table)
+ print ''
+ else:
+ remap_table = "driDispatchRemapTable"
+
+ print '#define %s_size %u' % (remap_table, count)
+ print 'extern int %s[ %s_size ];' % (remap_table, remap_table)
+ print ''
for f, index in functions:
print '#define %s_remap_index %u' % (f.name, index)
@@ -164,7 +168,7 @@ class PrintRemapTable(gl_XML.gl_print_base):
print ''
for f, index in functions:
- print '#define _gloffset_%s driDispatchRemapTable[%s_remap_index]' % (f.name, f.name)
+ print '#define _gloffset_%s %s[%s_remap_index]' % (f.name, remap_table, f.name)
print ''
print '#endif /* _GLAPI_USE_REMAP_TABLE */'
diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py
index 87d8bd31682..5b49416782d 100644
--- a/src/mesa/main/es_generator.py
+++ b/src/mesa/main/es_generator.py
@@ -680,6 +680,7 @@ print """
#if FEATURE_remap_table
+/* define esLocalRemapTable */
/* cannot include main/dispatch.h here */
#define _GLAPI_USE_REMAP_TABLE
#include "%sapi/main/glapidispatch.h"
@@ -701,7 +702,7 @@ init_remap_table(void)
return;
}
- for (i = 0; i < driDispatchRemapTable_size; i++) {
+ for (i = 0; i < esLocalRemapTable_size; i++) {
GLint offset;
const char *spec;
@@ -710,7 +711,7 @@ init_remap_table(void)
spec = _mesa_function_pool + remap[i].pool_index;
offset = _mesa_map_function_spec(spec);
- remap_table[i] = offset;
+ esLocalRemapTable[i] = offset;
}
initialized = GL_TRUE;
_glthread_UNLOCK_MUTEX(mutex);