Mesa (gallium-0.1): python/retrace: Fix formatting of shaders.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Nov 19 11:06:54 UTC 2008


Module: Mesa
Branch: gallium-0.1
Commit: 8a9e06257f3a145cddc5e44f841e2f2e81a2cafb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a9e06257f3a145cddc5e44f841e2f2e81a2cafb

Author: José Fonseca <jrfonseca at tungstengraphics.com>
Date:   Wed Nov 19 20:06:52 2008 +0900

python/retrace: Fix formatting of shaders.

---

 src/gallium/state_trackers/python/retrace/model.py |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/gallium/state_trackers/python/retrace/model.py b/src/gallium/state_trackers/python/retrace/model.py
index 3889db4..ae0f432 100755
--- a/src/gallium/state_trackers/python/retrace/model.py
+++ b/src/gallium/state_trackers/python/retrace/model.py
@@ -31,6 +31,7 @@
 
 
 import sys
+import string
 import format
 
 try:
@@ -149,10 +150,15 @@ class PrettyPrinter:
         self.formatter = formatter
     
     def visit_literal(self, node):
-        if isinstance(node.value, str) and len(node.value) > 32:
-            self.formatter.text('...')
-        else: 
-            self.formatter.literal(repr(node.value))
+        if isinstance(node.value, basestring):
+            if len(node.value) >= 4096 or node.value.strip(string.printable):
+                self.formatter.text('...')
+                return
+
+            self.formatter.literal('"' + node.value + '"')
+            return
+
+        self.formatter.literal(repr(node.value))
     
     def visit_named_constant(self, node):
         self.formatter.literal(node.name)
@@ -193,10 +199,10 @@ class PrettyPrinter:
             self.formatter.text(' = ')
             value.visit(self) 
             sep = ', '
+        self.formatter.text(')')
         if node.ret is not None:
             self.formatter.text(' = ')
             node.ret.visit(self)
-        self.formatter.text(')')
     
     def visit_trace(self, node):
         for call in node.calls:




More information about the mesa-commit mailing list