File u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch of Package Mesa.13454

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
openSUSE Build Service is sponsored by