diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2019-08-12 18:50:25 +0200 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2019-08-12 23:44:17 +0200 |
commit | 314c9639bc8125c34e42e4111e97a2ba5cedee16 (patch) | |
tree | 794816ee9ae6cfd868b77acb24b422e4c8ca92d2 | |
parent | 62870c072313ea99d43221b70ca78240a45eb5af (diff) | |
download | mesa-314c9639bc8125c34e42e4111e97a2ba5cedee16.tar.gz |
etnaviv: move etna_dump_shader(..)
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_compiler.c | 72 | ||||
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c | 49 |
2 files changed, 49 insertions, 72 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c index 3d7d4cc9130..b6c314bbb5f 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c @@ -25,75 +25,3 @@ */ #include "etnaviv_compiler.h" -#include "etnaviv_debug.h" -#include "etnaviv_disasm.h" -#include "tgsi/tgsi_strings.h" - -extern const char *tgsi_swizzle_names[]; -void -etna_dump_shader(const struct etna_shader_variant *shader) -{ - if (shader->stage == MESA_SHADER_VERTEX) - printf("VERT\n"); - else - printf("FRAG\n"); - - - etna_disasm(shader->code, shader->code_size, PRINT_RAW); - - printf("num loops: %i\n", shader->num_loops); - printf("num temps: %i\n", shader->num_temps); - printf("immediates:\n"); - for (int idx = 0; idx < shader->uniforms.imm_count; ++idx) { - printf(" [%i].%s = %f (0x%08x) (%d)\n", - idx / 4, - tgsi_swizzle_names[idx % 4], - *((float *)&shader->uniforms.imm_data[idx]), - shader->uniforms.imm_data[idx], - shader->uniforms.imm_contents[idx]); - } - - if (DBG_ENABLED(ETNA_DBG_NIR)) { - printf("inputs:\n"); - for (int idx = 0; idx < shader->infile.num_reg; ++idx) { - printf(" [%i] name=%s comps=%i\n", shader->infile.reg[idx].reg, - (shader->stage == MESA_SHADER_VERTEX) ? - gl_vert_attrib_name(shader->infile.reg[idx].slot) : - gl_varying_slot_name(shader->infile.reg[idx].slot), - shader->infile.reg[idx].num_components); - } - printf("outputs:\n"); - for (int idx = 0; idx < shader->outfile.num_reg; ++idx) { - printf(" [%i] name=%s comps=%i\n", shader->outfile.reg[idx].reg, - (shader->stage == MESA_SHADER_VERTEX) ? - gl_varying_slot_name(shader->outfile.reg[idx].slot) : - gl_frag_result_name(shader->outfile.reg[idx].slot), - shader->outfile.reg[idx].num_components); - } - } else { - printf("inputs:\n"); - for (int idx = 0; idx < shader->infile.num_reg; ++idx) { - printf(" [%i] name=%s index=%i comps=%i\n", shader->infile.reg[idx].reg, - tgsi_semantic_names[shader->infile.reg[idx].semantic.Name], - shader->infile.reg[idx].semantic.Index, - shader->infile.reg[idx].num_components); - } - printf("outputs:\n"); - for (int idx = 0; idx < shader->outfile.num_reg; ++idx) { - printf(" [%i] name=%s index=%i comps=%i\n", shader->outfile.reg[idx].reg, - tgsi_semantic_names[shader->outfile.reg[idx].semantic.Name], - shader->outfile.reg[idx].semantic.Index, - shader->outfile.reg[idx].num_components); - } - } - printf("special:\n"); - if (shader->stage == MESA_SHADER_VERTEX) { - printf(" vs_pos_out_reg=%i\n", shader->vs_pos_out_reg); - printf(" vs_pointsize_out_reg=%i\n", shader->vs_pointsize_out_reg); - printf(" vs_load_balancing=0x%08x\n", shader->vs_load_balancing); - } else { - printf(" ps_color_out_reg=%i\n", shader->ps_color_out_reg); - printf(" ps_depth_out_reg=%i\n", shader->ps_depth_out_reg); - } - printf(" input_count_unk8=0x%08x\n", shader->input_count_unk8); -} diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c b/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c index b86e0560465..416feedf973 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler_tgsi.c @@ -2495,6 +2495,55 @@ etna_destroy_shader(struct etna_shader_variant *shader) FREE(shader); } +extern const char *tgsi_swizzle_names[]; +void +etna_dump_shader(const struct etna_shader_variant *shader) +{ + if (shader->stage == MESA_SHADER_VERTEX) + printf("VERT\n"); + else + printf("FRAG\n"); + + + etna_disasm(shader->code, shader->code_size, PRINT_RAW); + + printf("num loops: %i\n", shader->num_loops); + printf("num temps: %i\n", shader->num_temps); + printf("immediates:\n"); + for (int idx = 0; idx < shader->uniforms.imm_count; ++idx) { + printf(" [%i].%s = %f (0x%08x) (%d)\n", + idx / 4, + tgsi_swizzle_names[idx % 4], + *((float *)&shader->uniforms.imm_data[idx]), + shader->uniforms.imm_data[idx], + shader->uniforms.imm_contents[idx]); + } + printf("inputs:\n"); + for (int idx = 0; idx < shader->infile.num_reg; ++idx) { + printf(" [%i] name=%s index=%i comps=%i\n", shader->infile.reg[idx].reg, + tgsi_semantic_names[shader->infile.reg[idx].semantic.Name], + shader->infile.reg[idx].semantic.Index, + shader->infile.reg[idx].num_components); + } + printf("outputs:\n"); + for (int idx = 0; idx < shader->outfile.num_reg; ++idx) { + printf(" [%i] name=%s index=%i comps=%i\n", shader->outfile.reg[idx].reg, + tgsi_semantic_names[shader->outfile.reg[idx].semantic.Name], + shader->outfile.reg[idx].semantic.Index, + shader->outfile.reg[idx].num_components); + } + printf("special:\n"); + if (shader->stage == MESA_SHADER_VERTEX) { + printf(" vs_pos_out_reg=%i\n", shader->vs_pos_out_reg); + printf(" vs_pointsize_out_reg=%i\n", shader->vs_pointsize_out_reg); + printf(" vs_load_balancing=0x%08x\n", shader->vs_load_balancing); + } else { + printf(" ps_color_out_reg=%i\n", shader->ps_color_out_reg); + printf(" ps_depth_out_reg=%i\n", shader->ps_depth_out_reg); + } + printf(" input_count_unk8=0x%08x\n", shader->input_count_unk8); +} + static const struct etna_shader_inout * etna_shader_vs_lookup(const struct etna_shader_variant *sobj, const struct etna_shader_inout *in) |