python/retrace: Dump constants.
This commit is contained in:
@@ -28,6 +28,8 @@
|
|||||||
|
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
import struct
|
||||||
|
|
||||||
import gallium
|
import gallium
|
||||||
import model
|
import model
|
||||||
import parser
|
import parser
|
||||||
@@ -206,7 +208,8 @@ class Winsys(Object):
|
|||||||
4,
|
4,
|
||||||
gallium.PIPE_BUFFER_USAGE_CPU_READ |
|
gallium.PIPE_BUFFER_USAGE_CPU_READ |
|
||||||
gallium.PIPE_BUFFER_USAGE_CPU_WRITE )
|
gallium.PIPE_BUFFER_USAGE_CPU_WRITE )
|
||||||
buffer.write(data, size)
|
assert size == len(data)
|
||||||
|
buffer.write(data)
|
||||||
return buffer
|
return buffer
|
||||||
|
|
||||||
def buffer_create(self, alignment, usage, size):
|
def buffer_create(self, alignment, usage, size):
|
||||||
@@ -216,7 +219,8 @@ class Winsys(Object):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def buffer_write(self, buffer, data, size):
|
def buffer_write(self, buffer, data, size):
|
||||||
buffer.write(data, size)
|
assert size == len(data)
|
||||||
|
buffer.write(data)
|
||||||
|
|
||||||
def fence_finish(self, fence, flags):
|
def fence_finish(self, fence, flags):
|
||||||
pass
|
pass
|
||||||
@@ -369,6 +373,15 @@ class Context(Object):
|
|||||||
if state is not None:
|
if state is not None:
|
||||||
self.real.set_constant_buffer(shader, index, state.buffer)
|
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):
|
def set_framebuffer_state(self, state):
|
||||||
_state = gallium.Framebuffer()
|
_state = gallium.Framebuffer()
|
||||||
_state.width = state.width
|
_state.width = state.width
|
||||||
|
Reference in New Issue
Block a user