Mesa (gallium-0.1): python/retrace: Dump constants.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Nov 19 16:02:03 UTC 2008


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

Author: José Fonseca <jrfonseca at tungstengraphics.com>
Date:   Thu Nov 20 01:02:03 2008 +0900

python/retrace: Dump constants.

---

 .../state_trackers/python/retrace/interpreter.py   |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/python/retrace/interpreter.py b/src/gallium/state_trackers/python/retrace/interpreter.py
index 1918fc9..a7ae4c2 100755
--- a/src/gallium/state_trackers/python/retrace/interpreter.py
+++ b/src/gallium/state_trackers/python/retrace/interpreter.py
@@ -28,6 +28,8 @@
 
 
 import sys
+import struct
+
 import gallium
 import model
 import parser
@@ -206,7 +208,8 @@ class Winsys(Object):
                                          4, 
                                          gallium.PIPE_BUFFER_USAGE_CPU_READ |
                                          gallium.PIPE_BUFFER_USAGE_CPU_WRITE )
-        buffer.write(data, size)
+        assert size == len(data)
+        buffer.write(data)
         return buffer
     
     def buffer_create(self, alignment, usage, size):
@@ -216,7 +219,8 @@ class Winsys(Object):
         pass
     
     def buffer_write(self, buffer, data, size):
-        buffer.write(data, size)
+        assert size == len(data)
+        buffer.write(data)
         
     def fence_finish(self, fence, flags):
         pass
@@ -369,6 +373,15 @@ class Context(Object):
         if state is not None:
             self.real.set_constant_buffer(shader, index, state.buffer)
 
+            if 1:
+                data = state.buffer.read()
+                format = '4f'
+                index = 0
+                for offset in range(0, len(data), struct.calcsize(format)):
+                    x, y, z, w = struct.unpack_from(format, data, offset)
+                    sys.stdout.write('\tCONST[%2u] = {%10.4f, %10.4f, %10.4f, %10.4f}\n' % (index, x, y, z, w))
+                    index += 1
+
     def set_framebuffer_state(self, state):
         _state = gallium.Framebuffer()
         _state.width = state.width




More information about the mesa-commit mailing list