pan/midgard: Support disassembling to a file

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3525>
This commit is contained in:
Icecream95
2020-01-23 09:42:12 +13:00
committed by Marge Bot
parent 7b525ba02b
commit 968f36d1fc
4 changed files with 279 additions and 279 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -24,4 +24,4 @@ struct midgard_disasm_stats {
}; };
struct midgard_disasm_stats struct midgard_disasm_stats
disassemble_midgard(uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage stage); disassemble_midgard(FILE *fp, uint8_t *code, size_t size, unsigned gpu_id, gl_shader_stage stage);

View File

@@ -2926,7 +2926,7 @@ midgard_compile_shader_nir(nir_shader *nir, midgard_program *program, bool is_bl
program->tls_size = ctx->tls_size; program->tls_size = ctx->tls_size;
if (midgard_debug & MIDGARD_DBG_SHADERS) if (midgard_debug & MIDGARD_DBG_SHADERS)
disassemble_midgard(program->compiled.data, program->compiled.size, gpu_id, ctx->stage); disassemble_midgard(stdout, program->compiled.data, program->compiled.size, gpu_id, ctx->stage);
if (midgard_debug & MIDGARD_DBG_SHADERDB || shaderdb) { if (midgard_debug & MIDGARD_DBG_SHADERDB || shaderdb) {
unsigned nr_bundles = 0, nr_ins = 0; unsigned nr_bundles = 0, nr_ins = 0;

View File

@@ -1887,7 +1887,7 @@ pandecode_shader_disassemble(mali_ptr shader_ptr, int shader_no, int type,
stats.quadword_count = 0; stats.quadword_count = 0;
stats.helper_invocations = false; stats.helper_invocations = false;
} else { } else {
stats = disassemble_midgard(code, sz, gpu_id, stats = disassemble_midgard(stdout, code, sz, gpu_id,
type == JOB_TYPE_TILER ? type == JOB_TYPE_TILER ?
MESA_SHADER_FRAGMENT : MESA_SHADER_VERTEX); MESA_SHADER_FRAGMENT : MESA_SHADER_VERTEX);
} }