mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
trace: Fix parsing of recent traces.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
parent
8652ff7cdf
commit
db38c3b4ba
1 changed files with 26 additions and 5 deletions
|
|
@ -137,6 +137,7 @@ class Translator(model.Visitor):
|
|||
def visit_struct(self, node):
|
||||
struct = Struct()
|
||||
for member_name, member_node in node.members:
|
||||
member_name = member_name.replace('.', '_')
|
||||
member_value = self.visit(member_node)
|
||||
setattr(struct, member_name, member_value)
|
||||
self.result = struct
|
||||
|
|
@ -185,7 +186,7 @@ class Screen(Dispatcher):
|
|||
def destroy(self):
|
||||
pass
|
||||
|
||||
def context_create(self):
|
||||
def context_create(self, priv=None, flags=0):
|
||||
return Context(self.interpreter)
|
||||
|
||||
def is_format_supported(self, format, target, sample_count, bind, geom_flags):
|
||||
|
|
@ -498,10 +499,11 @@ class Context(Dispatcher):
|
|||
vertex = []
|
||||
for velem in self._state.vertex_elements:
|
||||
vbuf = self._state.vertex_buffers[velem.vertex_buffer_index]
|
||||
if vbuf.buffer is None:
|
||||
resource = vbuf.buffer_resource
|
||||
if resource is None:
|
||||
continue
|
||||
|
||||
data = vbuf.buffer.data
|
||||
data = resource.data
|
||||
|
||||
offset = vbuf.buffer_offset + velem.src_offset + vbuf.stride*index
|
||||
format = {
|
||||
|
|
@ -523,7 +525,7 @@ class Context(Dispatcher):
|
|||
'PIPE_FORMAT_R16G16B16_SNORM': '3h',
|
||||
}[velem.src_format]
|
||||
|
||||
data = vbuf.buffer.data
|
||||
data = resource.data
|
||||
attribute = unpack_from(format, data, offset)
|
||||
vertex.append(attribute)
|
||||
|
||||
|
|
@ -551,7 +553,7 @@ class Context(Dispatcher):
|
|||
|
||||
self._state.draw = info
|
||||
|
||||
if info.indexed:
|
||||
if info.index_size != 0:
|
||||
min_index, max_index = self._merge_indices(info)
|
||||
else:
|
||||
min_index = info.start
|
||||
|
|
@ -637,6 +639,25 @@ class Context(Dispatcher):
|
|||
def tex_transfer_destroy(self, transfer):
|
||||
self.interpreter.unregister_object(transfer)
|
||||
|
||||
def buffer_subdata(self, resource, usage, data, box=None, offset=None, size=None, level=None, stride=None, layer_stride=None):
|
||||
if box is not None:
|
||||
# XXX trace_context_transfer_unmap generates brokens buffer_subdata
|
||||
assert offset is None
|
||||
assert size is None
|
||||
assert level == 0
|
||||
offset = box.x
|
||||
size = box.width
|
||||
box = None
|
||||
|
||||
if resource is not None and resource.target == PIPE_BUFFER:
|
||||
data = data.getValue()
|
||||
assert len(data) >= size
|
||||
assert offset + size <= len(resource.data)
|
||||
resource.data[offset : offset + size] = data[:size]
|
||||
|
||||
def texture_subdata(self, resource, level, usage, box, data, stride, layer_stride):
|
||||
pass
|
||||
|
||||
def transfer_inline_write(self, resource, level, usage, box, stride, layer_stride, data):
|
||||
if resource is not None and resource.target == PIPE_BUFFER:
|
||||
data = data.getValue()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue