From: Chia-I Wu Date: Fri, 5 Sep 2014 04:01:34 +0000 (+0800) Subject: ilo: make toy_compiler_disassemble() more useful X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=43bf14eaeb3e93bb9f69966331d001922954acab;p=mesa.git ilo: make toy_compiler_disassemble() more useful Do not require a toy_compiler so that it can be used in other places, such as state dumping. Add a bool to control whether the raw instruction words are shown. --- diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_fs.c b/src/gallium/drivers/ilo/shader/ilo_shader_fs.c index c7a6ff9faa6..c5bdf753b0b 100644 --- a/src/gallium/drivers/ilo/shader/ilo_shader_fs.c +++ b/src/gallium/drivers/ilo/shader/ilo_shader_fs.c @@ -1425,7 +1425,7 @@ fs_compile(struct fs_compile_context *fcc) if (ilo_debug & ILO_DEBUG_FS) { ilo_printf("disassembly:\n"); - toy_compiler_disassemble(tc, sh->kernel, sh->kernel_size); + toy_compiler_disassemble(tc->dev, sh->kernel, sh->kernel_size, false); ilo_printf("\n"); } diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_gs.c b/src/gallium/drivers/ilo/shader/ilo_shader_gs.c index 91c300bae9e..2814662043a 100644 --- a/src/gallium/drivers/ilo/shader/ilo_shader_gs.c +++ b/src/gallium/drivers/ilo/shader/ilo_shader_gs.c @@ -902,7 +902,7 @@ gs_compile(struct gs_compile_context *gcc) if (ilo_debug & ILO_DEBUG_GS) { ilo_printf("disassembly:\n"); - toy_compiler_disassemble(tc, sh->kernel, sh->kernel_size); + toy_compiler_disassemble(tc->dev, sh->kernel, sh->kernel_size, false); ilo_printf("\n"); } @@ -986,7 +986,7 @@ gs_compile_passthrough(struct gs_compile_context *gcc) if (ilo_debug & ILO_DEBUG_GS) { ilo_printf("disassembly:\n"); - toy_compiler_disassemble(tc, sh->kernel, sh->kernel_size); + toy_compiler_disassemble(tc->dev, sh->kernel, sh->kernel_size, false); ilo_printf("\n"); } diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_vs.c b/src/gallium/drivers/ilo/shader/ilo_shader_vs.c index c8a59e4d2d4..838a29e8d4b 100644 --- a/src/gallium/drivers/ilo/shader/ilo_shader_vs.c +++ b/src/gallium/drivers/ilo/shader/ilo_shader_vs.c @@ -789,7 +789,7 @@ vs_compile(struct vs_compile_context *vcc) if (ilo_debug & ILO_DEBUG_VS) { ilo_printf("disassembly:\n"); - toy_compiler_disassemble(tc, sh->kernel, sh->kernel_size); + toy_compiler_disassemble(tc->dev, sh->kernel, sh->kernel_size, false); ilo_printf("\n"); } diff --git a/src/gallium/drivers/ilo/shader/toy_compiler.h b/src/gallium/drivers/ilo/shader/toy_compiler.h index c23d7fc88a9..74004edd5e2 100644 --- a/src/gallium/drivers/ilo/shader/toy_compiler.h +++ b/src/gallium/drivers/ilo/shader/toy_compiler.h @@ -470,6 +470,8 @@ void * toy_compiler_assemble(struct toy_compiler *tc, int *size); void -toy_compiler_disassemble(struct toy_compiler *tc, const void *kernel, int size); +toy_compiler_disassemble(const struct ilo_dev_info *dev, + const void *kernel, int size, + bool dump_hex); #endif /* TOY_COMPILER_H */ diff --git a/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c b/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c index 0a90c3d0919..1028940fbc4 100644 --- a/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c +++ b/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c @@ -40,10 +40,10 @@ static int brw_disasm (FILE *file, struct brw_instruction *inst, int gen); #include "toy_compiler.h" void -toy_compiler_disassemble(struct toy_compiler *tc, const void *kernel, int size) +toy_compiler_disassemble(const struct ilo_dev_info *dev, + const void *kernel, int size, + bool dump_hex) { - /* set this to true to dump the hex */ - const bool dump_hex = false; const struct brw_instruction *instructions = kernel; int i; @@ -55,7 +55,7 @@ toy_compiler_disassemble(struct toy_compiler *tc, const void *kernel, int size) } brw_disasm(stderr, (struct brw_instruction *) &instructions[i], - ILO_GEN_GET_MAJOR(tc->dev->gen)); + ILO_GEN_GET_MAJOR(dev->gen)); } }