pan/decode: Guard texture unknowns as zero trips

unknown3A I think I've actually seen on T6xx but.. we'll see what
happens in traces going forward. We don't want the zero noise normally,
and if they show up in the wild, we want to draw attention to them.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
Alyssa Rosenzweig 2019-08-20 14:40:26 -07:00
parent e09392fc27
commit fa536ece04

View file

@ -2039,8 +2039,6 @@ pandecode_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix *p,
pandecode_prop("height = MALI_POSITIVE(%" PRId16 ")", t->height + 1); pandecode_prop("height = MALI_POSITIVE(%" PRId16 ")", t->height + 1);
pandecode_prop("depth = MALI_POSITIVE(%" PRId16 ")", t->depth + 1); pandecode_prop("depth = MALI_POSITIVE(%" PRId16 ")", t->depth + 1);
pandecode_prop("array_size = MALI_POSITIVE(%" PRId16 ")", t->array_size + 1); pandecode_prop("array_size = MALI_POSITIVE(%" PRId16 ")", t->array_size + 1);
pandecode_prop("unknown3 = %" PRId16, t->unknown3);
pandecode_prop("unknown3A = %" PRId8, t->unknown3A);
pandecode_prop("nr_mipmap_levels = %" PRId8, t->nr_mipmap_levels); pandecode_prop("nr_mipmap_levels = %" PRId8, t->nr_mipmap_levels);
struct mali_texture_format f = t->format; struct mali_texture_format f = t->format;
@ -2055,23 +2053,29 @@ pandecode_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix *p,
pandecode_prop("type = %s", pandecode_texture_type(f.type)); pandecode_prop("type = %s", pandecode_texture_type(f.type));
pandecode_prop("srgb = %" PRId32, f.srgb); pandecode_prop("srgb = %" PRId32, f.srgb);
pandecode_prop("unknown1 = %" PRId32, f.unknown1);
pandecode_prop("usage2 = 0x%" PRIx32, f.usage2); pandecode_prop("usage2 = 0x%" PRIx32, f.usage2);
if (f.unknown1) {
pandecode_msg("XXX: texture format zero tripped\n");
pandecode_prop("unknown1 = %" PRId32, f.unknown1);
}
pandecode_indent--; pandecode_indent--;
pandecode_log("},\n"); pandecode_log("},\n");
if (t->swizzle_zero) { if (t->swizzle_zero) {
/* Shouldn't happen */
pandecode_msg("XXX: swizzle zero tripped\n"); pandecode_msg("XXX: swizzle zero tripped\n");
pandecode_prop("swizzle_zero = %d", t->swizzle_zero); pandecode_prop("swizzle_zero = %d", t->swizzle_zero);
} }
pandecode_prop("unknown3 = 0x%" PRIx32, t->unknown3); if (t->unknown3 | t->unknown3A | t->unknown5 | t->unknown6 | t->unknown7) {
pandecode_msg("XXX: texture zero tripped\n");
pandecode_prop("unknown3 = %" PRId16, t->unknown3);
pandecode_prop("unknown3A = %" PRId8, t->unknown3A);
pandecode_prop("unknown5 = 0x%" PRIx32, t->unknown5); pandecode_prop("unknown5 = 0x%" PRIx32, t->unknown5);
pandecode_prop("unknown6 = 0x%" PRIx32, t->unknown6); pandecode_prop("unknown6 = 0x%" PRIx32, t->unknown6);
pandecode_prop("unknown7 = 0x%" PRIx32, t->unknown7); pandecode_prop("unknown7 = 0x%" PRIx32, t->unknown7);
}
pandecode_log(".payload = {\n"); pandecode_log(".payload = {\n");
pandecode_indent++; pandecode_indent++;