Commit d699ffbf authored by Alyssa Rosenzweig's avatar Alyssa Rosenzweig

panfrost/decode: Futureproof texture dumping

One field was not dumped for some reason. It's observed to be 0, but
it's still good to have it available.

Also, extra fields might be snuck in the bitmaps array (it's
variable-lengthed at the end), and we want to guard against that
possibility, so we dump a little more.
Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
parent ccfcb9d8
......@@ -29,6 +29,7 @@
#include <stdbool.h>
#include <stdarg.h>
#include "mmap.h"
#include "util/u_math.h"
#include "../pan_pretty_print.h"
#include "../midgard/disassemble.h"
......@@ -1456,6 +1457,7 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix
pandecode_prop("height = MALI_POSITIVE(%" PRId16 ")", t->height + 1);
pandecode_prop("depth = MALI_POSITIVE(%" PRId16 ")", t->depth + 1);
pandecode_prop("unknown1 = %" PRId16, t->unknown1);
pandecode_prop("unknown3 = %" PRId16, t->unknown3);
pandecode_prop("unknown3A = %" PRId8, t->unknown3A);
pandecode_prop("nr_mipmap_levels = %" PRId8, t->nr_mipmap_levels);
......@@ -1492,6 +1494,12 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix
pandecode_log(".swizzled_bitmaps = {\n");
pandecode_indent++;
/* A bunch of bitmap pointers follow.
* We work out the correct number,
* based on the mipmap/cubemap
* properties, but dump extra
* possibilities to futureproof */
int bitmap_count = MALI_NEGATIVE(t->nr_mipmap_levels);
if (!f.is_not_cubemap) {
......@@ -1506,9 +1514,12 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix
bitmap_count = max_count;
}
for (int i = 0; i < bitmap_count; ++i) {
/* Dump more to be safe, but not _that_ much more */
int safe_count = MIN2(bitmap_count * 2, max_count);
for (int i = 0; i < safe_count; ++i) {
char *a = pointer_as_memory_reference(t->swizzled_bitmaps[i]);
pandecode_log("%s, \n", a);
pandecode_log("%s%s, \n", (i >= bitmap_count) ? "// " : "", a);
free(a);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment