glthread: don't prefix variable_data with const
[mesa.git] / src / mapi / glapi / gen / remap_helper.py
index 9e3c3908d8ce2cc8692eda43a9939779e02efd59..0740b189f67a4864fa9d2c872db2a89da44f3b63 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 
 # Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
 # All Rights Reserved.
@@ -24,6 +23,8 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
+from __future__ import print_function
+
 import argparse
 
 import license
@@ -67,23 +68,23 @@ class PrintGlRemap(gl_XML.gl_print_base):
 
 
     def printRealHeader(self):
-        print '#include "main/dispatch.h"'
-        print '#include "main/remap.h"'
-        print ''
+        print('#include "main/dispatch.h"')
+        print('#include "main/remap.h"')
+        print('')
         return
 
 
     def printBody(self, api):
         pool_indices = {}
 
-        print '/* this is internal to remap.c */'
-        print '#ifndef need_MESA_remap_table'
-        print '#error Only remap.c should include this file!'
-        print '#endif /* need_MESA_remap_table */'
-        print ''
+        print('/* this is internal to remap.c */')
+        print('#ifndef need_MESA_remap_table')
+        print('#error Only remap.c should include this file!')
+        print('#endif /* need_MESA_remap_table */')
+        print('')
 
-        print ''
-        print 'static const char _mesa_function_pool[] ='
+        print('')
+        print('static const char _mesa_function_pool[] =')
 
         # output string pool
         index = 0;
@@ -101,68 +102,26 @@ class PrintGlRemap(gl_XML.gl_print_base):
             else:
                 comments = "dynamic"
 
-            print '   /* _mesa_function_pool[%d]: %s (%s) */' \
-                            % (index, f.name, comments)
+            print('   /* _mesa_function_pool[%d]: %s (%s) */' \
+                            % (index, f.name, comments))
             for line in spec:
-                print '   "%s\\0"' % line
+                print('   "%s\\0"' % line)
                 index += len(line) + 1
-        print '   ;'
-        print ''
+        print('   ;')
+        print('')
 
-        print '/* these functions need to be remapped */'
-        print 'static const struct gl_function_pool_remap MESA_remap_table_functions[] = {'
+        print('/* these functions need to be remapped */')
+        print('static const struct gl_function_pool_remap MESA_remap_table_functions[] = {')
         # output all functions that need to be remapped
         # iterate by offsets so that they are sorted by remap indices
         for f in api.functionIterateByOffset():
             if not f.assign_offset:
                 continue
-            print '   { %5d, %s_remap_index },' \
-                            % (pool_indices[f], f.name)
-        print '   {    -1, -1 }'
-        print '};'
-        print ''
-
-        # collect functions by versions/extensions
-        extension_functions = {}
-        abi_extensions = []
-        for f in api.functionIterateAll():
-            for n in f.entry_points:
-                category, num = api.get_category_for_name(n)
-                # consider only GL_VERSION_X_Y or extensions
-                c = gl_XML.real_category_name(category)
-                if c.startswith("GL_"):
-                    if not extension_functions.has_key(c):
-                        extension_functions[c] = []
-                    extension_functions[c].append(f)
-                    # remember the ext names of the ABI
-                    if (f.is_abi() and n == f.name and
-                            c not in abi_extensions):
-                        abi_extensions.append(c)
-        # ignore the ABI itself
-        for ext in abi_extensions:
-            extension_functions.pop(ext)
-
-        extensions = extension_functions.keys()
-        extensions.sort()
-
-        # output ABI functions that have alternative names (with ext suffix)
-        print '/* these functions are in the ABI, but have alternative names */'
-        print 'static const struct gl_function_remap MESA_alt_functions[] = {'
-        for ext in extensions:
-            funcs = []
-            for f in extension_functions[ext]:
-                # test if the function is in the ABI and has alt names
-                if f.is_abi() and len(f.entry_points) > 1:
-                    funcs.append(f)
-            if not funcs:
-                continue
-            print '   /* from %s */' % ext
-            for f in funcs:
-                print '   { %5d, _gloffset_%s },' \
-                                % (pool_indices[f], f.name)
-        print '   {    -1, -1 }'
-        print '};'
-        print ''
+            print('   { %5d, %s_remap_index },' \
+                            % (pool_indices[f], f.name))
+        print('   {    -1, -1 }')
+        print('};')
+        print('')
         return
 
 
@@ -170,17 +129,10 @@ def _parser():
     """Parse input options and return a namsepace."""
     parser = argparse.ArgumentParser()
     parser.add_argument('-f', '--filename',
-                        type=gl_XML.parse_GL_API,
                         default="gl_API.xml",
                         metavar="input_file_name",
-                        dest='api',
+                        dest='file_name',
                         help="An xml description file.")
-    parser.add_argument('-c', '--es-version',
-                        choices=[None, 'es1', 'es2'],
-                        default=None,
-                        metavar='ver',
-                        dest='es',
-                        help='A GLES version to support')
     return parser.parse_args()
 
 
@@ -188,11 +140,10 @@ def main():
     """Main function."""
     args = _parser()
 
-    if args.es is not None:
-        args.api.filter_functions_by_api(args.es)
+    api = gl_XML.parse_GL_API(args.file_name)
 
     printer = PrintGlRemap()
-    printer.Print(args.api)
+    printer.Print(api)
 
 
 if __name__ == '__main__':