mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-11 01:46:14 +00:00
This does everything the aub dump functionality in libdrm does, but without being part of libdrm. This moves the very developer oriented functionality out of core libdrm and adds some flexibility in how we activate it (we can specify filename, for example). Most importantly, this lets us dump aub files for tools and/or drivers that don't use libdrm, without having to add that code to each of those projects. The tool is used much like strace or valgrind. For example: $ intel_aubdump -v --output=stuff.aub -- glxgears -geometry 500x500 will launch glxgears with its options and enable aub dumping and pass the -v and --output=stuff.aub options to the aub dumper. Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
71 lines
1.1 KiB
Bash
71 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# -*- mode: sh -*-
|
|
|
|
function show_help() {
|
|
cat <<EOF
|
|
Usage: intel_aubdump [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
|
|
|
|
-v Enable verbose output
|
|
|
|
--help Display this help message and exit
|
|
|
|
EOF
|
|
|
|
exit 0
|
|
}
|
|
|
|
verbose=0
|
|
|
|
while true; do
|
|
case "$1" in
|
|
-o)
|
|
file=$2
|
|
shift 2
|
|
;;
|
|
-v)
|
|
verbose=1
|
|
shift 1
|
|
;;
|
|
-o*)
|
|
file=${1##-o}
|
|
shift
|
|
;;
|
|
--output=*)
|
|
file=${1##--output=}
|
|
shift
|
|
;;
|
|
--help)
|
|
show_help
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
-*)
|
|
echo "intel_aubdump: invalid option: $1"
|
|
echo
|
|
show_help
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
[ -z $1 ] && show_help
|
|
|
|
file=${file:-$(basename $1).aub}
|
|
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
libdir=@libdir@
|
|
|
|
LD_PRELOAD=${libdir}/intel_aubdump.so${LD_PPRELOAD:+:${LD_PRELOAD}} \
|
|
INTEL_AUBDUMP_ARGS="verbose=$verbose;file=$file" \
|
|
exec -- "$@"
|