Kristian Høgsberg Kristensen | e6a5d79 | 2015-07-29 23:12:16 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # -*- mode: sh -*- |
| 3 | |
| 4 | function show_help() { |
| 5 | cat <<EOF |
| 6 | Usage: intel_aubdump [OPTION]... [--] COMMAND ARGUMENTS |
| 7 | |
| 8 | Run COMMAND with ARGUMENTS and dump an AUB file that captures buffer |
| 9 | contents and execution of the GEM application. |
| 10 | |
| 11 | -o, --output=FILE Name of AUB file. Defaults to COMMAND.aub |
| 12 | |
Kristian Høgsberg Kristensen | 220c7d1 | 2015-08-04 15:00:50 -0700 | [diff] [blame] | 13 | --device=ID Override PCI ID of the reported device |
| 14 | |
Kristian Høgsberg Kristensen | e6a5d79 | 2015-07-29 23:12:16 -0700 | [diff] [blame] | 15 | -v Enable verbose output |
| 16 | |
| 17 | --help Display this help message and exit |
| 18 | |
| 19 | EOF |
| 20 | |
| 21 | exit 0 |
| 22 | } |
| 23 | |
| 24 | verbose=0 |
Kristian Høgsberg Kristensen | 220c7d1 | 2015-08-04 15:00:50 -0700 | [diff] [blame] | 25 | device=0 |
Kristian Høgsberg Kristensen | e6a5d79 | 2015-07-29 23:12:16 -0700 | [diff] [blame] | 26 | |
| 27 | while 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 Kristensen | 220c7d1 | 2015-08-04 15:00:50 -0700 | [diff] [blame] | 45 | --device=*) |
| 46 | device=${1##--device=} |
| 47 | shift |
| 48 | ;; |
Kristian Høgsberg Kristensen | e6a5d79 | 2015-07-29 23:12:16 -0700 | [diff] [blame] | 49 | --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 |
| 65 | done |
| 66 | |
| 67 | [ -z $1 ] && show_help |
| 68 | |
| 69 | file=${file:-$(basename $1).aub} |
| 70 | |
| 71 | prefix=@prefix@ |
| 72 | exec_prefix=@exec_prefix@ |
| 73 | libdir=@libdir@ |
| 74 | |
| 75 | LD_PRELOAD=${libdir}/intel_aubdump.so${LD_PPRELOAD:+:${LD_PRELOAD}} \ |
Kristian Høgsberg Kristensen | 220c7d1 | 2015-08-04 15:00:50 -0700 | [diff] [blame] | 76 | INTEL_AUBDUMP_ARGS="verbose=$verbose;file=$file;device=$device" \ |
Kristian Høgsberg Kristensen | e6a5d79 | 2015-07-29 23:12:16 -0700 | [diff] [blame] | 77 | exec -- "$@" |