1#include <stddef.h>
2
3struct 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
25struct midgard_disasm_stats
26disassemble_midgard(FILE *fp, uint8_t *code, size_t size, unsigned gpu_id, bool verbose);
27