From d9f7b1cadf167ba109f6b92f5824c35b2c8977fc Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Sat, 11 May 2013 19:18:27 -0400 Subject: [PATCH] Patch fix for vid_gl20 "0" with big-benchmark script... Fixes #1205 --- .../the-big-benchmark/the-big-benchmark-eh.sh | 120 ++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 misc/tools/the-big-benchmark/the-big-benchmark-eh.sh 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 index 00000000..05b97cb7 --- /dev/null +++ b/misc/tools/the-big-benchmark/the-big-benchmark-eh.sh @@ -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" -- 2.39.2