summaryrefslogtreecommitdiffstats
path: root/src/intel/tools/intel_dump_gpu.in
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2018-06-16 17:42:13 +0100
committerLionel Landwerlin <[email protected]>2018-07-05 11:57:45 +0100
commit6e37b949d504bf1d855383e7cd5258f5d9a8e506 (patch)
tree766bac142551a90b85f634949ecfe5021093c986 /src/intel/tools/intel_dump_gpu.in
parentfa00b9c1c9e0b2865402c6a1d6ee156773d19cfa (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-xsrc/intel/tools/intel_dump_gpu.in107
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