gitlab-ci: Test virgl with Khronos' OpenGL CTS
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Wed, 13 May 2020 07:46:06 +0000 (09:46 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 23 Jun 2020 06:59:27 +0000 (06:59 +0000)
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>

.gitlab-ci.yml
.gitlab-ci/build-deqp-gl.sh
.gitlab-ci/deqp-runner.sh

index 048b32e43bdb62d5d6d4c55bb844cf0306f5bb30..a1d7f6944ecc75ff5d06387fb5774f585cff3517 100644 (file)
@@ -244,7 +244,7 @@ x86_test-base:
 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 @@ virgl-gles31-on-gl:
     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
index 57ce554f6608ecd8f7dac795a0cd1b58d4522ce8..34456e7071c7c97735287f6df03707ccc5d41cf7 100644 (file)
@@ -40,6 +40,11 @@ for gles in gles2 gles3 gles31; do
         /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 @@ cp /deqp/executor/testlog-to-* /deqp/executor.save
 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
index 6843b723c2dda9d3e7d03822a5a56b4279f9426a..fb3e87bd55c9665cb9b4324d961923b22e8eb50d 100755 (executable)
@@ -47,9 +47,14 @@ mkdir -p $RESULTS
 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 @@ check_renderer() {
     # 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
 }