From: Kevin Rogovin <kevin.rogo...@intel.com> Signed-off-by: Kevin Rogovin <kevin.rogo...@intel.com> --- src/intel/Makefile.tools.am | 8 ++ src/intel/tools/.gitignore | 1 + src/intel/tools/i965_batchbuffer_logger_sh.in | 107 ++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 src/intel/tools/i965_batchbuffer_logger_sh.in
diff --git a/src/intel/Makefile.tools.am b/src/intel/Makefile.tools.am index 7845a57..f4a6af6 100644 --- a/src/intel/Makefile.tools.am +++ b/src/intel/Makefile.tools.am @@ -19,6 +19,7 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. +intelbindir = $(bindir) intellibdir = $(libdir) intelincludedir = $(includedir) @@ -29,6 +30,9 @@ noinst_PROGRAMS += \ intellib_LTLIBRARIES = \ tools/libi965_batchbuffer_logger.la +intelbin_SCRIPTS = tools/i965_batchbuffer_logger_sh +CLEANFILES += $(intelbin_SCRIPTS) + intelinclude_HEADERS = tools/i965_batchbuffer_logger_app.h \ tools/i965_batchbuffer_logger_output.h @@ -94,3 +98,7 @@ tools_libi965_batchbuffer_logger_la_CXXFLAGS = \ tools_libi965_batchbuffer_logger_la_LDFLAGS = \ -no-undefined -module -avoid-version -shared -shrext .so + +intel_sed_prefix_vars = sed -e 's,[@]libdir[@],$(intellibdir),g' +tools/i965_batchbuffer_logger_sh: tools/i965_batchbuffer_logger_sh.in + $(intel_sed_prefix_vars) < tools/i965_batchbuffer_logger_sh.in > tools/i965_batchbuffer_logger_sh diff --git a/src/intel/tools/.gitignore b/src/intel/tools/.gitignore index 27437f9..fa9bf708 100644 --- a/src/intel/tools/.gitignore +++ b/src/intel/tools/.gitignore @@ -1,2 +1,3 @@ /aubinator /aubinator_error_decode +/i965_batchbuffer_logger_sh diff --git a/src/intel/tools/i965_batchbuffer_logger_sh.in b/src/intel/tools/i965_batchbuffer_logger_sh.in new file mode 100644 index 0000000..478ae0f --- /dev/null +++ b/src/intel/tools/i965_batchbuffer_logger_sh.in @@ -0,0 +1,107 @@ +#!/bin/bash +# -*- mode: sh -*- + +function show_help() { + cat <<EOF +Usage: i965_batchbuffer_logger [OPTION]... [--] COMMAND ARGUMENTS + +Run COMMAND with ARGUMENTS where COMMAND is an application using +the i965_batchbuffer_logger_app interface to provide API calling +information to hook into a batchbuffer log. + + -d level Select batchbuffer decode level, where level is one of + the following. + no_decode : do not decode batchbuffer contents + instruction_decode : only decode the name of each GPU + command + instruction_details_decode: decode the name and contents + of each GPU command + -vs-file instead of placing the assembly of the vertex shaders directly + in the log, save the assembly of each vertex shader -binary- + to a file + + -hs-file instead of placing the assembly of the hull shaders directly + in the log, save the assembly of each vertex shader -binary- + to a file + + -ds-file instead of placing the assembly of the domain shaders directly + in the log, save the assembly of each vertex shader -binary- + to a file + + -gs-file instead of placing the assembly of the geometry shaders directly + in the log, save the assembly of each vertex shader -binary- + to a file + + -ps-file instead of placing the assembly of the pixel shaders directly + in the log, save the assembly of each vertex shader -binary- + to a file + + -cs-file instead of placing the assembly of the compute/media shaders + directly in the log, save the assembly of each vertex shader + -binary- to a file + + -r level Select the level to record in the log the relocation data, + where level is one of the following. + print_reloc_gem_gpu_updates : log reloc information + print_reloc_nothing : do not log reloc information + + --help Display this help message and exit + +EOF + + exit 0 +} + +function set_var() { + export $1=$2 +} + +while true; do + case "$1" in + -d) + set_var "I965_DECODE_LEVEL" "$2" + shift 2 + ;; + -r) + set_var "I965_PRINT_RELOC_LEVEL" "$2" + shift 2 + ;; + -vs-file) + set_var "I965_DECODE_VS" "0" + shift 1 + ;; + -hs-file) + set_var "I965_DECODE_HS" "0" + shift 1 + ;; + -ds-file) + set_var "I965_DECODE_DS" "0" + shift 1 + ;; + -gs-file) + set_var "I965_DECODE_GS" "0" + shift 1 + ;; + -ps-file) + set_var "I965_DECODE_PS" "0" + shift 1 + ;; + -cs-file) + set_var "I965_DECODE_CS" "0" + shift 1 + ;; + --) + shift + break + ;; + *) + break + ;; + esac +done + + +libdir=@libdir@ + +export LD_PRELOAD=${libdir}/libi965_batchbuffer_logger.so:$LD_PRELOAD +exec -- "$@" -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev