counts.sh
author Ryan C. Gordon <icculus@icculus.org>
Wed, 18 Apr 2012 00:19:32 -0400
changeset 1095 bc3d2c6e06cf
parent 593 cce8924a022e
permissions -rwxr-xr-x
glsl: Implemented most of the missing srcmods. Reread the GLSL spec, and it turns out that "vec3(x,y,z) - 3.0" is legal syntactic sugar: the compiler knows to subtract 3.0 from each of the three components in that vec3. This made this simpler than having to tapdance to generate correct constant vectors ourselves, and it's easier to read.

#!/bin/sh

# !!! FIXME: use this to correct our estimates some day.

for feh in shaders/??_?_?/*.bytecode ; do
    DISASM=`echo $feh |perl -w -p -e 's/bytecode\Z/disasm/;'`
    MINE=`./cmake-build/testparse d3d $feh |grep "INSTRUCTION COUNT: " |perl -w -p -e 's/\AINSTRUCTION COUNT: //;'`
    THEIRS=`grep "instruction slots used" $DISASM |perl -w -p -e 's#\A// approximately (\d+) instruction slots used .*?\Z#$1#;'`
    if [ "x$MINE" != "x$THEIRS" ]; then
        echo "$feh $MINE vs. $THEIRS"
    fi
done