X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fpanfrost%2Fmidgard%2Fdisassemble.h;h=dacc7a16d5dcc72ab890de5690411e1b211b0376;hb=58fc2603128a591e116d059b7d961eda02a03cb5;hp=ca578b7d3aa27070ef52725958cb1b8549587d1f;hpb=a8f86fcb512f1cb0a8cd834df0e1eba42edf9c05;p=mesa.git diff --git a/src/panfrost/midgard/disassemble.h b/src/panfrost/midgard/disassemble.h index ca578b7d3aa..dacc7a16d5d 100644 --- a/src/panfrost/midgard/disassemble.h +++ b/src/panfrost/midgard/disassemble.h @@ -1,2 +1,23 @@ #include -void disassemble_midgard(uint8_t *code, size_t size, bool stats, unsigned regs, const char *prefix); + +struct midgard_disasm_stats { + /* Counts gleaned from disassembly, or negative if the field cannot be + * inferred, for instance due to indirect access. If negative, the abs + * is the upper limit for the count. */ + + signed texture_count; + signed sampler_count; + signed attribute_count; + signed varying_count; + signed uniform_count; + signed uniform_buffer_count; + signed work_count; + + /* These are pseudometrics for shader-db */ + unsigned instruction_count; + unsigned bundle_count; + unsigned quadword_count; +}; + +struct midgard_disasm_stats +disassemble_midgard(uint8_t *code, size_t size);