diff options
| author | Chia-I Wu <olvaffe@gmail.com> | 2009-09-03 11:05:06 +0800 | 
|---|---|---|
| committer | Chia-I Wu <olvaffe@gmail.com> | 2009-09-12 20:56:02 +0800 | 
| commit | 4cf0415cc0ba2a40c838181ae737032fa2fc51d4 (patch) | |
| tree | 33715a6234680e4227a88429dca1252aa2ee7f24 /src/mesa/glapi/gl_offsets.py | |
| parent | 3de1a6584fd8596b6ad45dbd55f7d285885f0544 (diff) | |
glapi: Add OpenGL ES compatibility mode to scripts.
When the mode is on, the scripts would generate headers that are
suitable for OpenGL ES overlay, that will be later introduced.
Diffstat (limited to 'src/mesa/glapi/gl_offsets.py')
| -rw-r--r-- | src/mesa/glapi/gl_offsets.py | 25 | 
1 files changed, 21 insertions, 4 deletions
| diff --git a/src/mesa/glapi/gl_offsets.py b/src/mesa/glapi/gl_offsets.py index 59f8d372b0..07db370649 100644 --- a/src/mesa/glapi/gl_offsets.py +++ b/src/mesa/glapi/gl_offsets.py @@ -30,9 +30,10 @@ import license  import sys, getopt  class PrintGlOffsets(gl_XML.gl_print_base): -	def __init__(self): +	def __init__(self, es=False):  		gl_XML.gl_print_base.__init__(self) +		self.es = es  		self.name = "gl_offsets.py (from Mesa)"  		self.header_tag = '_GLAPI_OFFSETS_H_'  		self.license = license.bsd_license_template % ( \ @@ -45,6 +46,7 @@ class PrintGlOffsets(gl_XML.gl_print_base):  		functions = []  		abi_functions = [] +		alias_functions = []  		count = 0  		for f in api.functionIterateByOffset():  			[category, num] = api.get_category_for_name( f.name ) @@ -54,6 +56,10 @@ class PrintGlOffsets(gl_XML.gl_print_base):  			else:  				abi_functions.append( f ) +			if self.es: +				# remember functions with aliases +				if [f.name] != f.entry_points: +					alias_functions.append(f)  		for f in abi_functions:  			print '#define _gloffset_%s %d' % (f.name, f.offset) @@ -78,26 +84,37 @@ class PrintGlOffsets(gl_XML.gl_print_base):  		print ''  		print '#endif /* !defined(IN_DRI_DRIVER) */' +		if self.es and alias_functions: +			print '' +			print '/* define aliases for compatibility */' +			for f in alias_functions: +				for name in f.entry_points: +					if name != f.name: +						print '#define _gloffset_%s _gloffset_%s' % (name, f.name)  		return  def show_usage(): -	print "Usage: %s [-f input_file_name]" % sys.argv[0] +	print "Usage: %s [-f input_file_name] [-c]" % sys.argv[0] +	print "    -c        Enable compatibility with OpenGL ES."  	sys.exit(1)  if __name__ == '__main__':  	file_name = "gl_API.xml"  	try: -		(args, trail) = getopt.getopt(sys.argv[1:], "f:") +		(args, trail) = getopt.getopt(sys.argv[1:], "f:c")  	except Exception,e:  		show_usage() +	es = False  	for (arg,val) in args:  		if arg == "-f":  			file_name = val +		elif arg == "-c": +			es = True  	api = gl_XML.parse_GL_API( file_name ) -	printer = PrintGlOffsets() +	printer = PrintGlOffsets(es)  	printer.Print( api ) | 
