On Mon, Nov 28, 2016 at 3:46 PM, Jordan Justen <jordan.l.jus...@intel.com> wrote:
> On 2016-11-23 20:27:28, Jason Ekstrand wrote: > > This commit does two things. One is to pull useful and/or interesting > > information from the AUB file header and display it as a header above > your > > decoded batches. Second, it is now capable of pulling the PCI ID from > the > > AUB file comment left by intel_aubdump. This removes the need to use the > > --gen flag all the time. > > --- > > src/intel/tools/aubinator.c | 37 ++++++++++++++++++++++++++++++++++--- > > 1 file changed, 34 insertions(+), 3 deletions(-) > > > > diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c > > index 60aead8..f9aa8ce 100644 > > --- a/src/intel/tools/aubinator.c > > +++ b/src/intel/tools/aubinator.c > > @@ -63,7 +63,7 @@ static enum { COLOR_AUTO, COLOR_ALWAYS, COLOR_NEVER } > option_color; > > /* state */ > > > > uint16_t pci_id = 0; > > -char *xml_path = NULL; > > +char *input_file = NULL, *xml_path = NULL; > > struct gen_spec *spec; > > struct gen_disasm *disasm; > > > > @@ -891,9 +891,23 @@ handle_trace_block(uint32_t *p) > > } > > } > > > > +#define MAX(a, b) ((a) < (b) ? (b) : (a)) > > + > > Why was this moved? Also, couldn't we use MAX2 from utils/macros.h? > An earlier version of the patch needed it in handle_trace_header > > Series Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > > > static void > > handle_trace_header(uint32_t *p) > > { > > + /* The intel_aubdump tool from IGT is kind enough to put a PCI-ID= > tag in > > + * the AUB header comment. If the user hasn't specified a hardware > > + * generation, try to use the one from the AUB file. > > + */ > > + uint32_t *end = p + (p[0] & 0xffff) + 2; > > + int aub_pci_id = 0; > > + if (end > &p[12] && p[12] > 0) > > + sscanf((char *)&p[13], "PCI-ID=%i", &aub_pci_id); > > + > > + if (pci_id == 0) > > + pci_id = aub_pci_id; > > + > > struct gen_device_info devinfo; > > if (!gen_get_device_info(pci_id, &devinfo)) { > > fprintf(stderr, "can't find device information: pci_id=0x%x\n", > pci_id); > > @@ -908,6 +922,25 @@ handle_trace_header(uint32_t *p) > > > > if (spec == NULL || disasm == NULL) > > exit(EXIT_FAILURE); > > + > > + printf("%sAubinator: Intel AUB file decoder.%-80s%s\n", > > + GREEN_HEADER, "", NORMAL); > > + > > + if (input_file) > > + printf("File name: %s\n", input_file); > > + > > + if (aub_pci_id) > > + printf("PCI ID: 0x%x\n", aub_pci_id); > > + > > + char app_name[33]; > > + strncpy(app_name, (char *)&p[2], 32); > > + app_name[32] = 0; > > + printf("Application name: %s\n", app_name); > > + > > + printf("Decoding as: %s\n", gen_get_device_name(pci_id)); > > + > > + /* Throw in a new line before the first batch */ > > + printf("\n"); > > } > > > > struct aub_file { > > @@ -1094,7 +1127,6 @@ aub_file_more_stuff(struct aub_file *file) > > } > > > > #define AUB_READ_BUFFER_SIZE (4096) > > -#define MAX(a, b) ((a) < (b) ? (b) : (a)) > > > > static void > > aub_file_data_grow(struct aub_file *file) > > @@ -1185,7 +1217,6 @@ int main(int argc, char *argv[]) > > struct aub_file *file; > > int c, i; > > bool help = false, pager = true; > > - char *input_file = NULL; > > const struct { > > const char *name; > > int pci_id; > > -- > > 2.5.0.400.gff86faf > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev