pan/decode: Fix helper invocations when tracing
midgard1.flags_lo was being changed when tracing, causing helper
invocations to be disabled.
This was found by using mprotect to make BOs read only in
pandecode_fetch_gpu_mem.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573>
diff --git a/src/panfrost/pandecode/decode.c b/src/panfrost/pandecode/decode.c
index 7635217..1774bed 100644
--- a/src/panfrost/pandecode/decode.c
+++ b/src/panfrost/pandecode/decode.c
@@ -2616,7 +2616,6 @@
pandecode_log_cont(",\n");
} else {
bool helpers = s->midgard1.flags_lo & MALI_HELPER_INVOCATIONS;
- s->midgard1.flags_lo &= ~MALI_HELPER_INVOCATIONS;
if (helpers != info.helper_invocations) {
pandecode_msg("XXX: expected helpers %u but got %u\n",
@@ -2624,7 +2623,8 @@
}
pandecode_log(".midgard1.flags_lo = ");
- pandecode_log_decoded_flags(shader_midgard1_flag_lo_info, s->midgard1.flags_lo);
+ pandecode_log_decoded_flags(shader_midgard1_flag_lo_info,
+ s->midgard1.flags_lo & ~MALI_HELPER_INVOCATIONS);
pandecode_log_cont(",\n");
pandecode_log(".midgard1.flags_hi = ");