]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/the-big-benchmark/the-big-benchmark.sh
Merge branch 'nyov/wikiexporter' into 'master'
[xonotic/xonotic.git] / misc / tools / the-big-benchmark / the-big-benchmark.sh
index 5e703d75531e6f0b3efc13fc3c9c495c8a38209f..580e4dbb531f978974e2c89e7b417c42f8c11e89 100755 (executable)
@@ -36,7 +36,7 @@ fi
 
 if [ -f ./all ]; then
        ./all clean -fU -m -r
-       ./all compile -r
+       ./all compile
        export USE_GDB=no
        set -- ./all run "$@"
 elif [ -z "$*" ]; then
@@ -59,17 +59,41 @@ fi
 rm -f data/the-big-benchmark.log
 rm -f data/benchmark.log
 rm -f data/engine.log
-p="+r_texture_dds_load 1 +developer 1 -nohome -benchmarkruns 4 -benchmarkruns_skipfirst -benchmark demos/the-big-keybench.dem"
+
+# for next version of benchmark: remove +cl_playerdetailreduction 0 and add +showfps 1
+p="+vid_width 1024 +vid_height 768 +vid_desktopfullscreen 0 +cl_curl_enabled 0 +r_texture_dds_load 1 +cl_playerdetailreduction 0 +developer 1 -nohome -benchmarkruns 4 -benchmarkruns_skipfirst -benchmark demos/the-big-keybench.dem"
+
 for e in omg low med normal high ultra ultimate; do
+       echo "Benchmarking on $e"
        rm -f data/benchmark.log
        echo + "$@" +exec effects-$e.cfg $p > data/engine.log
        "$@" +exec effects-$e.cfg $p >>data/engine.log 2>&1 || true
-       if grep -xF ']quit' data/engine.log >/dev/null; then
+       grep "^MED: " data/engine.log # print results to the terminal
+       if grep '\]quit' data/engine.log >/dev/null; then
                break
        fi
        cat data/engine.log >> data/the-big-benchmark.log
        cat data/benchmark.log >> data/the-big-benchmark.log
+       if [ x"$e" = x"med" ]; then
+               if grep 'checking for OpenGL 2\.0 core features\.\.\.  not detected' data/engine.log; then
+                       echo "OpenGL 2.0 or later required for Normal quality and higher, exiting."
+                       break
+               fi
+       fi
+       if [ x"$e" = x"med" ]; then
+               if grep 'Using GL1.3 rendering path' data/engine.log; then
+                       echo "OpenGL 2.0 rendering disabled, exiting."
+                       break
+               fi
+       fi
+       if [ x"$e" = x"high" ]; then
+               if grep 'vid_soft 1' data/engine.log; then
+                       echo "Software rendering does not support Ultra and Ultimate quality settings, exiting."
+                       break
+               fi
+       fi
 done
+
 if [ -f ./all ]; then
        ./all clean -r
 fi