summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu.vizoso@collabora.com>2019-12-13 10:20:23 +0100
committerTomeu Vizoso <tomeu.vizoso@collabora.com>2020-01-06 14:27:36 +0100
commitd62dd8b0cb7f74ec43fac6f59c42178f4cf08c54 (patch)
tree8fb247c9dd579ebb53737fe2e27a2cf6ea778d28
parentf5c2807ff280c77081b1af8161582f99893c6404 (diff)
gitlab-ci: Switch LAVA jobs to use shared dEQP runner
Take one step towards sharing code between the LAVA and non-LAVA jobs, with the goals of reducing maintenance burden and use of computational resources. The env var DEQP_NO_SAVE_RESULTS allows us to skip the procesing of the XML result files, which can take a long time and is not useful in the LAVA case as we are not uploading artifacts anywhere at the moment. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r--.gitlab-ci.yml6
-rw-r--r--.gitlab-ci/build-cts-runner.sh4
-rw-r--r--.gitlab-ci/build-deqp-gl.sh3
-rw-r--r--.gitlab-ci/container/lava_arm.sh89
-rw-r--r--.gitlab-ci/deqp-panfrost-t720-fails.txt64
-rw-r--r--.gitlab-ci/deqp-panfrost-t720-skips.txt6
-rw-r--r--.gitlab-ci/deqp-panfrost-t760-fails.txt64
-rw-r--r--.gitlab-ci/deqp-panfrost-t760-skips.txt6
-rw-r--r--.gitlab-ci/deqp-panfrost-t820-fails.txt64
-rw-r--r--.gitlab-ci/deqp-panfrost-t820-skips.txt6
-rw-r--r--.gitlab-ci/deqp-panfrost-t860-fails.txt64
-rw-r--r--.gitlab-ci/deqp-panfrost-t860-skips.txt6
-rwxr-xr-x.gitlab-ci/deqp-runner.sh31
-rwxr-xr-x.gitlab-ci/generate_lava.py3
-rw-r--r--.gitlab-ci/lava-deqp-runner.sh51
-rw-r--r--.gitlab-ci/lava-deqp.yml.jinja225
-rw-r--r--.gitlab-ci/lava-gitlab-ci.yml6
17 files changed, 206 insertions, 292 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d4508f82a2d..b7298bcea45 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -109,13 +109,13 @@ x86_build:
x86_test-gl:
extends: x86_build
variables:
- DEBIAN_TAG: &x86_test-gl "2019-12-05"
+ DEBIAN_TAG: &x86_test-gl "2019-12-18"
# Debian 10 based x86 test image for VK
x86_test-vk:
extends: x86_build
variables:
- DEBIAN_TAG: &x86_test-vk "2019-11-22"
+ DEBIAN_TAG: &x86_test-vk "2019-12-18"
# Can only be triggered manually on personal branches because RADV is the only
# driver that does Vulkan testing at the moment.
rules:
@@ -162,7 +162,7 @@ arm_build:
arm_test:
extends: arm_build
variables:
- DEBIAN_TAG: &arm_test "2019-11-22"
+ DEBIAN_TAG: &arm_test "2019-12-18"
.use-arm_test:
variables:
diff --git a/.gitlab-ci/build-cts-runner.sh b/.gitlab-ci/build-cts-runner.sh
index 716cf661637..cd6c6adbce7 100644
--- a/.gitlab-ci/build-cts-runner.sh
+++ b/.gitlab-ci/build-cts-runner.sh
@@ -2,9 +2,9 @@
set -ex
-git clone https://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git --depth 1 -b mesa-ci-2019-11-22
+git clone https://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git --depth 1 -b mesa-ci-2019-12-17
cd parallel-deqp-runner
-meson build/
+meson build/ $EXTRA_MESON_ARGS
ninja -C build -j4 install
cd ..
rm -rf parallel-deqp-runner
diff --git a/.gitlab-ci/build-deqp-gl.sh b/.gitlab-ci/build-deqp-gl.sh
index 7e4d894f261..64e4db0a2bc 100644
--- a/.gitlab-ci/build-deqp-gl.sh
+++ b/.gitlab-ci/build-deqp-gl.sh
@@ -29,6 +29,7 @@ cd /deqp
cmake -G Ninja \
-DDEQP_TARGET=surfaceless \
-DCMAKE_BUILD_TYPE=Release \
+ $EXTRA_CMAKE_ARGS \
/VK-GL-CTS
ninja
@@ -53,6 +54,6 @@ rm -rf /deqp/execserver
rm -rf /deqp/modules/egl
rm -rf /deqp/framework
find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
-strip modules/*/deqp-*
+${STRIP_CMD:-strip} modules/*/deqp-*
du -sh *
rm -rf /VK-GL-CTS
diff --git a/.gitlab-ci/container/lava_arm.sh b/.gitlab-ci/container/lava_arm.sh
index c6fdebad423..10c69d4e674 100644
--- a/.gitlab-ci/container/lava_arm.sh
+++ b/.gitlab-ci/container/lava_arm.sh
@@ -33,13 +33,6 @@ apt-get -y install --no-install-recommends \
procps \
qemu-user-static \
cpio \
- clang-8 \
- llvm-8 \
- libclang-8-dev \
- llvm-8-dev \
- gdc-9 \
- lld-8 \
- nasm \
libegl1-mesa-dev \
\
libdrm-dev:${DEBIAN_ARCH} \
@@ -66,77 +59,25 @@ apt-get -y install --no-install-recommends \
libglvnd-core-dev:${DEBIAN_ARCH} \
libgles2-mesa-dev:${DEBIAN_ARCH} \
libegl1-mesa-dev:${DEBIAN_ARCH} \
- libpng-dev:${DEBIAN_ARCH}
+ libpng-dev:${DEBIAN_ARCH} \
+ libvulkan-dev:${DEBIAN_ARCH} \
+ libvulkan1:${DEBIAN_ARCH} \
+ libclang-7-dev:${DEBIAN_ARCH}
-############### Cross-build dEQP
-mkdir -p /artifacts/rootfs/deqp
-git config --global user.email "mesa@example.com"
-git config --global user.name "Mesa CI"
-# XXX: Use --depth 1 once we can drop the cherry-picks.
-git clone \
- https://github.com/KhronosGroup/VK-GL-CTS.git \
- -b opengl-es-cts-3.2.5.1 \
- /VK-GL-CTS
-cd /VK-GL-CTS
-# Fix surfaceless build
-git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
-git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
+############### Build dEQP runner
+/usr/share/meson/debcrossgen --arch ${DEBIAN_ARCH} -o /tmp/cross_file.txt
+EXTRA_MESON_ARGS="--cross-file /tmp/cross_file.txt"
+. .gitlab-ci/build-cts-runner.sh
+mkdir -p /artifacts/rootfs/usr/bin
+mv /usr/local/bin/deqp-runner /artifacts/rootfs/usr/bin/.
-# surfaceless links against libkms and such despite not using it.
-sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
-sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
-sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
-python3 external/fetch_sources.py
-
-cd /artifacts/rootfs/deqp
-cmake -G Ninja \
- -DDEQP_TARGET=surfaceless \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_C_COMPILER=${GCC_ARCH}-gcc \
- -DCMAKE_CXX_COMPILER=${GCC_ARCH}-g++ \
- /VK-GL-CTS
-ninja
-rm -rf /artifacts/rootfs/deqp/external
-rm -rf /artifacts/rootfs/deqp/modules/gles31
-rm -rf /artifacts/rootfs/deqp/modules/internal
-rm -rf /artifacts/rootfs/deqp/executor
-rm -rf /artifacts/rootfs/deqp/execserver
-rm -rf /artifacts/rootfs/deqp/modules/egl
-rm -rf /artifacts/rootfs/deqp/framework
-find . -name CMakeFiles | xargs rm -rf
-find . -name lib\*.a | xargs rm -rf
-du -sh *
-rm -rf /VK-GL-CTS
-
-
-############### Cross-build Volt dEQP runner
-mkdir -p /battery
-cd /battery
-wget https://github.com/VoltLang/Battery/releases/download/v0.1.23/battery-0.1.23-x86_64-linux.tar.gz
-tar xzvf battery-0.1.23-x86_64-linux.tar.gz
-rm battery-0.1.23-x86_64-linux.tar.gz
-mv battery /usr/local/bin
-rm -rf /battery
-
-mkdir -p /volt
-cd /volt
-mkdir -p Watt Volta dEQP
-wget -qO- https://github.com/VoltLang/Watt/archive/v0.1.3.tar.gz | tar -xz --strip-components=1 -C ./Watt
-wget -qO- https://github.com/VoltLang/Volta/archive/v0.1.3.tar.gz | tar -xz --strip-components=1 -C ./Volta
-wget -qO- https://github.com/Wallbraker/dEQP/archive/v0.1.4.tar.gz | tar -xz --strip-components=1 -C ./dEQP
-battery config --release --lto Volta Watt
-battery build
-battery config --arch ${VOLT_ARCH} --cmd-volta Volta/volta Volta/rt Watt dEQP
-battery build
-rm /usr/local/bin/battery
-cp dEQP/deqp /artifacts/rootfs/deqp/deqp-volt
-rm -rf /volt
-
-
-############### Remove LLVM now, so the container image is smaller
-apt-get -y remove \*llvm\*
+############### Build dEQP
+EXTRA_CMAKE_ARGS="-DCMAKE_C_COMPILER=${GCC_ARCH}-gcc -DCMAKE_CXX_COMPILER=${GCC_ARCH}-g++"
+STRIP_CMD="${GCC_ARCH}-strip"
+. .gitlab-ci/build-deqp-gl.sh
+mv /deqp /artifacts/rootfs/.
############### Cross-build kernel
diff --git a/.gitlab-ci/deqp-panfrost-t720-fails.txt b/.gitlab-ci/deqp-panfrost-t720-fails.txt
index bd7f94e4373..b88274db376 100644
--- a/.gitlab-ci/deqp-panfrost-t720-fails.txt
+++ b/.gitlab-ci/deqp-panfrost-t720-fails.txt
@@ -1,33 +1,31 @@
-dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
diff --git a/.gitlab-ci/deqp-panfrost-t720-skips.txt b/.gitlab-ci/deqp-panfrost-t720-skips.txt
index 05c5acab717..3ca9b37ce09 100644
--- a/.gitlab-ci/deqp-panfrost-t720-skips.txt
+++ b/.gitlab-ci/deqp-panfrost-t720-skips.txt
@@ -3,11 +3,11 @@
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
-dEQP-GLES[0-9]*.performance
-dEQP-GLES[0-9]*.stress
+dEQP-GLES[0-9]*.performance.*
+dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
-dEQP-GLES[0-9]*.functional.flush_finish
+dEQP-GLES[0-9]*.functional.flush_finish.*
# XXX: Why does this flake?
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
diff --git a/.gitlab-ci/deqp-panfrost-t760-fails.txt b/.gitlab-ci/deqp-panfrost-t760-fails.txt
index bd7f94e4373..b88274db376 100644
--- a/.gitlab-ci/deqp-panfrost-t760-fails.txt
+++ b/.gitlab-ci/deqp-panfrost-t760-fails.txt
@@ -1,33 +1,31 @@
-dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
diff --git a/.gitlab-ci/deqp-panfrost-t760-skips.txt b/.gitlab-ci/deqp-panfrost-t760-skips.txt
index 70dc0cb5737..f7d0cd59a90 100644
--- a/.gitlab-ci/deqp-panfrost-t760-skips.txt
+++ b/.gitlab-ci/deqp-panfrost-t760-skips.txt
@@ -3,8 +3,8 @@
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
-dEQP-GLES[0-9]*.performance
-dEQP-GLES[0-9]*.stress
+dEQP-GLES[0-9]*.performance.*
+dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
-dEQP-GLES[0-9]*.functional.flush_finish
+dEQP-GLES[0-9]*.functional.flush_finish.*
diff --git a/.gitlab-ci/deqp-panfrost-t820-fails.txt b/.gitlab-ci/deqp-panfrost-t820-fails.txt
index bd7f94e4373..b88274db376 100644
--- a/.gitlab-ci/deqp-panfrost-t820-fails.txt
+++ b/.gitlab-ci/deqp-panfrost-t820-fails.txt
@@ -1,33 +1,31 @@
-dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
diff --git a/.gitlab-ci/deqp-panfrost-t820-skips.txt b/.gitlab-ci/deqp-panfrost-t820-skips.txt
index 83effaab5c6..0314b22c0cc 100644
--- a/.gitlab-ci/deqp-panfrost-t820-skips.txt
+++ b/.gitlab-ci/deqp-panfrost-t820-skips.txt
@@ -3,11 +3,11 @@
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
-dEQP-GLES[0-9]*.performance
-dEQP-GLES[0-9]*.stress
+dEQP-GLES[0-9]*.performance.*
+dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
-dEQP-GLES[0-9]*.functional.flush_finish
+dEQP-GLES[0-9]*.functional.flush_finish.*
# XXX: Why does this flake?
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
diff --git a/.gitlab-ci/deqp-panfrost-t860-fails.txt b/.gitlab-ci/deqp-panfrost-t860-fails.txt
index bd7f94e4373..b88274db376 100644
--- a/.gitlab-ci/deqp-panfrost-t860-fails.txt
+++ b/.gitlab-ci/deqp-panfrost-t860-fails.txt
@@ -1,33 +1,31 @@
-dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16 Fail
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment Fail
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
diff --git a/.gitlab-ci/deqp-panfrost-t860-skips.txt b/.gitlab-ci/deqp-panfrost-t860-skips.txt
index 83effaab5c6..0314b22c0cc 100644
--- a/.gitlab-ci/deqp-panfrost-t860-skips.txt
+++ b/.gitlab-ci/deqp-panfrost-t860-skips.txt
@@ -3,11 +3,11 @@
# delete lines from the test list. Be careful.
# Skip the perf/stress tests to keep runtime manageable
-dEQP-GLES[0-9]*.performance
-dEQP-GLES[0-9]*.stress
+dEQP-GLES[0-9]*.performance.*
+dEQP-GLES[0-9]*.stress.*
# These are really slow on tiling architectures (including llvmpipe).
-dEQP-GLES[0-9]*.functional.flush_finish
+dEQP-GLES[0-9]*.functional.flush_finish.*
# XXX: Why does this flake?
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh
index ec4eb61571d..0454f4bf171 100755
--- a/.gitlab-ci/deqp-runner.sh
+++ b/.gitlab-ci/deqp-runner.sh
@@ -1,25 +1,25 @@
-#!/bin/bash
+#!/bin/sh
set -ex
-DEQP_OPTIONS=(--deqp-surface-width=256 --deqp-surface-height=256)
-DEQP_OPTIONS+=(--deqp-surface-type=pbuffer)
-DEQP_OPTIONS+=(--deqp-gl-config-name=rgba8888d24s8ms0)
-DEQP_OPTIONS+=(--deqp-visibility=hidden)
+DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
+DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer"
+DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=rgba8888d24s8ms0"
+DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
# It would be nice to be able to enable the watchdog, so that hangs in a test
# don't need to wait the full hour for the run to time out. However, some
# shaders end up taking long enough to compile
# (dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20 for example)
# that they'll sporadically trigger the watchdog.
-#DEQP_OPTIONS+=(--deqp-watchdog=enable)
+#DEQP_OPTIONS="$DEQP_OPTIONS --deqp-watchdog=enable"
if [ -z "$DEQP_VER" ]; then
echo 'DEQP_VER must be set to something like "gles2", "gles31" or "vk" for the test run'
exit 1
fi
-if [ "$DEQP_VER" == "vk" ]; then
+if [ "$DEQP_VER" = "vk" ]; then
if [ -z "$VK_DRIVER" ]; then
echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
exit 1
@@ -46,7 +46,7 @@ RESULTS=`pwd`/results
mkdir -p $RESULTS
# Generate test case list file.
-if [ "$DEQP_VER" == "vk" ]; then
+if [ "$DEQP_VER" = "vk" ]; then
cp /deqp/mustpass/vk-master.txt /tmp/case-list.txt
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
else
@@ -83,8 +83,9 @@ run_cts() {
$XFAIL \
--job ${DEQP_PARALLEL:-1} \
--allow-flakes true \
+ $DEQP_RUNNER_OPTIONS \
-- \
- "${DEQP_OPTIONS[@]}"
+ $DEQP_OPTIONS
}
report_flakes() {
@@ -199,8 +200,10 @@ if [ $DEQP_EXITCODE -ne 0 ]; then
$RESULTS/cts-runner-unexpected-results.txt
head -n 50 $RESULTS/cts-runner-unexpected-results.txt
- # Save the logs for up to the first 50 unexpected results:
- head -n 50 $RESULTS/cts-runner-unexpected-results.txt | quiet extract_xml_results /tmp/*.qpa
+ if [ -z "$DEQP_NO_SAVE_RESULTS" ]; then
+ # Save the logs for up to the first 50 unexpected results:
+ head -n 50 $RESULTS/cts-runner-unexpected-results.txt | quiet extract_xml_results /tmp/*.qpa
+ fi
count=`cat $RESULTS/cts-runner-unexpected-results.txt | wc -l`
@@ -217,8 +220,10 @@ else
echo "Some flakes found (see cts-runner-flakes.txt in artifacts for full results):"
head -n 50 $RESULTS/cts-runner-flakes.txt
- # Save the logs for up to the first 50 flakes:
- head -n 50 $RESULTS/cts-runner-flakes.txt | quiet extract_xml_results /tmp/*.qpa
+ if [ -z "$DEQP_NO_SAVE_RESULTS" ]; then
+ # Save the logs for up to the first 50 flakes:
+ head -n 50 $RESULTS/cts-runner-flakes.txt | quiet extract_xml_results /tmp/*.qpa
+ fi
# Report the flakes to IRC channel for monitoring (if configured):
quiet report_flakes $RESULTS/cts-runner-flakes.txt
diff --git a/.gitlab-ci/generate_lava.py b/.gitlab-ci/generate_lava.py
index b2c8c296beb..46bc2e1f5c8 100755
--- a/.gitlab-ci/generate_lava.py
+++ b/.gitlab-ci/generate_lava.py
@@ -70,6 +70,9 @@ for device_type in args.device_types:
values['boot_method'] = device_types[device_type]['boot_method']
values['kernel_image_type'] = device_types[device_type]['kernel_image_type']
values['tags'] = device_types[device_type]['tags']
+ values['fails_file'] = 'deqp-%s-fails.txt' % device_types[device_type]['gpu_version']
+ values['skips_file'] = 'deqp-%s-skips.txt' % device_types[device_type]['gpu_version']
+ values['deqp_version'] = 'gles2'
f = open('results/lava-deqp-%s.yml' % device_type, "w")
f.write(template.render(values))
diff --git a/.gitlab-ci/lava-deqp-runner.sh b/.gitlab-ci/lava-deqp-runner.sh
deleted file mode 100644
index 36b9caef4f5..00000000000
--- a/.gitlab-ci/lava-deqp-runner.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-
-GPU_VERSION="$1"
-
-DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-watchdog=enable"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-crashhandler=enable"
-DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer"
-
-export LIBGL_DRIVERS_PATH=/mesa/lib/dri/
-export LD_LIBRARY_PATH=/mesa/lib/
-export MESA_GLES_VERSION_OVERRIDE=3.0
-
-DEVFREQ_GOVERNOR=`echo /sys/devices/platform/*.gpu/devfreq/devfreq0/governor`
-echo performance > $DEVFREQ_GOVERNOR
-
-cd /deqp/modules/gles2
-
-# Generate test case list file
-./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt
-
-# Note: not using sorted input and comm, becuase I want to run the tests in
-# the same order that dEQP would.
-while read -r line; do
- if echo "$line" | grep -q '^[^#]'; then
- sed -i "/$line/d" /tmp/case-list.txt
- fi
-done < /deqp/deqp-$GPU_VERSION-skips.txt
-
-/deqp/deqp-volt --cts-build-dir=/deqp \
- --threads=8 \
- --test-names-file=/tmp/case-list.txt \
- --results-file=/tmp/results.txt \
- --no-passed-results \
- --regression-file=/deqp/deqp-$GPU_VERSION-fails.txt \
- --no-rerun-tests \
- --print-regression \
- --no-print-fail \
- --no-print-quality \
- --no-colour-term \
- $DEQP_OPTIONS
-
-if [ $? -ne 0 ]; then
- echo "Regressions detected"
- echo "deqp: fail"
-else
- echo "No regressions detected"
- echo "deqp: pass"
-fi
diff --git a/.gitlab-ci/lava-deqp.yml.jinja2 b/.gitlab-ci/lava-deqp.yml.jinja2
index 7723d1fb894..55b87ba6123 100644
--- a/.gitlab-ci/lava-deqp.yml.jinja2
+++ b/.gitlab-ci/lava-deqp.yml.jinja2
@@ -57,8 +57,29 @@ actions:
- mount -t devtmpfs none /dev
- mkdir -p /dev/pts
- mount -t devpts devpts /dev/pts
- - sh /deqp/lava-deqp-runner.sh {{ gpu_version }}
- - cat /proc/loadavg
+
+ - export MESA_GLES_VERSION_OVERRIDE=3.0
+ - export DEQP_PARALLEL=6
+ - export DEQP_NO_SAVE_RESULTS=1
+ - 'export DEQP_RUNNER_OPTIONS="--compact-display false --shuffle false"'
+ - export DEQP_EXPECTED_FAILS={{ fails_file }}
+ - export DEQP_SKIPS={{ skips_file }}
+ - export DEQP_VER={{ deqp_version }}
+ - export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri
+
+ # Put stuff where the runner script expects it
+ - mkdir artifacts
+ - mkdir results
+ - mkdir -p install/lib
+ - cp /deqp/$DEQP_EXPECTED_FAILS artifacts/.
+ - cp /deqp/$DEQP_SKIPS artifacts/.
+ - mv /mesa/lib/* install/lib/.
+
+ - "if sh /deqp/deqp-runner.sh; then
+ echo 'deqp: pass';
+ else
+ echo 'deqp: fail';
+ fi"
parse:
pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
from: inline
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 6dfe47824f2..6ac3df3be58 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -11,7 +11,7 @@ include:
- .container
variables:
REPO_SUFFIX: ${CI_JOB_NAME}
- DEBIAN_TAG: &debian_tag '2019-12-13-1'
+ DEBIAN_TAG: &debian_tag '2019-12-17-1'
DEBIAN_EXEC: 'DEBIAN_ARCH=${DEBIAN_ARCH}
GCC_ARCH=${GCC_ARCH}
KERNEL_ARCH=${KERNEL_ARCH}
@@ -84,7 +84,7 @@ lava_arm64:
- rm -rf /artifacts/rootfs/mesa/include
# Pack rootfs
- - cp .gitlab-ci/lava-deqp-runner.sh /artifacts/rootfs/deqp/.
+ - cp .gitlab-ci/deqp-runner.sh /artifacts/rootfs/deqp/.
- cp .gitlab-ci/deqp-*-fails.txt /artifacts/rootfs/deqp/.
- cp .gitlab-ci/deqp-*-skips.txt /artifacts/rootfs/deqp/.
- du -sh /artifacts/rootfs/deqp/*
@@ -132,6 +132,8 @@ lava-build:arm64:
variables:
GIT_STRATEGY: none # testing doesn't build anything from source
TAG: *debian_tag
+ DEQP_PARALLEL: 6
+ NIR_VALIDATE: 0
image: $CI_REGISTRY_IMAGE/debian/lava_${DEBIAN_ARCH}:$TAG
script:
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp-$DEVICE_TYPE.yml`