1#!/usr/bin/env bash 2########################################################################## 3# 4# Copyright 2011 Jose Fonseca 5# All Rights Reserved. 6# 7# Permission is hereby granted, free of charge, to any person obtaining a copy 8# of this software and associated documentation files (the "Software"), to deal 9# in the Software without restriction, including without limitation the rights 10# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11# copies of the Software, and to permit persons to whom the Software is 12# furnished to do so, subject to the following conditions: 13# 14# The above copyright notice and this permission notice shall be included in 15# all copies or substantial portions of the Software. 16# 17# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23# THE SOFTWARE. 24# 25##########################################################################/ 26 27set -e 28 29TRACEDUMP=${TRACEDUMP:-`dirname "$0"`/dump.py} 30 31stripdump () { 32 python $TRACEDUMP "$1" \ 33 | sed \ 34 -e 's@ // time .*@@' \ 35 -e 's/\x1b\[[0-9]\{1,2\}\(;[0-9]\{1,2\}\)\{0,2\}m//g' \ 36 -e '/pipe_screen::is_format_supported/d' \ 37 -e '/pipe_screen::get_\(shader_\)\?paramf\?/d' \ 38 -e 's/\r$//g' \ 39 -e 's/^[0-9]\+ //' \ 40 -e 's/pipe = \w\+/pipe/g' \ 41 -e 's/screen = \w\+/screen/g' \ 42 -e 's/, /,\n\t/g' \ 43 -e 's/) = /)\n\t= /' \ 44 > "$2" 45 echo \ 46 -e 's/\<0x[0-9a-fA-F]\+\>/xxx/g' \ 47 > /dev/null 48} 49 50FIFODIR=`mktemp -d` 51FIFO1="$FIFODIR/1" 52FIFO2="$FIFODIR/2" 53 54mkfifo "$FIFO1" 55mkfifo "$FIFO2" 56 57stripdump "$1" "$FIFO1" & 58stripdump "$2" "$FIFO2" & 59 60sdiff \ 61 --width=`tput cols` \ 62 --speed-large-files \ 63 "$FIFO1" "$FIFO2" \ 64| less 65 66rm -rf "$FIFODIR" 67