On Fri, Nov 21, 2014 at 1:35 PM, Matt Turner <matts...@gmail.com> wrote: > Dead since commit 3d16088f. > --- > src/mapi/glapi/gen/Makefile.am | 2 - > src/mapi/glapi/gen/extension_helper.py | 324 > --------------------------------- > 2 files changed, 326 deletions(-) > delete mode 100644 src/mapi/glapi/gen/extension_helper.py > > diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am > index 72e5095..9c70b26 100644 > --- a/src/mapi/glapi/gen/Makefile.am > +++ b/src/mapi/glapi/gen/Makefile.am > @@ -61,12 +61,10 @@ EXTRA_DIST= \ > $(MESA_GLAPI_DIR)/glapi_x86-64.S \ > $(MESA_GLAPI_DIR)/glapi_sparc.S \ > $(COMMON_GLX) \ > - extension_helper.py \ > gl_apitemp.py \ > gl_enums.py \ > gl_genexec.py \ > gl_gentable.py \ > - gl_offsets.py \
In an ideal world, this would be part of the next commit... > gl_procs.py \ > gl_SPARC_asm.py \ > gl_table.py \ > diff --git a/src/mapi/glapi/gen/extension_helper.py > b/src/mapi/glapi/gen/extension_helper.py > deleted file mode 100644 > index da633dc..0000000 > --- a/src/mapi/glapi/gen/extension_helper.py > +++ /dev/null > @@ -1,324 +0,0 @@ > -#!/usr/bin/env python > - > -# (C) Copyright IBM Corporation 2005 > -# All Rights Reserved. > -# > -# Permission is hereby granted, free of charge, to any person obtaining a > -# copy of this software and associated documentation files (the "Software"), > -# to deal in the Software without restriction, including without limitation > -# on the rights to use, copy, modify, merge, publish, distribute, sub > -# license, and/or sell copies of the Software, and to permit persons to whom > -# the Software is furnished to do so, subject to the following conditions: > -# > -# The above copyright notice and this permission notice (including the next > -# paragraph) shall be included in all copies or substantial portions of the > -# Software. > -# > -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL > -# IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > DEALINGS > -# IN THE SOFTWARE. > -# > -# Authors: > -# Ian Romanick <i...@us.ibm.com> > - > -import gl_XML > -import license > -import sys, getopt, string > - > -vtxfmt = [ > - "ArrayElement", \ > - "Color3f", \ > - "Color3fv", \ > - "Color4f", \ > - "Color4fv", \ > - "EdgeFlag", \ > - "EdgeFlagv", \ > - "EvalCoord1f", \ > - "EvalCoord1fv", \ > - "EvalCoord2f", \ > - "EvalCoord2fv", \ > - "EvalPoint1", \ > - "EvalPoint2", \ > - "FogCoordfEXT", \ > - "FogCoordfvEXT", \ > - "Indexf", \ > - "Indexfv", \ > - "Materialfv", \ > - "MultiTexCoord1fARB", \ > - "MultiTexCoord1fvARB", \ > - "MultiTexCoord2fARB", \ > - "MultiTexCoord2fvARB", \ > - "MultiTexCoord3fARB", \ > - "MultiTexCoord3fvARB", \ > - "MultiTexCoord4fARB", \ > - "MultiTexCoord4fvARB", \ > - "Normal3f", \ > - "Normal3fv", \ > - "SecondaryColor3fEXT", \ > - "SecondaryColor3fvEXT", \ > - "TexCoord1f", \ > - "TexCoord1fv", \ > - "TexCoord2f", \ > - "TexCoord2fv", \ > - "TexCoord3f", \ > - "TexCoord3fv", \ > - "TexCoord4f", \ > - "TexCoord4fv", \ > - "Vertex2f", \ > - "Vertex2fv", \ > - "Vertex3f", \ > - "Vertex3fv", \ > - "Vertex4f", \ > - "Vertex4fv", \ > - "CallList", \ > - "CallLists", \ > - "Begin", \ > - "End", \ > - "VertexAttrib1fNV", \ > - "VertexAttrib1fvNV", \ > - "VertexAttrib2fNV", \ > - "VertexAttrib2fvNV", \ > - "VertexAttrib3fNV", \ > - "VertexAttrib3fvNV", \ > - "VertexAttrib4fNV", \ > - "VertexAttrib4fvNV", \ > - "VertexAttrib1fARB", \ > - "VertexAttrib1fvARB", \ > - "VertexAttrib2fARB", \ > - "VertexAttrib2fvARB", \ > - "VertexAttrib3fARB", \ > - "VertexAttrib3fvARB", \ > - "VertexAttrib4fARB", \ > - "VertexAttrib4fvARB", \ > - "Rectf", \ > - "DrawArrays", \ > - "DrawElements", \ > - "DrawRangeElements", \ > - "EvalMesh1", \ > - "EvalMesh2", \ > -] > - > -def all_entrypoints_in_abi(f, abi, api): > - for n in f.entry_points: > - [category, num] = api.get_category_for_name( n ) > - if category not in abi: > - return 0 > - > - return 1 > - > - > -def any_entrypoints_in_abi(f, abi, api): > - for n in f.entry_points: > - [category, num] = api.get_category_for_name( n ) > - if category in abi: > - return 1 > - > - return 0 > - > - > -def condition_for_function(f, abi, all_not_in_ABI): > - """Create a C-preprocessor condition for the function. > - > - There are two modes of operation. If all_not_in_ABI is set, a > - condition is only created is all of the entry-point names for f are > - not in the selected ABI. If all_not_in_ABI is not set, a condition > - is created if any entryp-point name is not in the selected ABI. > - """ > - > - condition = [] > - for n in f.entry_points: > - [category, num] = api.get_category_for_name( n ) > - if category not in abi: > - condition.append( 'defined(need_%s)' % > (gl_XML.real_category_name( category )) ) > - elif all_not_in_ABI: > - return [] > - > - return condition > - > - > -class PrintGlExtensionGlue(gl_XML.gl_print_base): > - def __init__(self): > - gl_XML.gl_print_base.__init__(self) > - > - self.name = "extension_helper.py (from Mesa)" > - self.license = license.bsd_license_template % ("(C) Copyright IBM > Corporation 2005", "IBM") > - return > - > - > - def printRealHeader(self): > - print '#include "utils.h"' > - print '#include "main/dispatch.h"' > - print '' > - return > - > - > - def printBody(self, api): > - abi = [ "1.0", "1.1", "1.2", "GL_ARB_multitexture" ] > - > - category_list = {} > - > - print '#ifndef NULL' > - print '# define NULL 0' > - print '#endif' > - print '' > - > - for f in api.functionIterateAll(): > - condition = condition_for_function(f, abi, 0) > - if len(condition): > - print '#if %s' % (string.join(condition, " || ")) > - print 'static const char %s_names[] =' % (f.name) > - > - parameter_signature = '' > - for p in f.parameterIterator(): > - if p.is_padding: > - continue > - > - # FIXME: This is a *really* ugly hack. :( > - > - tn = p.type_expr.get_base_type_node() > - if p.is_pointer(): > - parameter_signature += 'p' > - elif tn.integer: > - parameter_signature += 'i' > - elif tn.size == 4: > - parameter_signature += 'f' > - else: > - parameter_signature += 'd' > - > - print ' "%s\\0" /* Parameter signature */' % > (parameter_signature) > - > - for n in f.entry_points: > - print ' "gl%s\\0"' % (n) > - > - [category, num] = api.get_category_for_name( n ) > - if category not in abi: > - c = gl_XML.real_category_name(category) > - if not category_list.has_key(c): > - category_list[ c ] = [] > - > - category_list[ c ].append( f ) > - > - print ' "";' > - print '#endif' > - print '' > - > - keys = category_list.keys() > - keys.sort() > - > - for category in keys: > - print '#if defined(need_%s)' % (category) > - print 'static const struct dri_extension_function %s_functions[] > = {' % (category) > - > - for f in category_list[ category ]: > - # A function either has an offset that is > - # assigned by the ABI, or it has a remap > - # index. > - if any_entrypoints_in_abi(f, abi, api): > - index_name = "-1" > - offset = f.offset > - else: > - index_name = "%s_remap_index" % (f.name) > - offset = -1 > - > - print ' { %s_names, %s, %d },' % (f.name, index_name, > offset) > - > - > - print ' { NULL, 0, 0 }' > - print '};' > - print '#endif' > - print '' > - > - return > - > - > -class PrintInitDispatch(gl_XML.gl_print_base): > - def __init__(self): > - gl_XML.gl_print_base.__init__(self) > - > - self.name = "extension_helper.py (from Mesa)" > - self.license = license.bsd_license_template % ("(C) Copyright IBM > Corporation 2005", "IBM") > - return > - > - > - def do_function_body(self, api, abi, vtxfmt_only): > - last_condition_string = None > - for f in api.functionIterateByOffset(): > - if (f.name in vtxfmt) and not vtxfmt_only: > - continue > - > - if (f.name not in vtxfmt) and vtxfmt_only: > - continue > - > - condition = condition_for_function(f, abi, 1) > - condition_string = string.join(condition, " || ") > - > - if condition_string != last_condition_string: > - if last_condition_string: > - print '#endif /* %s */' % (last_condition_string) > - > - if condition_string: > - print '#if %s' % (condition_string) > - > - if vtxfmt_only: > - print ' disp->%s = vfmt->%s;' % (f.name, f.name) > - else: > - print ' disp->%s = _mesa_%s;' % (f.name, f.name) > - > - last_condition_string = condition_string > - > - if last_condition_string: > - print '#endif /* %s */' % (last_condition_string) > - > - > - > - def printBody(self, api): > - abi = [ "1.0", "1.1", "1.2", "GL_ARB_multitexture" ] > - > - print 'void driver_init_exec_table(struct _glapi_table *disp)' > - print '{' > - self.do_function_body(api, abi, 0) > - print '}' > - print '' > - print 'void driver_install_vtxfmt(struct _glapi_table *disp, const > GLvertexformat *vfmt)' > - print '{' > - self.do_function_body(api, abi, 1) > - print '}' > - > - return > - > - > -def show_usage(): > - print "Usage: %s [-f input_file_name] [-m output_mode]" % sys.argv[0] > - print " -m output_mode Output mode can be one of 'extensions' or > 'exec_init'." > - sys.exit(1) > - > -if __name__ == '__main__': > - file_name = "gl_API.xml" > - > - try: > - (args, trail) = getopt.getopt(sys.argv[1:], "f:m:") > - except Exception,e: > - show_usage() > - > - mode = "extensions" > - for (arg,val) in args: > - if arg == "-f": > - file_name = val > - if arg == '-m': > - mode = val > - > - > - api = gl_XML.parse_GL_API( file_name ) > - > - if mode == "extensions": > - printer = PrintGlExtensionGlue() > - elif mode == "exec_init": > - printer = PrintInitDispatch() > - else: > - show_usage() > - > - printer.Print( api ) > -- > 2.0.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev