mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 02:20:11 +01:00
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.
This commit is contained in:
parent
4ea1565bbc
commit
43bf14eaeb
5 changed files with 11 additions and 9 deletions
|
|
@ -1425,7 +1425,7 @@ fs_compile(struct fs_compile_context *fcc)
|
||||||
|
|
||||||
if (ilo_debug & ILO_DEBUG_FS) {
|
if (ilo_debug & ILO_DEBUG_FS) {
|
||||||
ilo_printf("disassembly:\n");
|
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");
|
ilo_printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -902,7 +902,7 @@ gs_compile(struct gs_compile_context *gcc)
|
||||||
|
|
||||||
if (ilo_debug & ILO_DEBUG_GS) {
|
if (ilo_debug & ILO_DEBUG_GS) {
|
||||||
ilo_printf("disassembly:\n");
|
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");
|
ilo_printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -986,7 +986,7 @@ gs_compile_passthrough(struct gs_compile_context *gcc)
|
||||||
|
|
||||||
if (ilo_debug & ILO_DEBUG_GS) {
|
if (ilo_debug & ILO_DEBUG_GS) {
|
||||||
ilo_printf("disassembly:\n");
|
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");
|
ilo_printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -789,7 +789,7 @@ vs_compile(struct vs_compile_context *vcc)
|
||||||
|
|
||||||
if (ilo_debug & ILO_DEBUG_VS) {
|
if (ilo_debug & ILO_DEBUG_VS) {
|
||||||
ilo_printf("disassembly:\n");
|
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");
|
ilo_printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -470,6 +470,8 @@ void *
|
||||||
toy_compiler_assemble(struct toy_compiler *tc, int *size);
|
toy_compiler_assemble(struct toy_compiler *tc, int *size);
|
||||||
|
|
||||||
void
|
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 */
|
#endif /* TOY_COMPILER_H */
|
||||||
|
|
|
||||||
|
|
@ -40,10 +40,10 @@ static int brw_disasm (FILE *file, struct brw_instruction *inst, int gen);
|
||||||
#include "toy_compiler.h"
|
#include "toy_compiler.h"
|
||||||
|
|
||||||
void
|
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;
|
const struct brw_instruction *instructions = kernel;
|
||||||
int i;
|
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],
|
brw_disasm(stderr, (struct brw_instruction *) &instructions[i],
|
||||||
ILO_GEN_GET_MAJOR(tc->dev->gen));
|
ILO_GEN_GET_MAJOR(dev->gen));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue