From 5d6bf5eee7de1461bafae5b70c24a46f37912d05 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Thu, 18 Dec 2025 08:25:03 +0100 Subject: [PATCH 1/4] wip: ci: Update deqp-runner to pull in gtest suite support WIP until suites are in main. Also remove the redundant DEBIAN_TEST_ANDROID_TAG mention. Signed-off-by: Valentine Burley --- .gitlab-ci/container/build-deqp-runner.sh | 5 ++--- .gitlab-ci/image-tags.yml | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci/container/build-deqp-runner.sh b/.gitlab-ci/container/build-deqp-runner.sh index b806f1a4c1a..3e1e728d980 100644 --- a/.gitlab-ci/container/build-deqp-runner.sh +++ b/.gitlab-ci/container/build-deqp-runner.sh @@ -3,14 +3,13 @@ # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: -# DEBIAN_TEST_ANDROID_TAG # DEBIAN_TEST_BASE_TAG set -uex section_start deqp-runner "Building deqp-runner" -DEQP_RUNNER_VERSION=0.20.3 +DEQP_RUNNER_GIT_REV=a4ecac76cfefcce9a42dcb5dc2b5a6db39bbbb5e commits_to_backport=( ) @@ -18,7 +17,7 @@ commits_to_backport=( patch_files=( ) -DEQP_RUNNER_GIT_URL="${DEQP_RUNNER_GIT_URL:-https://gitlab.freedesktop.org/mesa/deqp-runner.git}" +DEQP_RUNNER_GIT_URL="${DEQP_RUNNER_GIT_URL:-https://gitlab.freedesktop.org/Valentine/deqp-runner.git}" if [ -n "${DEQP_RUNNER_GIT_TAG:-}" ]; then DEQP_RUNNER_GIT_CHECKOUT="$DEQP_RUNNER_GIT_TAG" diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 83504113da7..1d63eb0d133 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -22,7 +22,7 @@ variables: DEBIAN_BUILD_BASE_TAG: "20251016-riscv" DEBIAN_BUILD_TAG: "20250926-D3D618" - DEBIAN_TEST_BASE_TAG: "20251203-virgl" + DEBIAN_TEST_BASE_TAG: "20251218-deqp-runner" DEBIAN_TEST_ANDROID_TAG: "20251212-angle-2e" DEBIAN_TEST_GL_TAG: "20251212-piglit-28" DEBIAN_TEST_VIDEO_TAG: "20250813-vector" From 4ee50ee32f1351a953f07eb01d2ae8faea711b13 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Thu, 18 Dec 2025 08:33:57 +0100 Subject: [PATCH 2/4] radeonsi/ci: Convert libva-utils job to deqp-runner suite Drop the custom gtest-runner.sh script and add a deqp-runner suite for the `radeonsi-raven-va` job. Signed-off-by: Valentine Burley --- .gitlab-ci/deqp-runner.sh | 3 ++ .gitlab-ci/gtest-runner.sh | 77 ----------------------------------- src/amd/ci/deqp-gtest-va.toml | 2 + src/amd/ci/gitlab-ci.yml | 3 +- 4 files changed, 6 insertions(+), 79 deletions(-) delete mode 100755 .gitlab-ci/gtest-runner.sh create mode 100644 src/amd/ci/deqp-gtest-va.toml diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh index bca0295cc21..736c1b6b521 100755 --- a/.gitlab-ci/deqp-runner.sh +++ b/.gitlab-ci/deqp-runner.sh @@ -34,6 +34,9 @@ fi if [ -n "${FLUSTER_TAG:-}" ]; then # Are we using the right Fluster version? ci_tag_test_time_check "FLUSTER_TAG" +fi + +if [ -n "${FLUSTER_TAG:-}" ] || [ "$DEQP_SUITE" == "gtest-va" ]; then export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ # libva spams driver open info by default, and that happens per testcase. export LIBVA_MESSAGING_LEVEL=1 diff --git a/.gitlab-ci/gtest-runner.sh b/.gitlab-ci/gtest-runner.sh deleted file mode 100755 index 0a55446c96f..00000000000 --- a/.gitlab-ci/gtest-runner.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env bash -# shellcheck disable=SC2086 # we want word splitting -# shellcheck disable=SC1091 # paths only become valid at runtime - -. "${SCRIPTS_DIR}/setup-test-env.sh" - -set -ex - -INSTALL=$PWD/install - -export PATH=/va/bin:$PATH - -# Set up the driver environment. -export LD_LIBRARY_PATH=$INSTALL/lib/ - -export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ -# libva spams driver open info by default, and that happens per testcase. -export LIBVA_MESSAGING_LEVEL=1 - -if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then - GTEST_RUNNER_OPTIONS="$GTEST_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt" -fi - -# Default to an empty known flakes file if it doesn't exist. -touch "$INSTALL/$GPU_VERSION-flakes.txt" - -if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then - GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GALLIUM_DRIVER-skips.txt" -fi - -if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then - GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$DRIVER_NAME-skips.txt" -fi - -if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then - GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GPU_VERSION-skips.txt" -fi - -set +e - -gtest-runner \ - run \ - --gtest $GTEST \ - --output ${RESULTS_DIR} \ - --jobs ${FDO_CI_CONCURRENT:-4} \ - $GTEST_SKIPS \ - --flakes $INSTALL/$GPU_VERSION-flakes.txt \ - --fraction-start ${CI_NODE_INDEX:-1} \ - --fraction $((${CI_NODE_TOTAL:-1} * ${GTEST_FRACTION:-1})) \ - --env "LD_PRELOAD=$TEST_LD_PRELOAD" \ - $GTEST_RUNNER_OPTIONS - -GTEST_EXITCODE=$? - -deqp-runner junit \ - --testsuite gtest \ - --results $RESULTS_DIR/failures.csv \ - --output $RESULTS_DIR/junit.xml \ - --limit 50 \ - --template "See $ARTIFACTS_BASE_URL/results/{{testcase}}.xml" - -# Report the flakes to the IRC channel for monitoring (if configured): -if [ -n "$FLAKES_CHANNEL" ]; then - python3 $INSTALL/report-flakes.py \ - --host irc.oftc.net \ - --port 6667 \ - --results $RESULTS_DIR/results.csv \ - --known-flakes $INSTALL/$GPU_VERSION-flakes.txt \ - --channel "$FLAKES_CHANNEL" \ - --runner "$CI_RUNNER_DESCRIPTION" \ - --job "$CI_JOB_ID" \ - --url "$CI_JOB_URL" \ - --branch "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \ - --branch-title "${CI_MERGE_REQUEST_TITLE:-$CI_COMMIT_TITLE}" || true -fi - -exit $GTEST_EXITCODE diff --git a/src/amd/ci/deqp-gtest-va.toml b/src/amd/ci/deqp-gtest-va.toml new file mode 100644 index 00000000000..6303148e44d --- /dev/null +++ b/src/amd/ci/deqp-gtest-va.toml @@ -0,0 +1,2 @@ +[[gtest]] +bin = "/va/bin/test_va_api" diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 86bc4f5905b..8bdc91eff8a 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -130,11 +130,10 @@ radeonsi-raven-va: - .radeonsi-vaapi-rules - .lava-hp-x360-14a-cb0001xx-zork:x86_64 variables: - HWCI_TEST_SCRIPT: "/install/gtest-runner.sh" + DEQP_SUITE: gtest-va # While the tests don't need Xorg, it's an easy way to keep DRM open so we don't # spend all our time in drm_lastclose()'s modesetting. HWCI_START_WESTON: 1 - GTEST: test_va_api # The big 10-surface 10k allocations oomkill us at around 2.5G of GPU memory # allocated if we run at the normal 4 threads. # https://github.com/intel/libva-utils/issues/248 From df6db9fce7307c6c947bbaadf27654850f56f424 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Thu, 18 Dec 2025 08:38:26 +0100 Subject: [PATCH 3/4] radeonsi/ci: Remove redundant radeonsi-vaapi-fluster-rules The only difference was that these rules incorrectly added a second -fluster suffix to the expectation files after a refactoring. Signed-off-by: Valentine Burley --- src/amd/ci/gitlab-ci-inc.yml | 12 ------------ src/amd/ci/gitlab-ci.yml | 3 ++- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/amd/ci/gitlab-ci-inc.yml b/src/amd/ci/gitlab-ci-inc.yml index 8a5e018f233..31877d5859d 100644 --- a/src/amd/ci/gitlab-ci-inc.yml +++ b/src/amd/ci/gitlab-ci-inc.yml @@ -138,18 +138,6 @@ *radeon_vcn_file_list when: manual -.radeonsi-vaapi-fluster-rules: - stage: amd - extends: - - .test-fluster - rules: - - !reference [.radeonsi-vaapi-rules, rules] - - changes: - - src/amd/ci/$GPU_VERSION-fluster-fails.txt - - src/amd/ci/$GPU_VERSION-fluster-flakes.txt - - src/amd/ci/$GPU_VERSION-fluster-skips.txt - when: on_success - .radeonsi-valve-rules: stage: amd rules: diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 8bdc91eff8a..2b876ca1c21 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -143,7 +143,8 @@ radeonsi-raven-vaapi-fluster: extends: - .lava-x86_64-test-video - .radeonsi-raven-test:x86_64 - - .radeonsi-vaapi-fluster-rules + - .radeonsi-vaapi-rules + - .test-fluster - .lava-hp-x360-14a-cb0001xx-zork:x86_64 variables: DEQP_SUITE: fluster-vaapi From 0aac6576b0f07d704f1a541fde06325d848a5823 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Thu, 18 Dec 2025 10:10:25 +0100 Subject: [PATCH 4/4] radeonsi/ci: Merge VA-API jobs Combine the `radeonsi-raven-va` and `radeonsi-raven-vaapi-fluster` jobs into one deqp-runner suite. OOM kills no longer appear to be an issue. Signed-off-by: Valentine Burley --- .gitlab-ci/deqp-runner.sh | 3 --- src/amd/ci/deqp-gtest-va.toml | 2 -- ...eqp-fluster-vaapi.toml => deqp-vaapi.toml} | 3 +++ src/amd/ci/gitlab-ci.yml | 23 ++++--------------- ...-fails.txt => radeonsi-raven-va-fails.txt} | 0 ...-skips.txt => radeonsi-raven-va-skips.txt} | 0 6 files changed, 8 insertions(+), 23 deletions(-) delete mode 100644 src/amd/ci/deqp-gtest-va.toml rename src/amd/ci/{deqp-fluster-vaapi.toml => deqp-vaapi.toml} (79%) rename src/amd/ci/{radeonsi-raven-fluster-fails.txt => radeonsi-raven-va-fails.txt} (100%) rename src/amd/ci/{radeonsi-raven-fluster-skips.txt => radeonsi-raven-va-skips.txt} (100%) diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh index 736c1b6b521..bca0295cc21 100755 --- a/.gitlab-ci/deqp-runner.sh +++ b/.gitlab-ci/deqp-runner.sh @@ -34,9 +34,6 @@ fi if [ -n "${FLUSTER_TAG:-}" ]; then # Are we using the right Fluster version? ci_tag_test_time_check "FLUSTER_TAG" -fi - -if [ -n "${FLUSTER_TAG:-}" ] || [ "$DEQP_SUITE" == "gtest-va" ]; then export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ # libva spams driver open info by default, and that happens per testcase. export LIBVA_MESSAGING_LEVEL=1 diff --git a/src/amd/ci/deqp-gtest-va.toml b/src/amd/ci/deqp-gtest-va.toml deleted file mode 100644 index 6303148e44d..00000000000 --- a/src/amd/ci/deqp-gtest-va.toml +++ /dev/null @@ -1,2 +0,0 @@ -[[gtest]] -bin = "/va/bin/test_va_api" diff --git a/src/amd/ci/deqp-fluster-vaapi.toml b/src/amd/ci/deqp-vaapi.toml similarity index 79% rename from src/amd/ci/deqp-fluster-vaapi.toml rename to src/amd/ci/deqp-vaapi.toml index a62aeaa0af4..2c5875c8493 100644 --- a/src/amd/ci/deqp-fluster-vaapi.toml +++ b/src/amd/ci/deqp-vaapi.toml @@ -1,3 +1,6 @@ +[[gtest]] +bin = "/va/bin/test_va_api" + [[fluster]] bin = "/fluster/fluster.py" decoders = [ diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 2b876ca1c21..b5031702cce 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -124,22 +124,6 @@ radeonsi-raven-cdna-lower-image-piglit: GPU_VERSION: radeonsi-raven-cdna radeonsi-raven-va: - extends: - - .lava-x86_64-test-video - - .radeonsi-raven-test:x86_64 - - .radeonsi-vaapi-rules - - .lava-hp-x360-14a-cb0001xx-zork:x86_64 - variables: - DEQP_SUITE: gtest-va - # While the tests don't need Xorg, it's an easy way to keep DRM open so we don't - # spend all our time in drm_lastclose()'s modesetting. - HWCI_START_WESTON: 1 - # The big 10-surface 10k allocations oomkill us at around 2.5G of GPU memory - # allocated if we run at the normal 4 threads. - # https://github.com/intel/libva-utils/issues/248 - FDO_CI_CONCURRENT: 1 - -radeonsi-raven-vaapi-fluster: extends: - .lava-x86_64-test-video - .radeonsi-raven-test:x86_64 @@ -147,8 +131,11 @@ radeonsi-raven-vaapi-fluster: - .test-fluster - .lava-hp-x360-14a-cb0001xx-zork:x86_64 variables: - DEQP_SUITE: fluster-vaapi - GPU_VERSION: radeonsi-raven-fluster + DEQP_SUITE: vaapi + GPU_VERSION: radeonsi-raven-va + # While the tests don't need Xorg, it's an easy way to keep DRM open so we don't + # spend all our time in drm_lastclose()'s modesetting. + HWCI_START_WESTON: 1 radeonsi-mendocino-glcts-piglit: extends: diff --git a/src/amd/ci/radeonsi-raven-fluster-fails.txt b/src/amd/ci/radeonsi-raven-va-fails.txt similarity index 100% rename from src/amd/ci/radeonsi-raven-fluster-fails.txt rename to src/amd/ci/radeonsi-raven-va-fails.txt diff --git a/src/amd/ci/radeonsi-raven-fluster-skips.txt b/src/amd/ci/radeonsi-raven-va-skips.txt similarity index 100% rename from src/amd/ci/radeonsi-raven-fluster-skips.txt rename to src/amd/ci/radeonsi-raven-va-skips.txt