panfrost: fix attribute continuation decoding
Because attribute continuations aren't considered whole attributes, we need to increase the total number of attributes for each continuation when decoding, otherwise we will end up missing a buffer for every continuation we have. Signed-off-by: Italo Nicola <italonicola@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8066>
This commit is contained in:
parent
2fc5411e5e
commit
a36c95cd77
|
@ -466,13 +466,13 @@ pandecode_attributes(const struct pandecode_mapped_memory *mem,
|
|||
pan_unpack(cl + i * MALI_ATTRIBUTE_BUFFER_LENGTH, ATTRIBUTE_BUFFER, temp);
|
||||
DUMP_UNPACKED(ATTRIBUTE_BUFFER, temp, "%s:\n", prefix);
|
||||
|
||||
if (temp.type != MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR)
|
||||
continue;
|
||||
|
||||
pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH,
|
||||
ATTRIBUTE_BUFFER_CONTINUATION_NPOT, temp2);
|
||||
pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_NPOT,
|
||||
temp2, (pandecode_indent + 1) * 2);
|
||||
if (temp.type == MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR) {
|
||||
pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH,
|
||||
ATTRIBUTE_BUFFER_CONTINUATION_NPOT, temp2);
|
||||
pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_NPOT,
|
||||
temp2, (pandecode_indent + 1) * 2);
|
||||
i++; count++;
|
||||
}
|
||||
}
|
||||
pandecode_log("\n");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue