pan/decode: Fix overrun decoding planes

We need to calculate the # of descriptors like we do on Midgard.

Fixes: ae9316f812 ("pan/decode: Decode Valhall surface descriptor")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17842>
This commit is contained in:
Alyssa Rosenzweig 2022-08-01 18:56:49 -04:00 committed by Marge Bot
parent 3225d60685
commit 07e9543270

View file

@ -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);