1#!/bin/bash 2 3# Setup paths and import util functions 4. $(dirname $(readlink -f "$0"))/util.sh 5 6cd ${VIRGL_PATH} 7 8DOCKER_DRIVER=overlay2 9DOCKER_IMAGE=${DOCKER_IMAGE:-registry.freedesktop.org/virgl/virglrenderer/debian/buster:latest} 10 11if [[ -z $NUM_THREADS ]] ; then 12 # If not forced use slightly less than half of available threads 13 NUM_THREADS=$(expr $(expr $(nproc) + 2) / 3) 14fi 15 16# When running the erhm, CI, locally, 17# do use HW based backends, which 18# may introduce variabity. 19RENDER_DEVICE=/dev/dri/renderD128 20 21if test $NUM_THREADS -gt 0; then THREAD_CONFIG="-e NUM_THREADS=$NUM_THREADS"; fi 22if test -e "$RENDER_DEVICE"; then RD_CONFIG="--device=$RENDER_DEVICE -e RENDER_DEVICE=$RENDER_DEVICE"; fi 23if test -e "$MESA_PATH"; then LOCAL_MESA="-v $MESA_PATH:/local_mesa -e LOCAL_MESA=/local_mesa"; fi 24if test -e "$VIRGL_PATH"; then LOCAL_VIRGL="-v $VIRGL_PATH:/virglrenderer -e LOCAL_VIRGL=/virglrenderer"; fi 25 26echo THREAD_CONFIG=$THREAD_CONFIG 27echo RD_CONFIG=$RD_CONFIG 28echo LOCAL_MESA=$LOCAL_MESA 29echo LOCAL_VIRGL=$LOCAL_VIRGL 30 31rm -rf $VIRGL_PATH/results 32mkdir -p $VIRGL_PATH/results 33 34time docker run \ 35 -it \ 36 --ulimit core=99999999999:99999999999 \ 37 $THREAD_CONFIG \ 38 $RD_CONFIG \ 39 $LOCAL_MESA \ 40 $LOCAL_VIRGL \ 41 $DOCKER_IMAGE \ 42 bash -c "/virglrenderer/ci/run_tests.sh --make-check-meson --deqp-gl-gl-tests --deqp-gl-gles-tests --deqp-gles-gl-tests --deqp-gles-gles-tests --piglit-gl --piglit-gles" 2>&1 | tee results/log.txt 43