From 5338a24fe003cd341192079d59b5bbbf0c627e4e Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Fri, 9 Feb 2024 09:15:56 -0800 Subject: [PATCH] intel/tools: Add ELK support for aubinator Reviewed-by: Kenneth Graunke Part-of: --- src/intel/tools/aubinator.c | 19 ++++++++++++------- src/intel/tools/meson.build | 7 ++++--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c index 79257a26d7e..4db72559895 100644 --- a/src/intel/tools/aubinator.c +++ b/src/intel/tools/aubinator.c @@ -39,6 +39,7 @@ #include #include "intel/compiler/brw_isa_info.h" +#include "intel/compiler/elk/elk_isa_info.h" #include "util/macros.h" #include "aub_read.h" @@ -60,14 +61,13 @@ static enum { COLOR_AUTO, COLOR_ALWAYS, COLOR_NEVER } option_color; uint16_t pci_id = 0; char *input_file = NULL, *xml_path = NULL; struct intel_device_info devinfo; -struct brw_isa_info isa; +struct brw_isa_info brw; +struct elk_isa_info elk; struct intel_batch_decode_ctx batch_ctx; struct aub_mem mem; FILE *outfile; -struct brw_instruction; - static void aubinator_error(void *user_data, const void *aub_data, const char *msg) { @@ -90,8 +90,6 @@ aubinator_init(void *user_data, int aub_pci_id, const char *app_name) exit(EXIT_FAILURE); } - brw_init_isa_info(&isa, &devinfo); - enum intel_batch_decode_flags batch_flags = 0; if (option_color == COLOR_ALWAYS) batch_flags |= INTEL_BATCH_DECODE_IN_COLOR; @@ -101,8 +99,15 @@ aubinator_init(void *user_data, int aub_pci_id, const char *app_name) batch_flags |= INTEL_BATCH_DECODE_OFFSETS; batch_flags |= INTEL_BATCH_DECODE_FLOATS; - intel_batch_decode_ctx_init_brw(&batch_ctx, &isa, &devinfo, outfile, - batch_flags, xml_path, NULL, NULL, NULL); + if (devinfo.ver >= 9) { + brw_init_isa_info(&brw, &devinfo); + intel_batch_decode_ctx_init_brw(&batch_ctx, &brw, &devinfo, outfile, + batch_flags, xml_path, NULL, NULL, NULL); + } else { + elk_init_isa_info(&elk, &devinfo); + intel_batch_decode_ctx_init_elk(&batch_ctx, &elk, &devinfo, outfile, + batch_flags, xml_path, NULL, NULL, NULL); + } /* Check for valid spec instance, if wrong xml_path is passed then spec * instance is not initialized properly diff --git a/src/intel/tools/meson.build b/src/intel/tools/meson.build index f7c6923f9d9..c58b6f74769 100644 --- a/src/intel/tools/meson.build +++ b/src/intel/tools/meson.build @@ -22,7 +22,7 @@ libaub = static_library( 'aub', files('aub_read.c', 'aub_mem.c'), include_directories : [inc_include, inc_src, inc_intel], - dependencies : [idep_mesautil, idep_intel_dev, idep_intel_decoder_brw], + dependencies : [idep_mesautil, idep_intel_dev, idep_intel_decoder_brw, idep_intel_decoder_elk], link_with : [libintel_common], c_args : [no_override_init_args], gnu_symbol_visibility : 'hidden', @@ -32,9 +32,10 @@ libaub = static_library( aubinator = executable( 'aubinator', files('aubinator.c'), - dependencies : [idep_mesautil, dep_expat, dep_zlib, dep_dl, dep_thread, dep_m, idep_intel_dev, idep_intel_decoder_brw], + dependencies : [idep_mesautil, dep_expat, dep_zlib, dep_dl, dep_thread, dep_m, idep_intel_dev, + idep_intel_decoder_brw, idep_intel_decoder_elk], include_directories : [inc_include, inc_src, inc_intel], - link_with : [libintel_common, libintel_compiler, libaub], + link_with : [libintel_common, libintel_compiler, libintel_compiler_elk, libaub], c_args : [no_override_init_args], gnu_symbol_visibility : 'hidden', install : true