mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 05:10:17 +01:00
i965/disasm: Stop using gen8_disassemble in favor of brw_disassemble.
At this point, brw_disassemble can do everything gen8_disassemble can do - and, thanks to the new brw_inst API, it supports all generations. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
parent
7b7f95b952
commit
e59a9ecc98
8 changed files with 8 additions and 42 deletions
|
|
@ -1795,8 +1795,7 @@ fs_generator::generate_code(exec_list *instructions)
|
|||
|
||||
const struct gl_program *prog = fp ? &fp->Base : NULL;
|
||||
|
||||
dump_assembly(p->store, annotation.ann_count, annotation.ann,
|
||||
brw, prog, brw_disassemble);
|
||||
dump_assembly(p->store, annotation.ann_count, annotation.ann, brw, prog);
|
||||
ralloc_free(annotation.ann);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1296,8 +1296,7 @@ vec4_generator::generate_code(exec_list *instructions)
|
|||
before_size / 16, before_size, after_size,
|
||||
100.0f * (before_size - after_size) / before_size);
|
||||
|
||||
dump_assembly(p->store, annotation.ann_count, annotation.ann,
|
||||
brw, prog, brw_disassemble);
|
||||
dump_assembly(p->store, annotation.ann_count, annotation.ann, brw, prog);
|
||||
ralloc_free(annotation.ann);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1271,8 +1271,7 @@ gen8_fs_generator::generate_code(exec_list *instructions)
|
|||
fprintf(stderr, "SIMD%d shader: %d instructions.\n",
|
||||
dispatch_width, before_size / 16);
|
||||
|
||||
dump_assembly(store, annotation.ann_count, annotation.ann, brw, prog,
|
||||
gen8_disassemble);
|
||||
dump_assembly(store, annotation.ann_count, annotation.ann, brw, prog);
|
||||
ralloc_free(annotation.ann);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -619,25 +619,3 @@ gen8_generator::HALT()
|
|||
gen8_set_mask_control(inst, BRW_MASK_DISABLE);
|
||||
return inst;
|
||||
}
|
||||
|
||||
extern "C" void
|
||||
gen8_disassemble(struct brw_context *brw, void *assembly,
|
||||
int start, int end, FILE *out)
|
||||
{
|
||||
bool dump_hex = false;
|
||||
|
||||
for (int offset = start; offset < end; offset += 16) {
|
||||
gen8_instruction *inst = &((gen8_instruction *)assembly)[offset / 16];
|
||||
fprintf(stderr, "0x%08x: ", offset);
|
||||
|
||||
if (dump_hex) {
|
||||
fprintf(stderr, "0x%08x 0x%08x 0x%08x 0x%08x ",
|
||||
((uint32_t *) inst)[3],
|
||||
((uint32_t *) inst)[2],
|
||||
((uint32_t *) inst)[1],
|
||||
((uint32_t *) inst)[0]);
|
||||
}
|
||||
|
||||
gen8_disassemble_inst(stderr, inst, brw->gen);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -194,7 +194,3 @@ protected:
|
|||
|
||||
void *mem_ctx;
|
||||
};
|
||||
|
||||
extern "C" void
|
||||
gen8_disassemble(struct brw_context *brw, void *assembly,
|
||||
int start, int end, FILE *out);
|
||||
|
|
|
|||
|
|
@ -898,8 +898,7 @@ gen8_vec4_generator::generate_code(exec_list *instructions)
|
|||
}
|
||||
fprintf(stderr, "vec4 shader: %d instructions.\n", before_size / 16);
|
||||
|
||||
dump_assembly(store, annotation.ann_count, annotation.ann,
|
||||
brw, prog, gen8_disassemble);
|
||||
dump_assembly(store, annotation.ann_count, annotation.ann, brw, prog);
|
||||
ralloc_free(annotation.ann);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,14 +22,14 @@
|
|||
*/
|
||||
|
||||
#include "brw_cfg.h"
|
||||
#include "brw_eu.h"
|
||||
#include "intel_asm_printer.h"
|
||||
#include "program/prog_print.h"
|
||||
#include "program/prog_instruction.h"
|
||||
|
||||
void
|
||||
dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
|
||||
struct brw_context *brw, const struct gl_program *prog,
|
||||
disassemble_func disassemble)
|
||||
struct brw_context *brw, const struct gl_program *prog)
|
||||
{
|
||||
const char *last_annotation_string = NULL;
|
||||
const void *last_annotation_ir = NULL;
|
||||
|
|
@ -73,7 +73,7 @@ dump_assembly(void *assembly, int num_annotations, struct annotation *annotation
|
|||
fprintf(stderr, " %s\n", last_annotation_string);
|
||||
}
|
||||
|
||||
disassemble(brw, assembly, start_offset, end_offset, stderr);
|
||||
brw_disassemble(brw, assembly, start_offset, end_offset, stderr);
|
||||
|
||||
if (annotation[i].block_end) {
|
||||
fprintf(stderr, " END B%d", annotation[i].block_end->block_num);
|
||||
|
|
|
|||
|
|
@ -56,13 +56,9 @@ struct annotation_info {
|
|||
int cur_block;
|
||||
};
|
||||
|
||||
typedef void (*disassemble_func)(struct brw_context *brw, void *assembly,
|
||||
int start, int end, FILE *out);
|
||||
|
||||
void
|
||||
dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
|
||||
struct brw_context *brw, const struct gl_program *prog,
|
||||
disassemble_func disassemble);
|
||||
struct brw_context *brw, const struct gl_program *prog);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue