summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/panfrost/midgard/disassemble.c19
-rw-r--r--src/panfrost/midgard/disassemble.h3
2 files changed, 22 insertions, 0 deletions
diff --git a/src/panfrost/midgard/disassemble.c b/src/panfrost/midgard/disassemble.c
index b26dfb84e8d..a7f407bdef8 100644
--- a/src/panfrost/midgard/disassemble.c
+++ b/src/panfrost/midgard/disassemble.c
@@ -1221,6 +1221,22 @@ print_texture_format(int format)
}
}
+static bool
+midgard_op_has_helpers(unsigned op, bool gather)
+{
+ if (gather)
+ return true;
+
+ switch (op) {
+ case TEXTURE_OP_NORMAL:
+ case TEXTURE_OP_DFDX:
+ case TEXTURE_OP_DFDY:
+ return true;
+ default:
+ return false;
+ }
+}
+
static void
print_texture_op(unsigned op, bool gather)
{
@@ -1281,6 +1297,9 @@ print_texture_word(uint32_t *word, unsigned tabs)
{
midgard_texture_word *texture = (midgard_texture_word *) word;
+ midg_stats.helper_invocations |=
+ midgard_op_has_helpers(texture->op, texture->is_gather);
+
/* Broad category of texture operation in question */
print_texture_op(texture->op, texture->is_gather);
diff --git a/src/panfrost/midgard/disassemble.h b/src/panfrost/midgard/disassemble.h
index dacc7a16d5d..fc39875007a 100644
--- a/src/panfrost/midgard/disassemble.h
+++ b/src/panfrost/midgard/disassemble.h
@@ -17,6 +17,9 @@ struct midgard_disasm_stats {
unsigned instruction_count;
unsigned bundle_count;
unsigned quadword_count;
+
+ /* Should we enable helper invocations? */
+ bool helper_invocations;
};
struct midgard_disasm_stats