diff options
author | Lionel Landwerlin <[email protected]> | 2018-06-16 17:42:13 +0100 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2018-07-05 11:57:45 +0100 |
commit | 6e37b949d504bf1d855383e7cd5258f5d9a8e506 (patch) | |
tree | 766bac142551a90b85f634949ecfe5021093c986 /src/intel/tools/intel_dump_gpu.in | |
parent | fa00b9c1c9e0b2865402c6a1d6ee156773d19cfa (diff) |
intel: tools: import intel_aubdump
Signed-off-by: Lionel Landwerlin <[email protected]>
Acked-by: Rafael Antognolli <[email protected]>
Diffstat (limited to 'src/intel/tools/intel_dump_gpu.in')
-rwxr-xr-x | src/intel/tools/intel_dump_gpu.in | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/src/intel/tools/intel_dump_gpu.in b/src/intel/tools/intel_dump_gpu.in new file mode 100755 index 00000000000..875a67e7682 --- /dev/null +++ b/src/intel/tools/intel_dump_gpu.in @@ -0,0 +1,107 @@ +#!/bin/bash +# -*- mode: sh -*- + +function show_help() { + cat <<EOF +Usage: intel_dump_gpu [OPTION]... [--] COMMAND ARGUMENTS + +Run COMMAND with ARGUMENTS and dump an AUB file that captures buffer +contents and execution of the GEM application. + + -o, --output=FILE Name of AUB file. Defaults to COMMAND.aub + + -c, --command=CMD Execute CMD and write the AUB file's content to its + standard input + + --device=ID Override PCI ID of the reported device + + -v Enable verbose output + + --help Display this help message and exit + +EOF + + exit 0 +} + +args="" +command="" +file="" + +function add_arg() { + arg=$1 + args="$args$arg\n" +} + +function build_command () { + command="" + for i in $1; do + if [ -z $command ]; then + command=$i + else + command="$command,$i" + fi; + done +} + +while true; do + case "$1" in + -o) + file=$2 + add_arg "file=${file:-$(basename ${file}).aub}" + shift 2 + ;; + -v) + add_arg "verbose=1" + shift 1 + ;; + -o*) + file=${1##-o} + add_arg "file=${file:-$(basename ${file}).aub}" + shift + ;; + --output=*) + file=${1##--output=} + add_arg "file=${file:-$(basename ${file}).aub}" + shift + ;; + -c) + build_command "$2" + add_arg "command=$command" + shift 2 + ;; + --command=*) + build_command "${1##--command=}" + add_arg "command=$command" + shift + ;; + --device=*) + add_arg "device=${1##--device=}" + shift + ;; + --help) + show_help + ;; + --) + shift + break + ;; + -*) + echo "intel_aubdump: invalid option: $1" + echo + show_help + ;; + *) + break + ;; + esac +done + +[ -z $1 ] && show_help + +[ -z $file ] && [ -z $command ] && add_arg "file=intel.aub" + +LD_PRELOAD="@install_libexecdir@/libintel_dump_gpu.so${LD_PPRELOAD:+:$LD_PRELOAD}" \ + exec -- "$@" 3<<EOF +`echo -e $args` +EOF |