ci/deqp: add a deqp-vk build on the main branch

To be able to run new tests as soon as they are merged, instead of
having to wait for the next official CTS release

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28168>
This commit is contained in:
Eric Engestrom
2024-03-14 09:44:05 +00:00
committed by Marge Bot
parent 328a3de7cc
commit beab815670
4 changed files with 18 additions and 6 deletions

View File

@@ -17,7 +17,7 @@ uncollapsed_section_start deqp-$deqp_api "Building dEQP $DEQP_API"
# See `deqp_build_targets` below for which release is used to produce which
# binary. Unless this comment has bitrotten:
# - the commit from the main branch produces the deqp tools,
# - the commit from the main branch produces the deqp tools and `deqp-vk`,
# - the VK release produces `deqp-vk`,
# - the GL release produces `glcts`, and
# - the GLES release produces `deqp-gles*` and `deqp-egl`
@@ -94,6 +94,7 @@ git config --global user.name "Mesa CI"
# shellcheck disable=SC2153
case "${DEQP_API}" in
tools) DEQP_VERSION="$DEQP_MAIN_COMMIT";;
*-main) DEQP_VERSION="$DEQP_MAIN_COMMIT";;
VK) DEQP_VERSION="vulkan-cts-$DEQP_VK_VERSION";;
GL) DEQP_VERSION="opengl-cts-$DEQP_GL_VERSION";;
GLES) DEQP_VERSION="opengl-es-cts-$DEQP_GLES_VERSION";;
@@ -210,7 +211,7 @@ fi
deqp_build_targets=()
case "${DEQP_API}" in
VK)
VK|VK-main)
deqp_build_targets+=(deqp-vk)
;;
GL)
@@ -234,7 +235,7 @@ if [ "${DEQP_TARGET}" != 'android' ] && [ "$DEQP_API" != tools ]; then
# Copy out the mustpass lists we want.
mkdir -p mustpass
if [ "${DEQP_API}" = 'VK' ]; then
if [ "${DEQP_API}" = 'VK' ] || [ "${DEQP_API}" = 'VK-main' ]; then
for mustpass in $(< /VK-GL-CTS/external/vulkancts/mustpass/main/vk-default.txt) ; do
cat /VK-GL-CTS/external/vulkancts/mustpass/main/$mustpass \
>> mustpass/vk-main.txt
@@ -284,7 +285,7 @@ rm -rf modules/internal
rm -rf execserver
rm -rf framework
find . -depth \( -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' \) -exec rm -rf {} \;
if [ "${DEQP_API}" = 'VK' ]; then
if [ "${DEQP_API}" = 'VK' ] || [ "${DEQP_API}" = 'VK-main' ]; then
${STRIP_CMD:-strip} external/vulkancts/modules/vulkan/deqp-vk
fi
if [ "${DEQP_API}" = 'GL' ] || [ "${DEQP_API}" = 'GLES' ]; then

View File

@@ -108,6 +108,10 @@ DEQP_API=tools \
DEQP_TARGET=default \
. .gitlab-ci/container/build-deqp.sh
DEQP_API=VK-main \
DEQP_TARGET=default \
. .gitlab-ci/container/build-deqp.sh
DEQP_API=VK \
DEQP_TARGET=default \
. .gitlab-ci/container/build-deqp.sh

View File

@@ -310,6 +310,10 @@ if [ "$BUILD_VK" == "ON" ]; then
DEQP_API=VK \
DEQP_TARGET=default \
. .gitlab-ci/container/build-deqp.sh
DEQP_API=VK-main \
DEQP_TARGET=default \
. .gitlab-ci/container/build-deqp.sh
fi
rm -rf /VK-GL-CTS

View File

@@ -53,7 +53,7 @@ if [ -z "$DEQP_SUITE" ]; then
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=$DEQP_CONFIG"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
if [ "$DEQP_VER" = "vk" ] && [ -z "$VK_DRIVER" ]; then
if [[ "$DEQP_VER" = "vk"* ]] && [ -z "$VK_DRIVER" ]; then
echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run'
exit 1
fi
@@ -62,6 +62,9 @@ if [ -z "$DEQP_SUITE" ]; then
if [ "$DEQP_VER" = "vk" ]; then
MUSTPASS=/deqp-vk/mustpass/vk-main.txt.zst
DEQP=/deqp-vk/external/vulkancts/modules/vulkan/deqp-vk
elif [ "$DEQP_VER" = "vk-main" ]; then
MUSTPASS=/deqp-vk-main/mustpass/vk-main.txt.zst
DEQP=/deqp-vk-main/external/vulkancts/modules/vulkan/deqp-vk
elif [ "$DEQP_VER" = "gles2" ] || [ "$DEQP_VER" = "gles3" ] || [ "$DEQP_VER" = "gles31" ] || [ "$DEQP_VER" = "egl" ]; then
MUSTPASS=/deqp-gles/mustpass/$DEQP_VER-main.txt.zst
DEQP=/deqp-gles/modules/$DEQP_VER/deqp-$DEQP_VER
@@ -188,7 +191,7 @@ uncollapsed_section_switch deqp "deqp: deqp-runner"
# Print the detailed version with the list of backports and local patches
{ set +x; } 2>/dev/null
for api in vk gl gles; do
for api in vk-main vk gl gles; do
deqp_version_log=/deqp-$api/version
if [ -r "$deqp_version_log" ]; then
cat "$deqp_version_log"