From 07e9543270f5d89f2767e4152ef7321ee32ca614 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 1 Aug 2022 18:56:49 -0400 Subject: [PATCH] pan/decode: Fix overrun decoding planes We need to calculate the # of descriptors like we do on Midgard. Fixes: ae9316f8128 ("pan/decode: Decode Valhall surface descriptor") Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/lib/genxml/decode.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/panfrost/lib/genxml/decode.c b/src/panfrost/lib/genxml/decode.c index cbd44620b52..4923f7e44a3 100644 --- a/src/panfrost/lib/genxml/decode.c +++ b/src/panfrost/lib/genxml/decode.c @@ -712,8 +712,13 @@ pandecode_bifrost_texture( pandecode_indent++; #if PAN_ARCH >= 9 - /* TODO: count */ - for (unsigned i = 0; i < 4; ++i) + int plane_count = temp.levels * temp.array_size; + + /* Miptree for each face */ + if (temp.dimension == MALI_TEXTURE_DIMENSION_CUBE) + plane_count *= 6; + + for (unsigned i = 0; i < plane_count; ++i) DUMP_ADDR(PLANE, temp.surfaces + i * pan_size(PLANE), "Plane %u:\n", i); #else struct pandecode_mapped_memory *tmem = pandecode_find_mapped_gpu_mem_containing(temp.surfaces);