blob: feee23a4e28330a34b0a5c9f822a8fe9d811ccf2 [file] [log] [blame]
Kristian Høgsberg Kristensene6a5d792015-07-29 23:12:16 -07001#!/bin/bash
2# -*- mode: sh -*-
3
4function show_help() {
5 cat <<EOF
6Usage: intel_aubdump [OPTION]... [--] COMMAND ARGUMENTS
7
8Run COMMAND with ARGUMENTS and dump an AUB file that captures buffer
9contents and execution of the GEM application.
10
11 -o, --output=FILE Name of AUB file. Defaults to COMMAND.aub
12
Kristian Høgsberg Kristensen220c7d12015-08-04 15:00:50 -070013 --device=ID Override PCI ID of the reported device
14
Kristian Høgsberg Kristensene6a5d792015-07-29 23:12:16 -070015 -v Enable verbose output
16
17 --help Display this help message and exit
18
19EOF
20
21 exit 0
22}
23
24verbose=0
Kristian Høgsberg Kristensen220c7d12015-08-04 15:00:50 -070025device=0
Kristian Høgsberg Kristensene6a5d792015-07-29 23:12:16 -070026
27while true; do
28 case "$1" in
29 -o)
30 file=$2
31 shift 2
32 ;;
33 -v)
34 verbose=1
35 shift 1
36 ;;
37 -o*)
38 file=${1##-o}
39 shift
40 ;;
41 --output=*)
42 file=${1##--output=}
43 shift
44 ;;
Kristian Høgsberg Kristensen220c7d12015-08-04 15:00:50 -070045 --device=*)
46 device=${1##--device=}
47 shift
48 ;;
Kristian Høgsberg Kristensene6a5d792015-07-29 23:12:16 -070049 --help)
50 show_help
51 ;;
52 --)
53 shift
54 break
55 ;;
56 -*)
57 echo "intel_aubdump: invalid option: $1"
58 echo
59 show_help
60 ;;
61 *)
62 break
63 ;;
64 esac
65done
66
67[ -z $1 ] && show_help
68
69file=${file:-$(basename $1).aub}
70
71prefix=@prefix@
72exec_prefix=@exec_prefix@
73libdir=@libdir@
74
75LD_PRELOAD=${libdir}/intel_aubdump.so${LD_PPRELOAD:+:${LD_PRELOAD}} \
Kristian Høgsberg Kristensen220c7d12015-08-04 15:00:50 -070076 INTEL_AUBDUMP_ARGS="verbose=$verbose;file=$file;device=$device" \
Kristian Høgsberg Kristensene6a5d792015-07-29 23:12:16 -070077 exec -- "$@"