1 #include <stddef.h>
2 
3 struct midgard_disasm_stats {
4         /* Counts gleaned from disassembly, or negative if the field cannot be
5          * inferred, for instance due to indirect access. If negative, the abs
6          * is the upper limit for the count. */
7 
8         signed texture_count;
9         signed sampler_count;
10         signed attribute_count;
11         signed varying_count;
12         signed uniform_count;
13         signed uniform_buffer_count;
14         signed work_count;
15 
16         /* These are pseudometrics for shader-db */
17         unsigned instruction_count;
18         unsigned bundle_count;
19         unsigned quadword_count;
20 
21         /* Should we enable helper invocations? */
22         bool helper_invocations;
23 };
24 
25 struct midgard_disasm_stats
26 disassemble_midgard(FILE *fp, uint8_t *code, size_t size, unsigned gpu_id, bool verbose);
27