gitlab-ci: Test virgl with Khronos' OpenGL CTS
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 048b32e..a1d7f69 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -244,7 +244,7 @@
x86_test-gl:
extends: .use-x86_test-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-04"
+ FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-15"
# Debian 10 based x86 test image for VK
x86_test-vk:
@@ -874,6 +874,21 @@
MESA_EXTENSION_OVERRIDE: "-GL_OES_tessellation_shader"
extends: virgl-gles3-on-gl
+virgl-gl30-on-gl:
+ variables:
+ DEQP_VER: gl30
+ extends: virgl-gles2-on-gl
+
+virgl-gl31-on-gl:
+ variables:
+ DEQP_VER: gl31
+ extends: virgl-gles2-on-gl
+
+virgl-gl32-on-gl:
+ variables:
+ DEQP_VER: gl32
+ extends: virgl-gles2-on-gl
+
# Rules for tests that should not be present in MRs or the main
# project's pipeline (don't block marge or report red on
# mesa/mesamaster) but should be present on pipelines in personal
diff --git a/.gitlab-ci/build-deqp-gl.sh b/.gitlab-ci/build-deqp-gl.sh
index 57ce554..34456e7 100644
--- a/.gitlab-ci/build-deqp-gl.sh
+++ b/.gitlab-ci/build-deqp-gl.sh
@@ -40,6 +40,11 @@
/deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/$gles-master.txt \
/deqp/mustpass/$gles-master.txt
done
+cp \
+ /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \
+ /deqp/mustpass/.
+
+
# Save *some* executor utils, but otherwise strip things down
# to reduct deqp build size:
@@ -48,13 +53,15 @@
rm -rf /deqp/executor
mv /deqp/executor.save /deqp/executor
-rm -rf /deqp/external
+ls /deqp/external | grep -v openglcts | xargs rm -rf
rm -rf /deqp/modules/internal
rm -rf /deqp/execserver
rm -rf /deqp/modules/egl
rm -rf /deqp/framework
+rm -rf /deqp/external/openglcts/modules/gl_cts/data/mustpass
+rm -rf /deqp/external/openglcts/modules/cts-runner
find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf
-${STRIP_CMD:-strip} modules/*/deqp-*
+${STRIP_CMD:-strip} modules/*/deqp-* external/openglcts/modules/glcts
du -sh *
rm -rf /VK-GL-CTS
popd
diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh
index 6843b72..fb3e87b 100755
--- a/.gitlab-ci/deqp-runner.sh
+++ b/.gitlab-ci/deqp-runner.sh
@@ -47,9 +47,14 @@
if [ "$DEQP_VER" = "vk" ]; then
cp /deqp/mustpass/vk-master.txt /tmp/case-list.txt
DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk
-else
+elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" ]; then
cp /deqp/mustpass/$DEQP_VER-master.txt /tmp/case-list.txt
DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER
+ SUITE=dEQP
+else
+ cp /deqp/mustpass/$DEQP_VER-master.txt /tmp/case-list.txt
+ DEQP=/deqp/external/openglcts/modules/glcts
+ SUITE=KHR
fi
# If the job is parallel, take the corresponding fraction of the caselist.
@@ -220,7 +225,7 @@
# debug.
# export EGL_LOG_LEVEL=debug
VERSION=`echo $DEQP_VER | tr '[a-z]' '[A-Z]'`
- $DEQP $DEQP_OPTIONS --deqp-case=dEQP-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa
+ $DEQP $DEQP_OPTIONS --deqp-case=$SUITE-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa
parse_renderer
}