Mesa (master): ci: Add sanity checking that dEQP gets the expected GL_RENDERER.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 27 22:27:13 UTC 2020


Module: Mesa
Branch: master
Commit: 8b221e091427a749499179511d1c8438fd0dcd64
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b221e091427a749499179511d1c8438fd0dcd64

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 17 12:39:32 2020 -0700

ci: Add sanity checking that dEQP gets the expected GL_RENDERER.

It's easy to get something wrong in the driver build or container or
something that results in falling back to swrast, and then your only clue
was runtime and how your failure cases suspiciously match a swrast
driver's.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>

---

 .gitlab-ci.yml                    |  6 ++++++
 .gitlab-ci/bare-metal/fastboot.sh |  1 +
 .gitlab-ci/bare-metal/init.sh     |  1 +
 .gitlab-ci/deqp-runner.sh         |  5 +++++
 .gitlab-ci/lava-gitlab-ci.yml     | 14 +++++++-------
 5 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c8d288e3832..b28cdb8fc61 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -690,6 +690,7 @@ llvmpipe-gles2:
     LP_NUM_THREADS: 0
     DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
     LIBGL_ALWAYS_SOFTWARE: "true"
+    DEQP_EXPECTED_RENDERER: llvmpipe
   extends:
     - .deqp-test-gl
     - .llvmpipe-rules
@@ -702,6 +703,7 @@ softpipe-gles2:
     DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
     DEQP_SKIPS: deqp-softpipe-skips.txt
     GALLIUM_DRIVER: "softpipe"
+    DEQP_EXPECTED_RENDERER: softpipe
 
 softpipe-gles3:
   parallel: 2
@@ -727,6 +729,7 @@ virgl-gles2:
     DEQP_EXPECTED_FAILS: deqp-virgl-fails.txt
     LIBGL_ALWAYS_SOFTWARE: "true"
     GALLIUM_DRIVER: "virpipe"
+    DEQP_EXPECTED_RENDERER: virgl
   extends:
     - .deqp-test-gl
     - .virgl-rules
@@ -775,6 +778,7 @@ arm64_a630_gles2:
     NIR_VALIDATE: 0
     DEQP_PARALLEL: 4
     FLAKES_CHANNEL: "#freedreno-ci"
+    DEQP_EXPECTED_RENDERER: FD630
   tags:
     - mesa-cheza
   dependencies:
@@ -809,6 +813,7 @@ arm64_a306_gles2:
     DEQP_SKIPS: deqp-freedreno-a307-skips.txt
     DEQP_VER: gles2
     DEQP_PARALLEL: 4
+    DEQP_EXPECTED_RENDERER: FD307
   script:
     - .gitlab-ci/bare-metal/fastboot.sh
   needs:
@@ -835,6 +840,7 @@ arm64_a530_gles2:
     BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
     DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
     DEQP_SKIPS: deqp-freedreno-a530-skips.txt
+    DEQP_EXPECTED_RENDERER: FD530
   tags:
     - google-freedreno-db820c
 
diff --git a/.gitlab-ci/bare-metal/fastboot.sh b/.gitlab-ci/bare-metal/fastboot.sh
index 3136f0f5801..f2693c6b384 100755
--- a/.gitlab-ci/bare-metal/fastboot.sh
+++ b/.gitlab-ci/bare-metal/fastboot.sh
@@ -46,6 +46,7 @@ cp -Rp $BM_ROOTFS rootfs
 cp $BM/init.sh rootfs/init
 sed -i "s|DEQP_VER_REPLACE|$DEQP_VER|g" rootfs/init
 sed -i "s|DEQP_PARALLEL_REPLACE|$DEQP_PARALLEL|g" rootfs/init
+sed -i "s|DEQP_EXPECTED_RENDERER_REPLACE|$DEQP_EXPECTED_RENDERER|g" rootfs/init
 sed -i "s|CI_NODE_INDEX_REPLACE|$CI_NODE_INDEX|g" rootfs/init
 sed -i "s|CI_NODE_TOTAL_REPLACE|$CI_NODE_TOTAL|g" rootfs/init
 
diff --git a/.gitlab-ci/bare-metal/init.sh b/.gitlab-ci/bare-metal/init.sh
index 437474b6266..ba0168691d0 100644
--- a/.gitlab-ci/bare-metal/init.sh
+++ b/.gitlab-ci/bare-metal/init.sh
@@ -11,6 +11,7 @@ mount -t devpts devpts /dev/pts
 export DEQP_NO_SAVE_RESULTS=1
 export DEQP_VER=DEQP_VER_REPLACE
 export DEQP_PARALLEL=DEQP_PARALLEL_REPLACE
+export DEQP_EXPECTED_RENDERER=DEQP_EXPECTED_RENDERER_REPLACE
 export CI_NODE_INDEX=CI_NODE_INDEX_REPLACE
 export CI_NODE_TOTAL=CI_NODE_TOTAL_REPLACE
 export DEQP_SKIPS=deqp-skips.txt
diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh
index 5467be58f30..1ac0f07bd31 100755
--- a/.gitlab-ci/deqp-runner.sh
+++ b/.gitlab-ci/deqp-runner.sh
@@ -188,6 +188,11 @@ parse_renderer() {
     VERSION=`grep -A1 TestCaseResult.\*info.version $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
     echo "Renderer: $RENDERER"
     echo "Version: $VERSION "
+
+    if ! echo $RENDERER | grep -q $DEQP_EXPECTED_RENDERER; then
+        echo "Expected GL_RENDERER $DEQP_EXPECTED_RENDERER"
+        exit 1
+    fi
 }
 
 check_renderer() {
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 9e923c48194..2e15e923b68 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -83,7 +83,7 @@ panfrost-t720-gles2:arm64:
   variables:
     DEVICE_TYPE: sun50i-h6-pine-h64
     GPU_VERSION: panfrost-t720
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
     FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
@@ -98,7 +98,7 @@ panfrost-t760-gles2:armhf:
     GPU_VERSION: panfrost-t760
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
     FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
@@ -113,7 +113,7 @@ panfrost-t860-gles2:arm64:
     GPU_VERSION: panfrost-t860
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
     FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
@@ -129,7 +129,7 @@ panfrost-t860-gles3:arm64:
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
     DEQP_VERSION: gles3
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
     CI_NODE_INDEX: 1
     CI_NODE_TOTAL: 5
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
@@ -145,7 +145,7 @@ panfrost-t860-gles3:arm64:
     DEVICE_TYPE: meson-gxm-khadas-vim2
     GPU_VERSION: panfrost-t820
     LAVA_TAGS: panfrost
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
   tags:
     - mesa-ci-aarch64-lava-baylibre
 
@@ -157,7 +157,7 @@ panfrost-t860-gles3:arm64:
   variables:
     DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
     GPU_VERSION: lima
-    ENV_VARS: "DEQP_PARALLEL=3"
+    ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
   tags:
     - mesa-ci-aarch64-lava-baylibre
 
@@ -168,6 +168,6 @@ panfrost-t860-gles3:arm64:
   variables:
     DEVICE_TYPE: meson-gxl-s905x-libretech-cc
     GPU_VERSION: lima
-    ENV_VARS: "DEQP_PARALLEL=6"
+    ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
   tags:
     - mesa-ci-aarch64-lava-baylibre



More information about the mesa-commit mailing list