#!/bin/bash set -x #DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends ninja-build meson # To prevent hitting assertions such as the below: # sb/sb_sched.cpp:1207:schedule_alu: Assertion `!"unscheduled pending instructions"' failed. export R600_DEBUG=nosb export CCACHE_BASEDIR=/virglrenderer export CCACHE_DIR=/virglrenderer/ccache export PATH="/usr/lib/ccache:$PATH" mkdir -p $CCACHE_DIR ccache -s # If render node, like /dev/dri/renderD128, hasn't been set # or exists use softpipe instead of HW GPU. if [[ ! -c $RENDER_DEVICE ]]; then export LIBGL_ALWAYS_SOFTWARE=1 export GALLIVM_PERF=no_filter_hacks export GALLIUM_DRIVER=softpipe LIMIT_TESTSET=--only-softpipe fi if [[ $LOCAL_MESA ]]; then cd $LOCAL_MESA && \ mkdir -p build && \ meson build/ && \ meson configure build/ -Dprefix=/usr/local -Dplatforms=drm,x11,wayland,surfaceless -Ddri-drivers=i965 -Dgallium-drivers=swrast,virgl,radeonsi,r600 -Dbuildtype=debugoptimized -Dllvm=true -Dglx=dri -Dgallium-vdpau=false -Dgallium-va=false -Dvulkan-drivers=[] -Dlibdir=lib && \ ninja -C build/ install if [ $? -ne 0 ]; then exit 1 fi fi rm -rf /virglrenderer/results/ mkdir -p /virglrenderer/results/ cd /virglrenderer ./autogen.sh --prefix=/usr/local --enable-debug --enable-tests VRENDTEST_USE_EGL_SURFACELESS=1 make check if [ $? -ne 0 ]; then touch /virglrenderer/results/regressions_detected fi mkdir -p /virglrenderer/results/make_check cp tests/test*.log /virglrenderer/results/make_check/ make -j$(nproc) install # Stop testing process if a failure have been found if [ -f /virglrenderer/results/regressions_detected ]; then exit 1 fi : ' cd /VK-GL-CTS/build #cmake -DDEQP_TARGET=x11_egl -DCMAKE_BUILD_TYPE=Release .. make -j$(nproc) cp -rf * /usr/local/VK-GL-CTS/. ' ccache -s : ' ln -s /usr/local/bin/qemu-system-x86_64 /usr/bin/qemu-system-x86_64 echo "Starting guest for ES" mkdir -p /virglrenderer/results/es_host rm -f core fakemachine --qemuopts="-vga virtio -display egl-headless,gl=es" \ --show-boot \ --memory=8192 \ -v /virglrenderer:/virglrenderer \ -v /virglrenderer/results/es_host:/results \ -- /virglrenderer/ci/run-deqp.sh ' # Stop testing process if a failure have been found if [ -f /virglrenderer/results/regressions_detected ]; then exit 1 fi /virglrenderer/ci/run-deqp.sh --with-vtest $LIMIT_TESTSET /virglrenderer/ci/run-deqp.sh --host-gl --with-vtest $LIMIT_TESTSET # Return test pass/fail if [ -f /virglrenderer/results/regressions_detected ]; then exit 1 fi