Mesa (master): pan/decode: Validate and quiet helper invocation flag

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Aug 23 22:52:18 UTC 2019


Module: Mesa
Branch: master
Commit: 21a85fd7d8c56aae2f6dd3862900f4d8597eac8e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21a85fd7d8c56aae2f6dd3862900f4d8597eac8e

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Thu Aug 22 16:36:10 2019 -0700

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 <alyssa.rosenzweig at collabora.com>

---

 src/panfrost/pandecode/decode.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

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




More information about the mesa-commit mailing list