#! /bin/csh -f
#
#  This script runs microcode and stamp performance tests
#
#  EDIT THIS SCRIPT IN A WINDOW WITH >= 140 COLUMNS
#
#  RCS
#	$Header: runtest,v 1.3 90/07/04 18:02:52 todd Exp [runtest,v 1.1 91/05/03 07:32:38 afuller Exp ]$
#

switch($1)
    case "0":
	$N_WORK/$N_BIN/stuffq clear.pkt
	breaksw
#
# Vector Benchmarks
#
    case "10":
	$N_WORK/$N_BIN/bp rt10 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt rt10.pkt -1 -np 100 -ni 64000 rt10.pkt
	breaksw
    case "10e":
	$N_WORK/$N_BIN/bp rt10 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt rt10.pkt -1 -np 100 -ni 48000 -e rt10.pkt
	breaksw
    case "11":
	$N_WORK/$N_BIN/bp rt11 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt depthcue.pkt rt11.pkt -1 -np 100 -ni 10000 rt11.pkt
	breaksw
    case "11e":
	$N_WORK/$N_BIN/bp rt11 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt depthcue.pkt rt11.pkt -1 -np 100 -ni 10000 -e rt11.pkt
	breaksw
    case "12":
	$N_WORK/$N_BIN/bp rt12 n10pline -n 1 -p 1 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt  rt12.pkt -1 -np 2 -ni 400000 lineclr1.pkt rt12.pkt lineclr2.pkt rt12.pkt
	breaksw
    case "12b":
	$N_WORK/$N_BIN/bp rt12 n10pline -n 1 -p 1 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt  rt12.pkt -1 -np 5000 -ni 100 -e unigraphics.pkt 
	breaksw
    case "12e":
	$N_WORK/$N_BIN/bp rt12 n10pline -n 1 -p 1 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt  rt12.pkt -1 -np 2 -ni 400000 lineclr1.pkt -e rt12.pkt lineclr2.pkt -e rt12.pkt
	breaksw
    case "14":
	$N_WORK/$N_BIN/bp rt14 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt aa.pkt rt14.pkt -1 -np 100 -ni 10000 rt14.pkt
	breaksw
    case "14e":
	$N_WORK/$N_BIN/bp rt14 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt aa.pkt rt14.pkt -1 -np 100 -ni 10000 -e rt14.pkt
	breaksw
    case "15":
	$N_WORK/$N_BIN/bp rt15 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt depthcue.pkt aa.pkt rt15.pkt -1 -np 100 -ni 10000 rt15.pkt
	breaksw
    case "15e":
	$N_WORK/$N_BIN/bp rt15 n10pline -n 10 -p 10 -r 1024 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt depthcue.pkt aa.pkt rt15.pkt -1 -np 100 -ni 10000 -e rt15.pkt
	breaksw
#
# Independent Triangle Benchmarks
#
    case "20":
	$N_WORK/$N_BIN/bp rt20 n10tri -n 10 -r 1024 1024 1024 -l 14
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt -l lights.pkt rt20.pkt -1 -np 10 -ni 50000 rt20.pkt
	breaksw
    case "20e":
	$N_WORK/$N_BIN/bp rt20 n10tri -n 10 -r 1024 1024 1024 -l 14
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt -l lights.pkt rt20.pkt -1 -np 10 -ni 50000 -e rt20.pkt
	breaksw
    case "21":
	$N_WORK/$N_BIN/bp rt21 n10tri -n 10 -r 1024 1024 1024 -l 14 -normvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt21.pkt -1 -np 10 -ni 40000 rt21.pkt
	breaksw
    case "21e":
	$N_WORK/$N_BIN/bp rt21 n10tri -n 10 -r 1024 1024 1024 -l 14 -normvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt21.pkt -1 -np 10 -ni 40000 -e rt21.pkt
	breaksw
    case "22":
	$N_WORK/$N_BIN/bp rt22 n10tri -n 10 -r 1024 1024 1024 -l 14 -normvertex -rgbvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt22.pkt -1 -np 10 -ni 40000 rt22.pkt
	breaksw
    case "22e":
	$N_WORK/$N_BIN/bp rt22 n10tri -n 10 -r 1024 1024 1024 -l 14 -normvertex -rgbvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt22.pkt -1 -np 10 -ni 40000 -e rt22.pkt
	breaksw
