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