summaryrefslogtreecommitdiffstats
path: root/src/panfrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-08-22 16:36:10 -0700
committerAlyssa Rosenzweig <[email protected]>2019-08-23 15:51:25 -0700
commit21a85fd7d8c56aae2f6dd3862900f4d8597eac8e (patch)
tree57ab196fc90e015de2faa0393222e2439c941da1 /src/panfrost
parent20ac0b8e4e3a1d27c298a18d5a10681cb483c798 (diff)
pan/decode: Validate and quiet helper invocation flag
We can statically determine from the disassembly if helper invocations will be needed, so we can validate the corresponding bit in the cmdstream and thus avoid printing the bit itself in the decode. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost')
-rw-r--r--src/panfrost/pandecode/decode.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/panfrost/pandecode/decode.c b/src/panfrost/pandecode/decode.c
index d68dbf7acb8..d0634c95720 100644
--- a/src/panfrost/pandecode/decode.c
+++ b/src/panfrost/pandecode/decode.c
@@ -267,7 +267,6 @@ static const struct pandecode_flag_info mfbd_extra_flag_info[] = {
#define FLAG_INFO(flag) { MALI_##flag, "MALI_" #flag }
static const struct pandecode_flag_info shader_midgard1_flag_info [] = {
FLAG_INFO(EARLY_Z),
- FLAG_INFO(HELPER_INVOCATIONS),
FLAG_INFO(READS_TILEBUFFER),
FLAG_INFO(READS_ZS),
{}
@@ -2103,6 +2102,14 @@ pandecode_vertex_tiler_postfix_pre(
if (is_bifrost) {
pandecode_prop("bifrost1.unk1 = 0x%" PRIx32, s->bifrost1.unk1);
} else {
+ bool helpers = s->midgard1.flags & MALI_HELPER_INVOCATIONS;
+ s->midgard1.flags &= ~MALI_HELPER_INVOCATIONS;
+
+ if (helpers != info.helper_invocations) {
+ pandecode_msg("XXX: expected helpers %u but got %u\n",
+ info.helper_invocations, helpers);
+ }
+
pandecode_log(".midgard1.flags = ");
pandecode_log_decoded_flags(shader_midgard1_flag_info, s->midgard1.flags);
pandecode_log_cont(",\n");