#
# Triangle Strip Benchmarks
#
    case "30":
	$N_WORK/$N_BIN/bp rt30 n10tstrip -n 20 -p 10 -r 1024 1024 1024 -l 14
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt -l lights.pkt rt30.pkt -1 -np 200 -ni 4000 rt30.pkt
	breaksw
    case "30e":
	$N_WORK/$N_BIN/bp rt30 n10tstrip -n 20 -p 10 -r 1024 1024 1024 -l 14
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt -l lights.pkt rt30.pkt -1 -np 200 -ni 4000 -e rt30.pkt
	breaksw
    case "31":
	$N_WORK/$N_BIN/bp rt31 n10tstrip -n 12 -p 10 -r 1024 1024 1024 -l 14 -normvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt31.pkt -1 -np 120 -ni 6000 rt31.pkt
	breaksw
    case "31e":
	$N_WORK/$N_BIN/bp rt31 n10tstrip -n 12 -p 10 -r 1024 1024 1024 -l 14 -normvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt31.pkt -1 -np 120 -ni 6000 -e rt31.pkt
	breaksw
    case "32":
	$N_WORK/$N_BIN/bp rt32 n10tstrip -n 12 -p 10 -r 1024 1024 1024 -l 14 -normprim -normvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt32.pkt -1 -np 120 -ni 6000 rt32.pkt
	breaksw
    case "32e":
	$N_WORK/$N_BIN/bp rt32 n10tstrip -n 12 -p 10 -r 1024 1024 1024 -l 14 -normprim -normvertex
	$N_WORK/$N_BIN/stuffq clear.pkt state.pkt viewortho.pkt smooth.pkt zbuff.pkt -l lights.pkt rt32.pkt -1 -np 120 -ni 6000 -e rt32.pkt
	breaksw
#
# TwoD Benchmarks
#
    case "40":
	$N_WORK/$N_BIN/bp rt40 psline -n 1 -p 255 -r 1280 1024 1024 -l 10
	$N_WORK/$N_BIN/stuffq -np 255 -ni 30000 -p rt40.pkt
	breaksw
    case "41":
	$N_WORK/$N_BIN/bp rt41 pstri -n 1 -p 169 -r 1280 1024 1024 -l 14
	$N_WORK/$N_BIN/stuffq -np 169 -ni 20000 -p rt41.pkt
	breaksw
    case "42":
	$N_WORK/$N_BIN/bp rt42 pstri -n 1 -p 10 -r 1280 1024 1024 -l 14 -rgbvertex -zvertex
	$N_WORK/$N_BIN/stuffq -np 10 -ni 20000 -p rt42.pkt
	breaksw
#
# Sample Tests
#
    case "70":
	$N_WORK/$N_BIN/stuffq state.pkt viewpersp.pkt depthcue.pkt -1 textcube.pkt
	breaksw
    case "71":
	$N_WORK/$N_BIN/stuffq state.pkt viewpersp.pkt depthcue.pkt -1 -e textcube.pkt
	breaksw
#
# Help
#
    default:
        echo ""
        echo "usage:" $0 "<test#>"
        echo ""
        echo "  Where <test#> is selected from the following"
        echo ""
        echo "  Vector Benchmarks:"
        echo "  10   vectors"
        echo "  10e  vectors (via execute buffer)"
        echo "  11   depthcued vectors"
        echo "  11e  depthcued vectors (via execute buffer)"
        echo "  12   unigraphics vectors"
        echo "  12b  best possible  ucode  unigraphics vectors"
        echo "  12e  unigraphics vectors (via execute buffer)"
        echo "  14   antialiased vectors"
        echo "  14e  antialiased vectors (via execute buffer)"
        echo "  15   depthcued antialiased vectors"
        echo "  15e  depthcued antialiased vectors (via execute buffer)"
        echo ""
        echo "  Independent Triangle Benchmarks:"
        echo "  20   flat no z ind triangles"
        echo "  20e  flat no z ind triangles (via execute buffer)"
        echo "  21   smooth z ind triangles"
        echo "  21e  smooth z ind triangles (via execute buffer)"
        echo "  22   smooth z ind triangles w/cpv"
        echo "  22e  smooth z ind triangles w/cpv (via execute buffer)"
        echo ""
        echo "  Triangle Strip Benchmarks:"
        echo "  30   flat no z triangle strips"
        echo "  30e  flat no z triangle strips (via execute buffer)"
        echo "  31   smooth z triangle strips"
        echo "  31e  smooth z triangle strips (via execute buffer)"
        echo "  32   smooth z triangle strips w/npf"
        echo "  32e  smooth z triangle strips w/npf (via execute buffer)"
        echo ""
        echo "  TwoD Benchmarks:"
        echo "  40   fastest 2D lines (via passpacket)"
        echo "  41   fastest 2D triangles (via passpacket)"
        echo "  42   fastest 2D smooth z triangles (via passpacket)"
#        echo "  43   image transfer (???)"
#        echo ""
#        echo "  Animation 1K x 1K (change/clear/render/copy) @ 10fps"
#        echo "  50   vectors (???)"
#        echo "  51   ind triangles (???)"
#        echo "  52   triangle strips (???)"
        echo ""
	breaksw
endsw

