diff options
-rw-r--r-- | src/panfrost/midgard/disassemble.c | 19 | ||||
-rw-r--r-- | src/panfrost/midgard/disassemble.h | 3 |
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 |