From 62f6252476505bf556d1ad9e7c58cf7c1c6e510c Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Thu, 1 Mar 2018 16:38:37 +0100 Subject: [PATCH] r600/egd_tables.py: make the script python 2+3 compatible Patch by "Tomas Chvatal" with modifications by "Michal Srb" to not break python 2. https://bugzilla.suse.com/show_bug.cgi?id=1082303 v2: - no longer try to encode a unicode - make use of 'from __future__ import print_function', so semantics of print statements in python2 are closer to print functions in python3 https://lists.freedesktop.org/archives/mesa-dev/2018-February/187056.html Signed-off-by: Stefan Dirsch Reviewed-by: Tomas Chvatal Reviewed-by: Dylan Baker --- src/gallium/drivers/r600/egd_tables.py | 53 +++++++++++++++++----------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/src/gallium/drivers/r600/egd_tables.py b/src/gallium/drivers/r600/egd_tables.py index d7b78c7fb1..4796456330 100644 --- a/src/gallium/drivers/r600/egd_tables.py +++ b/src/gallium/drivers/r600/egd_tables.py @@ -1,3 +1,4 @@ +from __future__ import print_function CopyRight = ''' /* @@ -60,7 +61,7 @@ class StringTable: """ fragments = [ '"%s\\0" /* %s */' % ( - te[0].encode('string_escape'), + te[0], ', '.join(str(idx) for idx in te[2]) ) for te in self.table @@ -217,10 +218,10 @@ def write_tables(regs, packets): strings = StringTable() strings_offsets = IntTable("int") - print '/* This file is autogenerated by egd_tables.py from evergreend.h. Do not edit directly. */' - print - print CopyRight.strip() - print ''' + print('/* This file is autogenerated by egd_tables.py from evergreend.h. Do not edit directly. */') + print('') + print(CopyRight.strip()) + print(''' #ifndef EG_TABLES_H #define EG_TABLES_H @@ -242,20 +243,20 @@ struct eg_packet3 { unsigned name_offset; unsigned op; }; -''' +''') - print 'static const struct eg_packet3 packet3_table[] = {' + print('static const struct eg_packet3 packet3_table[] = {') for pkt in packets: - print '\t{%s, %s},' % (strings.add(pkt[5:]), pkt) - print '};' - print + print('\t{%s, %s},' % (strings.add(pkt[5:]), pkt)) + print('};') + print('') - print 'static const struct eg_field egd_fields_table[] = {' + print('static const struct eg_field egd_fields_table[] = {') fields_idx = 0 for reg in regs: if len(reg.fields) and reg.own_fields: - print '\t/* %s */' % (fields_idx) + print('\t/* %s */' % (fields_idx)) reg.fields_idx = fields_idx @@ -266,34 +267,34 @@ struct eg_packet3 { while value[1] >= len(values_offsets): values_offsets.append(-1) values_offsets[value[1]] = strings.add(strip_prefix(value[0])) - print '\t{%s, %s(~0u), %s, %s},' % ( + print('\t{%s, %s(~0u), %s, %s},' % ( strings.add(field.name), field.s_name, - len(values_offsets), strings_offsets.add(values_offsets)) + len(values_offsets), strings_offsets.add(values_offsets))) else: - print '\t{%s, %s(~0u)},' % (strings.add(field.name), field.s_name) + print('\t{%s, %s(~0u)},' % (strings.add(field.name), field.s_name)) fields_idx += 1 - print '};' - print + print('};') + print('') - print 'static const struct eg_reg egd_reg_table[] = {' + print('static const struct eg_reg egd_reg_table[] = {') for reg in regs: if len(reg.fields): - print '\t{%s, %s, %s, %s},' % (strings.add(reg.name), reg.r_name, - len(reg.fields), reg.fields_idx if reg.own_fields else reg.fields_owner.fields_idx) + print('\t{%s, %s, %s, %s},' % (strings.add(reg.name), reg.r_name, + len(reg.fields), reg.fields_idx if reg.own_fields else reg.fields_owner.fields_idx)) else: - print '\t{%s, %s},' % (strings.add(reg.name), reg.r_name) - print '};' - print + print('\t{%s, %s},' % (strings.add(reg.name), reg.r_name)) + print('};') + print('') strings.emit(sys.stdout, "egd_strings") - print + print('') strings_offsets.emit(sys.stdout, "egd_strings_offsets") - print - print '#endif' + print('') + print('#endif') def main(): -- 2.13.6