]> git.rm.cloudns.org Git - xonotic/xonotic.git/commitdiff
Patch fix for vid_gl20 "0" with big-benchmark script... Fixes #1205
authorSamual Lenks <samual@xonotic.org>
Sat, 11 May 2013 23:18:27 +0000 (19:18 -0400)
committerSamual Lenks <samual@xonotic.org>
Sat, 11 May 2013 23:18:27 +0000 (19:18 -0400)
misc/tools/the-big-benchmark/the-big-benchmark-eh.sh [new file with mode: 0644]

diff --git a/misc/tools/the-big-benchmark/the-big-benchmark-eh.sh b/misc/tools/the-big-benchmark/the-big-benchmark-eh.sh
new file mode 100644 (file)
index 0000000..05b97cb
--- /dev/null
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+set -e
+
+if [ -d "${0%/*}" ]; then
+       cd "${0%/*}"
+fi
+cd ../../..
+
+echo "The Big Benchmark"
+echo " ================="
+echo
+if [ -f ./all ]; then
+       echo "WARNING: running this script will destroy ANY local changes you"
+       echo "might have on the repository that haven't been pushed or stored"
+       echo "in a local branch yet."
+       echo
+       if [ x"$1" != x"--yes" ]; then
+               echo "Are you absolutely sure you want to run this?"
+               echo
+               while :; do
+                       echo -n "y/n: "
+                       read -r yesno
+                       case "$yesno" in
+                               y)
+                                       break
+                                       ;;
+                               n)
+                                       echo "Aborted."
+                                       exit 1
+                                       ;;
+                       esac
+               done
+       fi
+fi
+
+if [ -f ./all ]; then
+       ./all clean -fU -m -r
+       ./all compile -r
+       export USE_GDB=no
+       set -- ./all run "$@"
+elif [ -z "$*" ]; then
+       case "`uname`" in
+               Darwin)
+                       set -- ./Xonotic.app/Contents/MacOS/xonotic-osx-sdl
+                       ;;
+               Linux)
+                       set -- ./xonotic-linux-sdl.sh
+                       ;;
+               *)
+                       echo "OS not detected. Usage:"
+                       echo "  $0 how-to-run-xonotic"
+                       echo "On Windows when using a release build or an autobuild,"
+                       echo "use the-big-benchmark.bat instead!"
+                       exit 1
+                       ;;
+       esac
+fi
+rm -f data/the-big-benchmark.log
+rm -f data/benchmark.log
+rm -f data/engine.log
+
+# for next version of benchmark: remove +cl_playerdetailreduction 0 and add +showfps 1
+p="+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
+       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 card does not support OpenGL then break
+       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 vid_gl20 is set to 0 then break
+       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
+
+rm -f data/benchmark.log
+rm -f data/engine.log
+if ! [ -f data/the-big-benchmark.log ]; then
+       echo
+       echo "The benchmark has been aborted. No log file has been written."
+       exit
+fi
+
+echo
+echo "Please provide the the following info to the Xonotic developers:"
+echo " - CPU speed"
+echo " - memory size"
+echo " - graphics card (which vendor, which model)"
+echo " - operating system (including whether it is 32bit or 64bit)"
+echo " - graphics driver version"
+echo " - the file the-big-benchmark.log in the data directory"
+echo
+echo "Thank you"