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