Stefan Dirsch
9eccb494d3
with fixed u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch and enabled it again; removed again n_egd_tables_h.patch (boo#1082303) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=722
138 lines
4.6 KiB
Diff
138 lines
4.6 KiB
Diff
From 62f6252476505bf556d1ad9e7c58cf7c1c6e510c Mon Sep 17 00:00:00 2001
|
|
From: Stefan Dirsch <sndirsch@suse.de>
|
|
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" <tchvatal@suse.com> with modifications
|
|
by "Michal Srb" <msrb@suse.com> 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 <sndirsch@suse.de>
|
|
Reviewed-by: Tomas Chvatal <tchvatal@suse.com>
|
|
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
|
|
---
|
|
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
|
|
|