mesa: Fix remap_table setup.
authorThierry Reding <thierry@gilfi.de>
Sun, 22 May 2011 12:07:22 +0000 (14:07 +0200)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 23 May 2011 15:19:44 +0000 (16:19 +0100)
Since the SET_xxx and GET_xxx macros used to initialize the remap_table
have been replaced by inline functions, the missing late macro expansion
leads to driDispatchRemapTable not being redefined to remap_table, which
in turn causes the remap_table not to be setup properly.

This commit fixes the issue by moving the table redefinition after the
definition of driDispatchRemapTable but in front of the inline function
definitions.

src/mapi/glapi/gen/gl_table.py
src/mesa/main/es_generator.py

index 7183052..c3cc616 100644 (file)
@@ -152,6 +152,11 @@ class PrintRemapTable(gl_XML.gl_print_base):
                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 ''
 
                for f, index in functions:
                        print '#define %s_remap_index %u' % (f.name, index)
index a56debe..87d8bd3 100644 (file)
@@ -687,10 +687,6 @@ print """
 #define need_MESA_remap_table
 #include "%sapi/main/remap_helper.h"
 
-/* force SET_* macros to use the local remap table */
-#define driDispatchRemapTable remap_table
-static int remap_table[driDispatchRemapTable_size];
-
 static void
 init_remap_table(void)
 {