From c7c4fbc823053740b1bab0bb7c3a2eef3ccbce86 Mon Sep 17 00:00:00 2001 From: Italo Nicola Date: Fri, 11 Dec 2020 07:58:41 +0000 Subject: [PATCH] panfrost: decode 3d attribute continuation Adds 3D attribute buffer continuations to pandecode and a message to keep track of which buffer continuations we aren't decoding yet. Signed-off-by: Italo Nicola Reviewed-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- src/panfrost/lib/decode.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/panfrost/lib/decode.c b/src/panfrost/lib/decode.c index 703bf2cd80c..468d4f37853 100644 --- a/src/panfrost/lib/decode.c +++ b/src/panfrost/lib/decode.c @@ -466,12 +466,27 @@ 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) { + switch (temp.type) { + case MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR_WRITE_REDUCTION: + case 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++; + break; + } + case MALI_ATTRIBUTE_TYPE_3D_LINEAR: + case MALI_ATTRIBUTE_TYPE_3D_INTERLEAVED: { + pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_CONTINUATION_3D_LENGTH, + ATTRIBUTE_BUFFER_CONTINUATION_3D, temp2); + pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_3D, + temp2, (pandecode_indent + 1) * 2); + i++; count++; + break; + } + default: + break; } } pandecode_log("\n");