From e59a9ecc98a9715307ae42f8e267b2f09129d690 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 28 Jun 2014 20:37:56 -0700 Subject: [PATCH] i965/disasm: Stop using gen8_disassemble in favor of brw_disassemble. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Matt Turner Reviewed-by: Kristian Høgsberg --- .../drivers/dri/i965/brw_fs_generator.cpp | 3 +-- .../drivers/dri/i965/brw_vec4_generator.cpp | 3 +-- .../drivers/dri/i965/gen8_fs_generator.cpp | 3 +-- src/mesa/drivers/dri/i965/gen8_generator.cpp | 22 ------------------- src/mesa/drivers/dri/i965/gen8_generator.h | 4 ---- .../drivers/dri/i965/gen8_vec4_generator.cpp | 3 +-- src/mesa/drivers/dri/i965/intel_asm_printer.c | 6 ++--- src/mesa/drivers/dri/i965/intel_asm_printer.h | 6 +---- 8 files changed, 8 insertions(+), 42 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index bdac2a29a2f..0f41781183d 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -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); } } diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp index 524761630b3..9e0e7bb105f 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp @@ -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); } } diff --git a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp index 6d455a3af60..4725774a34e 100644 --- a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp @@ -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); } } diff --git a/src/mesa/drivers/dri/i965/gen8_generator.cpp b/src/mesa/drivers/dri/i965/gen8_generator.cpp index 2a9bf83ee40..a41aa7b7dfd 100644 --- a/src/mesa/drivers/dri/i965/gen8_generator.cpp +++ b/src/mesa/drivers/dri/i965/gen8_generator.cpp @@ -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); - } -} diff --git a/src/mesa/drivers/dri/i965/gen8_generator.h b/src/mesa/drivers/dri/i965/gen8_generator.h index cdb2741d87e..f91044a34a0 100644 --- a/src/mesa/drivers/dri/i965/gen8_generator.h +++ b/src/mesa/drivers/dri/i965/gen8_generator.h @@ -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); diff --git a/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp b/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp index 82ea45a0cc1..da6c8975f96 100644 --- a/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp +++ b/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp @@ -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); } } diff --git a/src/mesa/drivers/dri/i965/intel_asm_printer.c b/src/mesa/drivers/dri/i965/intel_asm_printer.c index f533e7cf284..3c2d256a0c0 100644 --- a/src/mesa/drivers/dri/i965/intel_asm_printer.c +++ b/src/mesa/drivers/dri/i965/intel_asm_printer.c @@ -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); diff --git a/src/mesa/drivers/dri/i965/intel_asm_printer.h b/src/mesa/drivers/dri/i965/intel_asm_printer.h index dfe64d6c2fa..50ed21a3f7b 100644 --- a/src/mesa/drivers/dri/i965/intel_asm_printer.h +++ b/src/mesa/drivers/dri/i965/intel_asm_printer.h @@ -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" */ -- 2.30.2