mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-23 13:40:43 +01:00
ci/debian: Upgrade Debian images to LLVM 19
LLVM 15 is pretty old, and notably not supported by either ANGLE nor Skia anymore. So let's move up to LLVM 19 using packages provided by LLVM themselves, apart from PPC and ARMv7 which don't have builds. The Skia build now requires a bunch of new warning exclusions; hopefully most of these are no longer needed when we can upgrade Skia shortly. The ci-deb-repo revision has also been bumped to get us a new version of xtensor which builds with LLVM 19, and a version of spirv-tools which also works with LLVM 19. Signed-off-by: Daniel Stone <daniels@collabora.com> Closes: mesa/mesa#11538 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33137>
This commit is contained in:
parent
55e9fe9d37
commit
101065642d
15 changed files with 160 additions and 18 deletions
|
|
@ -708,6 +708,7 @@ debian-clang:
|
|||
-Wno-error=overloaded-virtual
|
||||
-Wno-error=tautological-constant-out-of-range-compare
|
||||
-Wno-error=unused-private-field
|
||||
-Wno-error=vla-cxx-extension
|
||||
DRI_LOADERS: >
|
||||
-D glx=dri
|
||||
-D gbm=enabled
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ set -ex
|
|||
|
||||
uncollapsed_section_start llvm-spirv "Building LLVM-SPIRV-Translator"
|
||||
|
||||
VER="${LLVM_VERSION:?llvm not set}.0.0"
|
||||
if [ "${LLVM_VERSION:?llvm version not set}" -ge 18 ]; then
|
||||
VER="${LLVM_VERSION}.1.0"
|
||||
else
|
||||
VER="${LLVM_VERSION}.0.0"
|
||||
fi
|
||||
|
||||
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
|
||||
-O "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${VER}.tar.gz"
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ extra_cflags_cc = [
|
|||
"-Wno-unused-but-set-variable",
|
||||
"-Wno-sizeof-array-div",
|
||||
"-Wno-string-concatenation",
|
||||
"-Wno-unsafe-buffer-usage",
|
||||
"-Wno-switch-default",
|
||||
"-Wno-cast-function-type-strict",
|
||||
"-Wno-format",
|
||||
"-Wno-enum-constexpr-conversion",
|
||||
]
|
||||
|
||||
cc_wrapper = "ccache"
|
||||
|
|
|
|||
|
|
@ -9,10 +9,11 @@ set -o xtrace
|
|||
|
||||
: "${LLVM_VERSION:?llvm version not set}"
|
||||
|
||||
apt-get -y install ca-certificates
|
||||
apt-get -y install ca-certificates curl gnupg2
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
|
||||
echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list
|
||||
apt-get update
|
||||
|
||||
. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh
|
||||
|
||||
# Ephemeral packages (installed for this script and removed again at the end)
|
||||
EPHEMERAL=(
|
||||
|
|
@ -81,6 +82,8 @@ DEPS=(
|
|||
zstd
|
||||
)
|
||||
|
||||
apt-get update
|
||||
|
||||
apt-get -y install "${DEPS[@]}" "${EPHEMERAL[@]}"
|
||||
|
||||
pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
|
||||
|
|
|
|||
18
.gitlab-ci/container/debian/maybe-add-llvm-repo.sh
Normal file
18
.gitlab-ci/container/debian/maybe-add-llvm-repo.sh
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Check to see if we need a separate repo to install LLVM.
|
||||
|
||||
case "${FDO_DISTRIBUTION_VERSION%-*},${LLVM_VERSION}" in
|
||||
bookworm,15)
|
||||
NEED_LLVM_REPO="false"
|
||||
;;
|
||||
*)
|
||||
NEED_LLVM_REPO="true"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$NEED_LLVM_REPO" = "true" ]; then
|
||||
curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
||||
export LLVM_APT_REPO="deb [trusted=yes] https://apt.llvm.org/${FDO_DISTRIBUTION_VERSION%-*}/ llvm-toolchain-${FDO_DISTRIBUTION_VERSION%-*}-${LLVM_VERSION} main"
|
||||
echo "$LLVM_APT_REPO" | tee /etc/apt/sources.list.d/llvm.list
|
||||
fi
|
||||
|
|
@ -15,7 +15,7 @@ uncollapsed_section_start debian_setup "Base Debian system setup"
|
|||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get install -y ca-certificates gnupg2 software-properties-common
|
||||
apt-get install -y curl ca-certificates gnupg2 software-properties-common
|
||||
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
|
||||
|
||||
|
|
@ -23,6 +23,8 @@ echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/
|
|||
|
||||
: "${LLVM_VERSION:?llvm version not set!}"
|
||||
|
||||
. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh
|
||||
|
||||
# Ephemeral packages (installed for this script and removed again at the end)
|
||||
EPHEMERAL=(
|
||||
autoconf
|
||||
|
|
@ -40,6 +42,7 @@ EPHEMERAL=(
|
|||
libasound2-dev
|
||||
libcap-dev
|
||||
"libclang-cpp${LLVM_VERSION}-dev"
|
||||
"libclang-rt-${LLVM_VERSION}-dev"
|
||||
libdrm-dev
|
||||
libegl-dev
|
||||
libelf-dev
|
||||
|
|
|
|||
|
|
@ -14,10 +14,12 @@ set -o xtrace
|
|||
export DEBIAN_FRONTEND=noninteractive
|
||||
: "${LLVM_VERSION:?llvm version not set!}"
|
||||
|
||||
apt-get install -y ca-certificates
|
||||
apt-get install -y ca-certificates curl gnupg2
|
||||
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
|
||||
echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list
|
||||
|
||||
. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh
|
||||
|
||||
# Ephemeral packages (installed for this script and removed again at
|
||||
# the end)
|
||||
EPHEMERAL=(
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ DEPS=(
|
|||
libarchive-dev
|
||||
libdrm-dev
|
||||
"libclang-cpp${LLVM_VERSION}-dev"
|
||||
"libclang-rt-${LLVM_VERSION}-dev"
|
||||
libgbm-dev
|
||||
libglvnd-dev
|
||||
liblua5.3-dev
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ debian/x86_64_build-base:
|
|||
- .debian-container
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-x86_64_build-base "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||
LLVM_VERSION: &debian-x86_64-llvm 15
|
||||
LLVM_VERSION: &debian-x86_64-llvm 19
|
||||
|
||||
.use-debian/x86_64_build-base:
|
||||
extends:
|
||||
|
|
@ -130,6 +130,7 @@ debian/ppc64el_build:
|
|||
- .use-debian/x86_64_build-base
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-ppc64el_build ${DEBIAN_BUILD_TAG}
|
||||
LLVM_VERSION: &debian-ppc64el-llvm 15 # no LLVM packages for PPC
|
||||
|
||||
.use-debian/ppc64el_build:
|
||||
extends:
|
||||
|
|
@ -138,7 +139,7 @@ debian/ppc64el_build:
|
|||
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||
MESA_IMAGE_PATH: "debian/ppc64el_build"
|
||||
MESA_IMAGE_TAG: *debian-ppc64el_build
|
||||
LLVM_VERSION: *debian-x86_64-llvm
|
||||
LLVM_VERSION: *debian-ppc64el-llvm
|
||||
needs:
|
||||
- debian/ppc64el_build
|
||||
|
||||
|
|
@ -148,6 +149,7 @@ debian/s390x_build:
|
|||
- .use-debian/x86_64_build-base
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-s390x_build ${DEBIAN_BUILD_TAG}
|
||||
LLVM_VERSION: &debian-s390x-llvm 19
|
||||
|
||||
.use-debian/s390x_build:
|
||||
extends:
|
||||
|
|
@ -156,7 +158,7 @@ debian/s390x_build:
|
|||
MESA_BASE_TAG: *debian-x86_64_build-base
|
||||
MESA_IMAGE_PATH: "debian/s390x_build"
|
||||
MESA_IMAGE_TAG: *debian-s390x_build
|
||||
LLVM_VERSION: *debian-x86_64-llvm
|
||||
LLVM_VERSION: *debian-s390x-llvm
|
||||
needs:
|
||||
- debian/s390x_build
|
||||
|
||||
|
|
@ -200,7 +202,7 @@ debian/arm64_build:
|
|||
- aarch64
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &debian-arm64_build "${DEBIAN_BASE_TAG}--${PKG_REPO_REV}"
|
||||
LLVM_VERSION: &debian-arm64-llvm 15
|
||||
LLVM_VERSION: &debian-arm64-llvm 19
|
||||
|
||||
.use-debian/arm64_build:
|
||||
extends:
|
||||
|
|
@ -485,7 +487,7 @@ kernel+rootfs_arm32:
|
|||
- .firmware_arm32
|
||||
variables:
|
||||
DEBIAN_ARCH: "armhf"
|
||||
LLVM_VERSION: *debian-arm64-llvm # these are tied together as arm32 is built within aarch64
|
||||
LLVM_VERSION: &debian-arm32-llvm 15 # no armhf builds for LLVM
|
||||
|
||||
# Cannot use anchors defined here from included files, so use extends: instead
|
||||
.use-kernel+rootfs-arm:
|
||||
|
|
|
|||
|
|
@ -183,6 +183,8 @@ CONTAINER_EPHEMERAL=(
|
|||
|
||||
echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list
|
||||
|
||||
. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh
|
||||
|
||||
apt-get update
|
||||
apt-get install -y --no-remove \
|
||||
-o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' \
|
||||
|
|
@ -266,7 +268,8 @@ mmdebstrap \
|
|||
bookworm \
|
||||
"$ROOTFS/" \
|
||||
"http://deb.debian.org/debian" \
|
||||
"deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main"
|
||||
"deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" \
|
||||
"${LLVM_APT_REPO:-}"
|
||||
|
||||
############### Install mold
|
||||
. .gitlab-ci/container/build-mold.sh
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
|
||||
variables:
|
||||
DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base"
|
||||
DEBIAN_BASE_TAG: "20250128-llversionm1"
|
||||
DEBIAN_BASE_TAG: "20250128-llvm19-up"
|
||||
|
||||
DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build"
|
||||
DEBIAN_BUILD_TAG: "20250128-llversionm1"
|
||||
DEBIAN_BUILD_TAG: "20250128-llvm19-up"
|
||||
|
||||
DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
|
||||
DEBIAN_ARM64_TEST_BASE_IMAGE: "debian/arm64_test-base"
|
||||
|
|
@ -27,10 +27,10 @@ variables:
|
|||
DEBIAN_ARM64_TEST_IMAGE_VK_PATH: "debian/arm64_test-vk"
|
||||
DEBIAN_X86_64_TEST_ANDROID_IMAGE_PATH: "debian/x86_64_test-android"
|
||||
|
||||
DEBIAN_TEST_ANDROID_TAG: "20250128-llversionm1"
|
||||
DEBIAN_TEST_GL_TAG: "20250128-llversionm1"
|
||||
DEBIAN_TEST_VK_TAG: "20250128-llversionm1"
|
||||
KERNEL_ROOTFS_TAG: "20250128-llversionm1"
|
||||
DEBIAN_TEST_ANDROID_TAG: "20250128-llvm19-up"
|
||||
DEBIAN_TEST_GL_TAG: "20250128-llvm19-up"
|
||||
DEBIAN_TEST_VK_TAG: "20250128-llvm19-up"
|
||||
KERNEL_ROOTFS_TAG: "20250128-llvm19-up"
|
||||
|
||||
DEBIAN_PYUTILS_IMAGE: "debian/x86_64_pyutils"
|
||||
DEBIAN_PYUTILS_TAG: "20241223-pyutils"
|
||||
|
|
@ -41,7 +41,7 @@ variables:
|
|||
|
||||
KERNEL_TAG: "v6.13-rc4-mesa-5e77"
|
||||
KERNEL_REPO: "gfx-ci/linux"
|
||||
PKG_REPO_REV: "bca9635d"
|
||||
PKG_REPO_REV: "95bf62c"
|
||||
|
||||
FLUSTER_VECTORS_VERSION: "5"
|
||||
|
||||
|
|
|
|||
|
|
@ -311,3 +311,94 @@ program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float16,
|
|||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float2,Fail
|
||||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float4,Fail
|
||||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float8,Fail
|
||||
|
||||
# (file=input,line=0,column=0,index=0): Unresolved external reference to "_Z21convert_char4_sat_rteDv4_i".
|
||||
program@execute@vector-conversion,Fail
|
||||
|
||||
# piles of new fails since updating skqp; to be re-evaluated with new upstream
|
||||
gl_all_bitmap_configs,Fail
|
||||
gl_androidblendmodes,Fail
|
||||
gl_annotated_text,Fail
|
||||
gl_arithmode,Fail
|
||||
gl_bitmapcopy,Fail
|
||||
gl_blob_rsxform,Fail
|
||||
gl_blurSmallRadii,Fail
|
||||
gl_coloremoji_blendmodes,Fail
|
||||
gl_colorwheelnative,Fail
|
||||
gl_combinemaskfilter,Fail
|
||||
gl_dashtextcaps,Fail
|
||||
gl_degenerate_gradients,Fail
|
||||
gl_draw-atlas-colors,Fail
|
||||
gl_encode,Fail
|
||||
gl_gammagradienttext,Fail
|
||||
gl_gammatext,Fail
|
||||
gl_gpusamplerstress,Fail
|
||||
gl_gradtext,Fail
|
||||
gl_highcontrastfilter,Fail
|
||||
gl_image-surface,Fail
|
||||
gl_imageblur2,Fail
|
||||
gl_imageblur_large,Fail
|
||||
gl_imageblurtiled,Fail
|
||||
gl_lcdblendmodes,Fail
|
||||
gl_lcdtextsize,Fail
|
||||
gl_scaled_tilemode_bitmap,Fail
|
||||
gl_scaled_tilemode_gradient,Fail
|
||||
gl_scaled_tilemodes,Fail
|
||||
gl_simpleaaclip_aaclip,Fail
|
||||
gl_skbug_5321,Fail
|
||||
gl_srcmode,Fail
|
||||
gl_surfaceprops,Fail
|
||||
gl_textblob_intercepts,Fail
|
||||
gl_textblobblockreordering,Fail
|
||||
gl_textblobcolortrans,Fail
|
||||
gl_textfilter_color,Fail
|
||||
gl_textfilter_image,Fail
|
||||
gl_tilemode_bitmap,Fail
|
||||
gl_typefacestyles,Fail
|
||||
gl_wacky_yuv_formats,Fail
|
||||
gl_wacky_yuv_formats_cs,Fail
|
||||
gl_xfermodes2,Fail
|
||||
gl_xfermodes3,Fail
|
||||
vk_all_bitmap_configs,Fail
|
||||
vk_androidblendmodes,Fail
|
||||
vk_annotated_text,Fail
|
||||
vk_arithmode,Fail
|
||||
vk_bitmapcopy,Fail
|
||||
vk_blob_rsxform,Fail
|
||||
vk_blurSmallRadii,Fail
|
||||
vk_coloremoji_blendmodes,Fail
|
||||
vk_colorwheelnative,Fail
|
||||
vk_combinemaskfilter,Fail
|
||||
vk_dashtextcaps,Fail
|
||||
vk_degenerate_gradients,Fail
|
||||
vk_draw-atlas-colors,Fail
|
||||
vk_encode,Fail
|
||||
vk_gammagradienttext,Fail
|
||||
vk_gammatext,Fail
|
||||
vk_gpusamplerstress,Fail
|
||||
vk_gradtext,Fail
|
||||
vk_highcontrastfilter,Fail
|
||||
vk_image-surface,Fail
|
||||
vk_imageblur2,Fail
|
||||
vk_imageblur_large,Fail
|
||||
vk_imageblurtiled,Fail
|
||||
vk_lcdblendmodes,Fail
|
||||
vk_lcdtextsize,Fail
|
||||
vk_scaled_tilemode_bitmap,Fail
|
||||
vk_scaled_tilemode_gradient,Fail
|
||||
vk_scaled_tilemodes,Fail
|
||||
vk_simpleaaclip_aaclip,Fail
|
||||
vk_skbug_5321,Fail
|
||||
vk_srcmode,Fail
|
||||
vk_surfaceprops,Fail
|
||||
vk_textblob_intercepts,Fail
|
||||
vk_textblobblockreordering,Fail
|
||||
vk_textblobcolortrans,Fail
|
||||
vk_textfilter_color,Fail
|
||||
vk_textfilter_image,Fail
|
||||
vk_tilemode_bitmap,Fail
|
||||
vk_typefacestyles,Fail
|
||||
vk_wacky_yuv_formats,Fail
|
||||
vk_wacky_yuv_formats_cs,Fail
|
||||
vk_xfermodes2,Fail
|
||||
vk_xfermodes3,Fail
|
||||
|
|
|
|||
|
|
@ -80,3 +80,6 @@ program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float16,
|
|||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float2,Fail
|
||||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float4,Fail
|
||||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float8,Fail
|
||||
|
||||
# (file=input,line=0,column=0,index=0): Unresolved external reference to "_Z21convert_char4_sat_rteDv4_i".
|
||||
program@execute@vector-conversion,Fail
|
||||
|
|
|
|||
|
|
@ -42,3 +42,6 @@ api@clgetcommandqueueinfo,Fail
|
|||
|
||||
# demands at least 1/4 system RAM be allocatable, which we can't guarantee
|
||||
api@clgetdeviceinfo,Fail
|
||||
|
||||
# (file=input,line=0,column=0,index=0): Unresolved external reference to "_Z21convert_char4_sat_rteDv4_i".
|
||||
program@execute@vector-conversion,Fail
|
||||
|
|
|
|||
|
|
@ -12,6 +12,9 @@ program@execute@vstore@vstore-uchar-private,Crash
|
|||
program@execute@vstore@vstore-ushort-private,Crash
|
||||
program@execute@vstore@vstore_half-float-private,Crash
|
||||
|
||||
# (file=input,line=0,column=0,index=0): Unresolved external reference to "_Z21convert_char4_sat_rteDv4_i".
|
||||
program@execute@vector-conversion,Fail
|
||||
|
||||
# Piglit CL bug
|
||||
program@execute@builtin@builtin-float-nextafter-1.0.generated,Fail
|
||||
program@execute@builtin@builtin-float-nextafter-1.0.generated@nextafter float1,Fail
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue