17ec681f3Smrg#include <stddef.h> 27ec681f3Smrg 37ec681f3Smrgstruct midgard_disasm_stats { 47ec681f3Smrg /* Counts gleaned from disassembly, or negative if the field cannot be 57ec681f3Smrg * inferred, for instance due to indirect access. If negative, the abs 67ec681f3Smrg * is the upper limit for the count. */ 77ec681f3Smrg 87ec681f3Smrg signed texture_count; 97ec681f3Smrg signed sampler_count; 107ec681f3Smrg signed attribute_count; 117ec681f3Smrg signed varying_count; 127ec681f3Smrg signed uniform_count; 137ec681f3Smrg signed uniform_buffer_count; 147ec681f3Smrg signed work_count; 157ec681f3Smrg 167ec681f3Smrg /* These are pseudometrics for shader-db */ 177ec681f3Smrg unsigned instruction_count; 187ec681f3Smrg unsigned bundle_count; 197ec681f3Smrg unsigned quadword_count; 207ec681f3Smrg 217ec681f3Smrg /* Should we enable helper invocations? */ 227ec681f3Smrg bool helper_invocations; 237ec681f3Smrg}; 247ec681f3Smrg 257ec681f3Smrgstruct midgard_disasm_stats 267ec681f3Smrgdisassemble_midgard(FILE *fp, uint8_t *code, size_t size, unsigned gpu_id, bool verbose); 27