summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/shader
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2014-09-05 12:01:34 +0800
committerChia-I Wu <olvaffe@gmail.com>2014-09-09 13:31:30 +0800
commit43bf14eaeb3e93bb9f69966331d001922954acab (patch)
treee61f2448cf10b91060d04c304775f9893f406985 /src/gallium/drivers/ilo/shader
parent4ea1565bbc49df79d4c39ba5491b0a83c2679a05 (diff)
downloadexternal_mesa3d-43bf14eaeb3e93bb9f69966331d001922954acab.zip
external_mesa3d-43bf14eaeb3e93bb9f69966331d001922954acab.tar.gz
external_mesa3d-43bf14eaeb3e93bb9f69966331d001922954acab.tar.bz2
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.
Diffstat (limited to 'src/gallium/drivers/ilo/shader')
-rw-r--r--src/gallium/drivers/ilo/shader/ilo_shader_fs.c2
-rw-r--r--src/gallium/drivers/ilo/shader/ilo_shader_gs.c4
-rw-r--r--src/gallium/drivers/ilo/shader/ilo_shader_vs.c2
-rw-r--r--src/gallium/drivers/ilo/shader/toy_compiler.h4
-rw-r--r--src/gallium/drivers/ilo/shader/toy_compiler_disasm.c8
5 files changed, 11 insertions, 9 deletions
diff --git a/src/gallium/drivers/ilo/shader/ilo_shader_fs.c b/src/gallium/drivers/ilo/shader/ilo_shader_fs.c
index c7a6ff9..c5bdf75 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 91c300b..2814662 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 c8a59e4..838a29e 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 c23d7fc..74004ed 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 0a90c3d..1028940 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));
}
}