It is not longer necessary to build the panfrost gallium driver for
panfrost_compile so do not do that.
Backport-to: 25.1
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Janne Grunau <j@jannau.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34693>
(cherry picked from commit f6c5f0c19d)
852 lines
24 KiB
YAML
852 lines
24 KiB
YAML
# Shared between windows and Linux
|
|
.build-common:
|
|
extends: .container+build-rules
|
|
# Cancel job if a newer commit is pushed to the same branch
|
|
interruptible: true
|
|
variables:
|
|
# Build jobs are typically taking between 5-12 minutes, depending on how
|
|
# much they build and how many new Rust compilers we have to build twice.
|
|
# Allow 25 minutes as a reasonable margin: beyond this point, something
|
|
# has gone badly wrong, and we should try again to see if we can get
|
|
# something from it.
|
|
#
|
|
# Some jobs not in the critical path use a higher timeout, particularly
|
|
# when building with ASan or UBSan.
|
|
BUILD_JOB_TIMEOUT: 12m
|
|
RUN_MESON_TESTS: "true"
|
|
timeout: 16m
|
|
# We don't want to download any previous job's artifacts
|
|
dependencies: []
|
|
artifacts:
|
|
name: "${CI_PROJECT_NAME}_${CI_JOB_NAME}"
|
|
when: always
|
|
paths:
|
|
- _build/meson-logs/*.txt
|
|
- _build/meson-logs/strace
|
|
- _build/.ninja_log
|
|
- artifacts
|
|
|
|
.build-run-long:
|
|
variables:
|
|
BUILD_JOB_TIMEOUT: 18m
|
|
timeout: 25m
|
|
|
|
|
|
# Just Linux
|
|
.build-linux:
|
|
extends: .build-common
|
|
variables:
|
|
CCACHE_COMPILERCHECK: "content"
|
|
CCACHE_COMPRESS: "true"
|
|
CCACHE_DIR: /cache/mesa/ccache
|
|
# Use ccache transparently, and print stats before/after
|
|
before_script:
|
|
- !reference [default, before_script]
|
|
- |
|
|
export PATH="/usr/lib/ccache:$PATH"
|
|
export CCACHE_BASEDIR="$PWD"
|
|
if test -x /usr/bin/ccache; then
|
|
section_start ccache_before "ccache stats before build"
|
|
ccache --show-stats
|
|
section_end ccache_before
|
|
fi
|
|
after_script:
|
|
- if test -x /usr/bin/ccache; then ccache --show-stats | grep "Hits:"; fi
|
|
- !reference [default, after_script]
|
|
|
|
.build-windows:
|
|
extends:
|
|
- .build-common
|
|
- .windows-docker-tags
|
|
cache:
|
|
key: ${CI_JOB_NAME}
|
|
paths:
|
|
- subprojects/packagecache
|
|
|
|
.meson-build-for-tests:
|
|
extends:
|
|
- .build-linux
|
|
stage: build-for-tests
|
|
script:
|
|
- &meson-build timeout --verbose ${BUILD_JOB_TIMEOUT_OVERRIDE:-$BUILD_JOB_TIMEOUT} bash --login .gitlab-ci/meson/build.sh
|
|
- .gitlab-ci/prepare-artifacts.sh
|
|
|
|
.meson-build-only:
|
|
extends:
|
|
- .meson-build-for-tests
|
|
- .build-only-delayed-rules
|
|
stage: build-only
|
|
script:
|
|
- *meson-build
|
|
|
|
|
|
debian-testing:
|
|
extends:
|
|
- .meson-build-for-tests
|
|
- .use-debian/x86_64_build
|
|
- .build-run-long # but it really shouldn't! tracked in mesa#12544
|
|
- .ci-deqp-artifacts
|
|
variables:
|
|
UNWIND: "enabled"
|
|
DRI_LOADERS: >
|
|
-D egl=enabled
|
|
-D gbm=enabled
|
|
-D glvnd=disabled
|
|
-D glx=dri
|
|
-D platforms=x11,wayland
|
|
GALLIUM_ST: >
|
|
-D gallium-nine=false
|
|
-D gallium-rusticl=true
|
|
-D gallium-va=enabled
|
|
GALLIUM_DRIVERS: "llvmpipe,softpipe,virgl,radeonsi,zink,iris,svga"
|
|
VULKAN_DRIVERS: "swrast,amd,intel,virtio"
|
|
BUILDTYPE: "debugoptimized"
|
|
EXTRA_OPTION: >
|
|
-D intel-elk=false
|
|
-D spirv-to-dxil=true
|
|
-D tools=drm-shim
|
|
-D valgrind=disabled
|
|
S3_ARTIFACT_NAME: mesa-x86_64-default-${BUILDTYPE}
|
|
RUN_MESON_TESTS: "false" # debian-build-testing already runs these
|
|
artifacts:
|
|
reports:
|
|
junit: artifacts/ci_scripts_report.xml
|
|
|
|
debian-testing-asan:
|
|
extends:
|
|
- debian-testing
|
|
- .meson-build-for-tests
|
|
- .build-run-long
|
|
variables:
|
|
VULKAN_DRIVERS: "swrast"
|
|
GALLIUM_DRIVERS: "llvmpipe,softpipe"
|
|
C_ARGS: >
|
|
-Wno-error=stringop-truncation
|
|
EXTRA_OPTION: >
|
|
-D b_sanitize=address
|
|
-D gallium-va=false
|
|
-D gallium-nine=false
|
|
-D gallium-rusticl=false
|
|
-D mesa-clc=system
|
|
-D tools=dlclose-skip
|
|
-D valgrind=disabled
|
|
S3_ARTIFACT_NAME: ""
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
RUN_MESON_TESTS: "false" # just too slow
|
|
# Do a host build for mesa-clc (asan complains not being loaded as
|
|
# the first library)
|
|
HOST_BUILD_OPTIONS: >
|
|
-D build-tests=false
|
|
-D enable-glcpp-tests=false
|
|
-D gallium-opencl=disabled
|
|
-D gallium-rusticl=false
|
|
-D gallium-nine=false
|
|
-D gallium-drivers=
|
|
-D glx=disabled
|
|
-D install-mesa-clc=true
|
|
-D mesa-clc=enabled
|
|
-D platforms=
|
|
-D video-codecs=
|
|
-D vulkan-drivers=
|
|
|
|
debian-testing-msan:
|
|
# https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo
|
|
# msan cannot fully work until it's used together with msan libc
|
|
extends:
|
|
- debian-clang
|
|
- .meson-build-only
|
|
- .build-run-long
|
|
variables:
|
|
# l_undef is incompatible with msan
|
|
EXTRA_OPTION:
|
|
-D b_sanitize=memory
|
|
-D b_lundef=false
|
|
-D mesa-clc=system
|
|
-D precomp-compiler=system
|
|
S3_ARTIFACT_NAME: ""
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
# Don't run all the tests yet:
|
|
# GLSL has some issues in sexpression reading.
|
|
# gtest has issues in its test initialization.
|
|
MESON_TEST_ARGS: "--suite glcpp --suite format"
|
|
GALLIUM_DRIVERS: "freedreno,iris,nouveau,r300,r600,llvmpipe,softpipe,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus"
|
|
VULKAN_DRIVERS: intel,amd,broadcom,virtio
|
|
RUN_MESON_TESTS: "false" # just too slow
|
|
# Do a host build for mesa-clc and precomp-compiler (msan complains about uninitialized
|
|
# values in the LLVM libs)
|
|
HOST_BUILD_OPTIONS: >
|
|
-D build-tests=false
|
|
-D enable-glcpp-tests=false
|
|
-D gallium-opencl=disabled
|
|
-D gallium-drivers=
|
|
-D vulkan-drivers=
|
|
-D video-codecs=
|
|
-D glx=disabled
|
|
-D platforms=
|
|
-D mesa-clc=enabled
|
|
-D install-mesa-clc=true
|
|
-D precomp-compiler=enabled
|
|
-D install-precomp-compiler=true
|
|
-D tools=panfrost
|
|
|
|
debian-testing-ubsan:
|
|
extends:
|
|
- debian-testing
|
|
- .meson-build-for-tests
|
|
- .build-run-long
|
|
variables:
|
|
C_ARGS: >
|
|
-Wno-error=stringop-overflow
|
|
-Wno-error=stringop-truncation
|
|
CPP_ARGS: >
|
|
-Wno-error=array-bounds
|
|
GALLIUM_DRIVERS: "llvmpipe,softpipe"
|
|
VULKAN_DRIVERS: "swrast"
|
|
EXTRA_OPTION: >
|
|
-D b_sanitize=undefined
|
|
-D mesa-clc=system
|
|
-D gallium-rusticl=false
|
|
-D gallium-va=false
|
|
-D gallium-nine=false
|
|
S3_ARTIFACT_NAME: ""
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
RUN_MESON_TESTS: "false" # just too slow
|
|
HOST_BUILD_OPTIONS: >
|
|
-D build-tests=false
|
|
-D enable-glcpp-tests=false
|
|
-D gallium-opencl=disabled
|
|
-D gallium-rusticl=false
|
|
-D gallium-drivers=
|
|
-D vulkan-drivers=
|
|
-D video-codecs=
|
|
-D glx=disabled
|
|
-D platforms=
|
|
-D mesa-clc=enabled
|
|
-D install-mesa-clc=true
|
|
|
|
debian-build-testing:
|
|
extends:
|
|
- .meson-build-for-tests
|
|
- .use-debian/x86_64_build
|
|
variables:
|
|
UNWIND: "enabled"
|
|
DRI_LOADERS: >
|
|
-D glx=dri
|
|
-D gbm=enabled
|
|
-D egl=enabled
|
|
-D glvnd=disabled
|
|
-D platforms=x11,wayland
|
|
-D legacy-x11=dri2
|
|
GALLIUM_ST: >
|
|
-D gallium-extra-hud=true
|
|
-D gallium-vdpau=enabled
|
|
-D gallium-va=enabled
|
|
-D gallium-xa=enabled
|
|
-D gallium-nine=true
|
|
-D gallium-rusticl=false
|
|
GALLIUM_DRIVERS: "i915,iris,nouveau,r300,r600,freedreno,llvmpipe,softpipe,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
|
|
VULKAN_DRIVERS: "intel_hasvk,imagination-experimental,microsoft-experimental,nouveau,swrast"
|
|
BUILDTYPE: "debugoptimized"
|
|
EXTRA_OPTION: >
|
|
-D spirv-to-dxil=true
|
|
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi
|
|
-D perfetto=true
|
|
S3_ARTIFACT_NAME: debian-build-testing
|
|
|
|
# Test a release build with -Werror so new warnings don't sneak in.
|
|
debian-release:
|
|
extends:
|
|
- .meson-build-only
|
|
- .use-debian/x86_64_build
|
|
variables:
|
|
UNWIND: "enabled"
|
|
C_ARGS: >
|
|
-Wno-error=stringop-overread
|
|
DRI_LOADERS: >
|
|
-D glx=dri
|
|
-D gbm=enabled
|
|
-D egl=enabled
|
|
-D glvnd=disabled
|
|
-D platforms=x11,wayland
|
|
GALLIUM_ST: >
|
|
-D gallium-extra-hud=true
|
|
-D gallium-vdpau=enabled
|
|
-D gallium-va=enabled
|
|
-D gallium-xa=enabled
|
|
-D gallium-nine=false
|
|
-D gallium-rusticl=false
|
|
-D llvm=enabled
|
|
GALLIUM_DRIVERS: "i915,iris,nouveau,r300,freedreno,llvmpipe,softpipe,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
|
|
VULKAN_DRIVERS: "swrast,intel_hasvk,imagination-experimental,microsoft-experimental"
|
|
EXTRA_OPTION: >
|
|
-D spirv-to-dxil=true
|
|
-D tools=all
|
|
-D mesa-clc=enabled
|
|
-D precomp-compiler=enabled
|
|
-D intel-rt=enabled
|
|
-D imagination-srv=true
|
|
BUILDTYPE: "release"
|
|
S3_ARTIFACT_NAME: "mesa-x86_64-default-${BUILDTYPE}"
|
|
script:
|
|
- *meson-build
|
|
- 'if [ -n "$MESA_CI_PERFORMANCE_ENABLED" ]; then .gitlab-ci/prepare-artifacts.sh; fi'
|
|
|
|
alpine-build-testing:
|
|
extends:
|
|
- .meson-build-only
|
|
- .use-alpine/x86_64_build
|
|
variables:
|
|
BUILDTYPE: "release"
|
|
C_ARGS: >
|
|
-Wno-error=cpp
|
|
-Wno-error=array-bounds
|
|
-Wno-error=stringop-overflow
|
|
-Wno-error=stringop-overread
|
|
-Wno-error=misleading-indentation
|
|
DRI_LOADERS: >
|
|
-D glx=disabled
|
|
-D gbm=enabled
|
|
-D egl=enabled
|
|
-D glvnd=disabled
|
|
-D platforms=wayland
|
|
GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,iris,lima,nouveau,panfrost,r300,r600,radeonsi,svga,llvmpipe,softpipe,tegra,v3d,vc4,virgl,zink"
|
|
GALLIUM_ST: >
|
|
-D gallium-extra-hud=true
|
|
-D gallium-vdpau=disabled
|
|
-D gallium-va=enabled
|
|
-D gallium-xa=disabled
|
|
-D gallium-nine=true
|
|
-D gallium-rusticl=false
|
|
-D gles1=disabled
|
|
-D gles2=enabled
|
|
-D llvm=enabled
|
|
-D llvm-orcjit=true
|
|
-D microsoft-clc=disabled
|
|
-D shared-llvm=enabled
|
|
UNWIND: "disabled"
|
|
VULKAN_DRIVERS: "amd,broadcom,freedreno,intel,imagination-experimental"
|
|
|
|
fedora-release:
|
|
extends:
|
|
- .meson-build-only
|
|
- .use-fedora/x86_64_build
|
|
- .build-run-long
|
|
# LTO builds can be really very slow, and we have no way to specify different
|
|
# timeouts for pre-merge and nightly jobs
|
|
timeout: 1h
|
|
variables:
|
|
BUILDTYPE: "release"
|
|
# array-bounds are pure non-LTO gcc buggy warning
|
|
# maybe-uninitialized is misfiring in nir_lower_gs_intrinsics.c, and
|
|
# a "maybe" warning should never be an error anyway.
|
|
C_ARGS: >
|
|
-Wno-error=stringop-overflow
|
|
-Wno-error=stringop-overread
|
|
-Wno-error=array-bounds
|
|
-Wno-error=maybe-uninitialized
|
|
CPP_ARGS: >
|
|
-Wno-error=dangling-reference
|
|
-Wno-error=overloaded-virtual
|
|
DRI_LOADERS: >
|
|
-D glx=dri
|
|
-D gbm=enabled
|
|
-D egl=enabled
|
|
-D glvnd=enabled
|
|
-D platforms=x11,wayland
|
|
EXTRA_OPTION: >
|
|
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,nir,nouveau,lima,panfrost,imagination
|
|
-D vulkan-layers=device-select,overlay
|
|
-D intel-rt=enabled
|
|
-D imagination-srv=true
|
|
-D teflon=true
|
|
GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,i915,iris,lima,nouveau,panfrost,r300,r600,radeonsi,svga,llvmpipe,softpipe,tegra,v3d,vc4,virgl,zink"
|
|
GALLIUM_ST: >
|
|
-D gallium-extra-hud=true
|
|
-D gallium-vdpau=enabled
|
|
-D gallium-va=enabled
|
|
-D gallium-xa=enabled
|
|
-D gallium-nine=false
|
|
-D gallium-rusticl=true
|
|
-D gles1=disabled
|
|
-D gles2=enabled
|
|
-D llvm=enabled
|
|
-D microsoft-clc=disabled
|
|
-D shared-llvm=enabled
|
|
UNWIND: "disabled"
|
|
VULKAN_DRIVERS: "amd,asahi,broadcom,freedreno,imagination-experimental,intel,intel_hasvk"
|
|
|
|
debian-android:
|
|
extends:
|
|
- .android-variables
|
|
- .meson-cross
|
|
- .use-debian/android_build
|
|
- .ci-deqp-artifacts
|
|
- .meson-build-for-tests
|
|
variables:
|
|
BUILDTYPE: debug
|
|
UNWIND: "disabled"
|
|
C_ARGS: >
|
|
-Wno-error=asm-operand-widths
|
|
-Wno-error=constant-conversion
|
|
-Wno-error=enum-conversion
|
|
-Wno-error=initializer-overrides
|
|
-Wno-error=sometimes-uninitialized
|
|
CPP_ARGS: >
|
|
-Wno-error=c99-designator
|
|
-Wno-error=unused-variable
|
|
-Wno-error=unused-but-set-variable
|
|
-Wno-error=self-assign
|
|
DRI_LOADERS: >
|
|
-D glx=disabled
|
|
-D gbm=disabled
|
|
-D egl=enabled
|
|
-D glvnd=disabled
|
|
-D platforms=android
|
|
FORCE_FALLBACK_FOR: llvm
|
|
EXTRA_OPTION: >
|
|
-D android-stub=true
|
|
-D platform-sdk-version=${ANDROID_SDK_VERSION}
|
|
-D cpp_rtti=false
|
|
-D valgrind=disabled
|
|
-D android-libbacktrace=disabled
|
|
-D mesa-clc=system
|
|
-D precomp-compiler=system
|
|
GALLIUM_ST: >
|
|
-D gallium-vdpau=disabled
|
|
-D gallium-va=disabled
|
|
-D gallium-xa=disabled
|
|
-D gallium-nine=false
|
|
-D gallium-rusticl=false
|
|
PKG_CONFIG_LIBDIR: "/disable/non/android/system/pc/files"
|
|
HOST_BUILD_OPTIONS: >
|
|
-D build-tests=false
|
|
-D enable-glcpp-tests=false
|
|
-D gallium-opencl=disabled
|
|
-D gallium-drivers=
|
|
-D vulkan-drivers=
|
|
-D video-codecs=
|
|
-D glx=disabled
|
|
-D platforms=
|
|
-D mesa-clc=enabled
|
|
-D install-mesa-clc=true
|
|
-D precomp-compiler=enabled
|
|
-D install-precomp-compiler=true
|
|
-D tools=panfrost
|
|
S3_ARTIFACT_NAME: mesa-x86_64-android-${BUILDTYPE}
|
|
script:
|
|
# x86_64 build:
|
|
# Can't do AMD drivers because they require LLVM, which is currently
|
|
# problematic in our Android builds.
|
|
- export CROSS=x86_64-linux-android
|
|
- export GALLIUM_DRIVERS=iris,virgl,zink,softpipe
|
|
- export VULKAN_DRIVERS=intel,virtio,swrast
|
|
- .gitlab-ci/create-llvm-meson-wrap-file.sh
|
|
- *meson-build
|
|
- .gitlab-ci/prepare-artifacts.sh
|
|
# remove all the files created by the previous build before the next build
|
|
- git clean -dxf .
|
|
# aarch64 build:
|
|
# build-only, to catch compilation regressions
|
|
# without calling .gitlab-ci/prepare-artifacts.sh so that the
|
|
# artifacts are not shipped in mesa-x86_64-android-${BUILDTYPE}
|
|
- export CROSS=aarch64-linux-android
|
|
- export GALLIUM_DRIVERS=etnaviv,freedreno,lima,panfrost,vc4,v3d
|
|
- export VULKAN_DRIVERS=freedreno,broadcom,virtio
|
|
- *meson-build
|
|
|
|
.meson-cross:
|
|
extends:
|
|
- .meson-build-only
|
|
- .use-debian/x86_64_build
|
|
variables:
|
|
UNWIND: "disabled"
|
|
DRI_LOADERS: >
|
|
-D glx=dri
|
|
-D gbm=enabled
|
|
-D egl=enabled
|
|
-D platforms=x11,wayland
|
|
GALLIUM_ST: >
|
|
-D gallium-vdpau=disabled
|
|
-D gallium-va=disabled
|
|
-D gallium-xa=disabled
|
|
-D gallium-nine=false
|
|
|
|
.meson-arm:
|
|
extends:
|
|
- .meson-cross
|
|
- .use-debian/arm64_build
|
|
variables:
|
|
VULKAN_DRIVERS: "asahi,broadcom,freedreno"
|
|
GALLIUM_DRIVERS: "etnaviv,freedreno,lima,nouveau,panfrost,llvmpipe,softpipe,tegra,v3d,vc4,zink"
|
|
BUILDTYPE: "debugoptimized"
|
|
|
|
debian-arm32:
|
|
extends:
|
|
- .meson-arm
|
|
- .ci-deqp-artifacts
|
|
- .meson-build-for-tests
|
|
variables:
|
|
CROSS: armhf
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
# remove asahi & llvmpipe from the .meson-arm list because here we have llvm=disabled
|
|
VULKAN_DRIVERS: "broadcom,freedreno"
|
|
GALLIUM_DRIVERS: "etnaviv,freedreno,lima,nouveau,panfrost,softpipe,tegra,v3d,vc4,zink"
|
|
EXTRA_OPTION: >
|
|
-D llvm=disabled
|
|
-D valgrind=disabled
|
|
-D gallium-rusticl=false
|
|
-D mesa-clc=system
|
|
-D precomp-compiler=system
|
|
HOST_BUILD_OPTIONS: >
|
|
-D build-tests=false
|
|
-D enable-glcpp-tests=false
|
|
-D gallium-opencl=disabled
|
|
-D gallium-drivers=
|
|
-D vulkan-drivers=
|
|
-D video-codecs=
|
|
-D glx=disabled
|
|
-D platforms=
|
|
-D mesa-clc=enabled
|
|
-D install-mesa-clc=true
|
|
-D precomp-compiler=enabled
|
|
-D install-precomp-compiler=true
|
|
-D tools=panfrost
|
|
S3_ARTIFACT_NAME: mesa-arm32-default-${BUILDTYPE}
|
|
# The strip command segfaults, failing to strip the binary and leaving
|
|
# tempfiles in our artifacts.
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
|
|
debian-arm32-asan:
|
|
extends:
|
|
- debian-arm32
|
|
- .meson-build-for-tests
|
|
- .build-run-long
|
|
variables:
|
|
GALLIUM_DRIVERS: "etnaviv"
|
|
VULKAN_DRIVERS: ""
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
EXTRA_OPTION: >
|
|
-D llvm=disabled
|
|
-D b_sanitize=address
|
|
-D valgrind=disabled
|
|
-D tools=dlclose-skip
|
|
-D gallium-rusticl=false
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
RUN_MESON_TESTS: "false" # just too slow
|
|
S3_ARTIFACT_NAME: mesa-arm32-asan-${BUILDTYPE}
|
|
|
|
debian-arm64:
|
|
extends:
|
|
- .meson-arm
|
|
- .ci-deqp-artifacts
|
|
- .meson-build-for-tests
|
|
variables:
|
|
C_ARGS: >
|
|
-Wno-error=array-bounds
|
|
-Wno-error=stringop-truncation
|
|
GALLIUM_DRIVERS: "etnaviv,freedreno,lima,panfrost,v3d,vc4,zink"
|
|
VULKAN_DRIVERS: "broadcom,freedreno,panfrost"
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
EXTRA_OPTION: >
|
|
-D valgrind=disabled
|
|
-D imagination-srv=true
|
|
-D freedreno-kmds=msm,virtio
|
|
-D teflon=true
|
|
GALLIUM_ST:
|
|
-D gallium-rusticl=true
|
|
RUN_MESON_TESTS: "false" # run by debian-arm64-build-testing
|
|
S3_ARTIFACT_NAME: mesa-arm64-default-${BUILDTYPE}
|
|
|
|
debian-arm64-asan:
|
|
extends:
|
|
- debian-arm64
|
|
- .meson-build-for-tests
|
|
- .build-run-long
|
|
variables:
|
|
VULKAN_DRIVERS: "broadcom,freedreno"
|
|
GALLIUM_DRIVERS: "freedreno,vc4,v3d"
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
EXTRA_OPTION: >
|
|
-D b_sanitize=address
|
|
-D valgrind=disabled
|
|
-D tools=dlclose-skip
|
|
-D gallium-rusticl=false
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
RUN_MESON_TESTS: "false" # just too slow
|
|
S3_ARTIFACT_NAME: mesa-arm64-asan-${BUILDTYPE}
|
|
|
|
debian-arm64-ubsan:
|
|
extends:
|
|
- debian-arm64
|
|
- .meson-build-for-tests
|
|
- .build-run-long
|
|
variables:
|
|
VULKAN_DRIVERS: "broadcom"
|
|
GALLIUM_DRIVERS: "v3d,vc4"
|
|
C_ARGS: >
|
|
-Wno-error=array-bounds
|
|
-Wno-error=stringop-overflow
|
|
-Wno-error=stringop-truncation
|
|
CPP_ARGS: >
|
|
-Wno-error=array-bounds
|
|
-fno-var-tracking-assignments
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
EXTRA_OPTION: >
|
|
-D b_sanitize=undefined
|
|
-D gallium-rusticl=false
|
|
ARTIFACTS_DEBUG_SYMBOLS: 1
|
|
RUN_MESON_TESTS: "false" # just too slow
|
|
S3_ARTIFACT_NAME: mesa-arm64-ubsan-${BUILDTYPE}
|
|
|
|
debian-arm64-build-test:
|
|
extends:
|
|
- .meson-arm
|
|
- .ci-deqp-artifacts
|
|
- .meson-build-only
|
|
variables:
|
|
VULKAN_DRIVERS: "amd,asahi,imagination-experimental,nouveau"
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
EXTRA_OPTION: >
|
|
-D tools=panfrost,imagination
|
|
-D perfetto=true
|
|
|
|
debian-arm64-release:
|
|
extends:
|
|
- debian-arm64
|
|
- .meson-build-only
|
|
variables:
|
|
BUILDTYPE: release
|
|
S3_ARTIFACT_NAME: mesa-arm64-default-${BUILDTYPE}
|
|
C_ARGS: >
|
|
-Wno-error=array-bounds
|
|
-Wno-error=stringop-truncation
|
|
-Wno-error=stringop-overread
|
|
script:
|
|
- *meson-build
|
|
- 'if [ -n "$MESA_CI_PERFORMANCE_ENABLED" ]; then .gitlab-ci/prepare-artifacts.sh; fi'
|
|
|
|
debian-no-libdrm:
|
|
extends:
|
|
- .meson-arm
|
|
- .meson-build-only
|
|
variables:
|
|
VULKAN_DRIVERS: freedreno
|
|
GALLIUM_DRIVERS: "zink,llvmpipe"
|
|
BUILDTYPE: release
|
|
C_ARGS: >
|
|
-Wno-error=array-bounds
|
|
-Wno-error=stringop-truncation
|
|
-Wno-error=stringop-overread
|
|
EXTRA_OPTION: >
|
|
-D freedreno-kmds=kgsl
|
|
-D glx=disabled
|
|
-D gbm=disabled
|
|
-D egl=disabled
|
|
-D perfetto=true
|
|
|
|
debian-clang:
|
|
extends:
|
|
- .meson-build-only
|
|
- .use-debian/x86_64_build
|
|
variables:
|
|
BUILDTYPE: debug
|
|
UNWIND: "enabled"
|
|
C_ARGS: >
|
|
-Wno-error=constant-conversion
|
|
-Wno-error=enum-conversion
|
|
-Wno-error=initializer-overrides
|
|
-Wno-error=sometimes-uninitialized
|
|
-Werror=misleading-indentation
|
|
CPP_ARGS: >
|
|
-Wno-error=c99-designator
|
|
-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
|
|
-D egl=enabled
|
|
-D glvnd=enabled
|
|
-D platforms=x11,wayland
|
|
GALLIUM_ST: >
|
|
-D gallium-extra-hud=true
|
|
-D gallium-vdpau=enabled
|
|
-D gallium-va=enabled
|
|
-D gallium-xa=enabled
|
|
-D gallium-nine=true
|
|
-D gles1=enabled
|
|
-D gles2=enabled
|
|
-D llvm=enabled
|
|
-D microsoft-clc=disabled
|
|
-D shared-llvm=enabled
|
|
GALLIUM_DRIVERS: "iris,nouveau,r300,r600,freedreno,llvmpipe,softpipe,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus,i915,asahi"
|
|
VULKAN_DRIVERS: intel,amd,freedreno,broadcom,virtio,swrast,panfrost,imagination-experimental,microsoft-experimental,nouveau
|
|
EXTRA_OPTION:
|
|
-D spirv-to-dxil=true
|
|
-D imagination-srv=true
|
|
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi,imagination
|
|
-D vulkan-layers=device-select,overlay
|
|
-D build-radv-tests=true
|
|
-D build-aco-tests=true
|
|
-D mesa-clc=enabled
|
|
-D precomp-compiler=enabled
|
|
-D intel-rt=enabled
|
|
-D imagination-srv=true
|
|
-D teflon=true
|
|
CC: clang-${LLVM_VERSION}
|
|
CXX: clang++-${LLVM_VERSION}
|
|
|
|
debian-clang-release:
|
|
extends:
|
|
- debian-clang
|
|
- .meson-build-only
|
|
- .build-run-long
|
|
variables:
|
|
BUILDTYPE: "release"
|
|
DRI_LOADERS: >
|
|
-D glx=xlib
|
|
-D platforms=x11,wayland
|
|
GALLIUM_ST: >
|
|
-D gallium-extra-hud=true
|
|
-D gallium-vdpau=enabled
|
|
-D gallium-va=enabled
|
|
-D gallium-xa=enabled
|
|
-D gallium-nine=true
|
|
-D gles1=disabled
|
|
-D gles2=disabled
|
|
-D llvm=enabled
|
|
-D microsoft-clc=disabled
|
|
-D shared-llvm=enabled
|
|
|
|
windows-msvc:
|
|
extends:
|
|
- .build-windows
|
|
- .use-windows_build_msvc
|
|
- .windows-build-rules
|
|
stage: build-for-tests
|
|
script:
|
|
- pwsh -ExecutionPolicy RemoteSigned .\.gitlab-ci\windows\mesa_build.ps1
|
|
artifacts:
|
|
paths:
|
|
- _build/meson-logs/*.txt
|
|
- _install/
|
|
|
|
debian-vulkan:
|
|
extends:
|
|
- .meson-build-only
|
|
- .use-debian/x86_64_build
|
|
variables:
|
|
BUILDTYPE: debug
|
|
UNWIND: "disabled"
|
|
DRI_LOADERS: >
|
|
-D glx=disabled
|
|
-D gbm=disabled
|
|
-D egl=disabled
|
|
-D opengl=false
|
|
-D gles1=disabled
|
|
-D gles2=disabled
|
|
-D glvnd=disabled
|
|
-D platforms=x11,wayland
|
|
GALLIUM_ST: >
|
|
-D gallium-vdpau=disabled
|
|
-D gallium-va=disabled
|
|
-D gallium-xa=disabled
|
|
-D gallium-nine=false
|
|
-D gallium-rusticl=false
|
|
-D b_sanitize=undefined
|
|
-D c_args=-fno-sanitize-recover=all
|
|
-D cpp_args=-fno-sanitize-recover=all
|
|
UBSAN_OPTIONS: "print_stacktrace=1"
|
|
VULKAN_DRIVERS: amd,asahi,broadcom,freedreno,intel,intel_hasvk,panfrost,virtio,imagination-experimental,microsoft-experimental,nouveau
|
|
EXTRA_OPTION: >
|
|
-D vulkan-layers=device-select,overlay
|
|
-D build-radv-tests=true
|
|
-D build-aco-tests=true
|
|
-D intel-rt=disabled
|
|
-D imagination-srv=true
|
|
|
|
debian-x86_32:
|
|
extends:
|
|
- .meson-cross
|
|
- .use-debian/x86_32_build
|
|
- .meson-build-only
|
|
- .build-run-long # it's not clear why this runs long, but it also doesn't matter much
|
|
variables:
|
|
BUILDTYPE: debug
|
|
CROSS: i386
|
|
VULKAN_DRIVERS: intel,amd,swrast,virtio,panfrost
|
|
GALLIUM_DRIVERS: "iris,nouveau,r300,r600,radeonsi,llvmpipe,softpipe,virgl,zink,crocus,d3d12,panfrost"
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
EXTRA_OPTION: >
|
|
-D vulkan-layers=device-select,overlay
|
|
-D mesa-clc=system
|
|
C_LINK_ARGS: >
|
|
-Wl,--no-warn-rwx-segments
|
|
CPP_LINK_ARGS: >
|
|
-Wl,--no-warn-rwx-segments
|
|
HOST_BUILD_OPTIONS: >
|
|
-D build-tests=false
|
|
-D enable-glcpp-tests=false
|
|
-D gallium-opencl=disabled
|
|
-D gallium-drivers=
|
|
-D vulkan-drivers=
|
|
-D video-codecs=
|
|
-D glx=disabled
|
|
-D platforms=
|
|
-D mesa-clc=enabled
|
|
-D install-mesa-clc=true
|
|
|
|
# While s390 is dead, s390x is very much alive, and one of the last major
|
|
# big-endian platforms, so it provides useful coverage.
|
|
# In case of issues with this job, contact @ajax
|
|
debian-s390x:
|
|
extends:
|
|
- .meson-cross
|
|
- .use-debian/s390x_build
|
|
- .meson-build-only
|
|
tags:
|
|
- $FDO_RUNNER_JOB_PRIORITY_TAG_X86_64_KVM
|
|
variables:
|
|
BUILDTYPE: debug
|
|
CROSS: s390x
|
|
GALLIUM_DRIVERS: "llvmpipe,virgl,zink"
|
|
VULKAN_DRIVERS: "swrast,virtio"
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
|
|
debian-ppc64el:
|
|
extends:
|
|
- .meson-cross
|
|
- .use-debian/ppc64el_build
|
|
- .meson-build-only
|
|
variables:
|
|
BUILDTYPE: debug
|
|
CROSS: ppc64el
|
|
GALLIUM_DRIVERS: "nouveau,llvmpipe,softpipe,virgl,zink"
|
|
VULKAN_DRIVERS: "swrast"
|
|
DRI_LOADERS:
|
|
-D glvnd=disabled
|
|
|
|
# This job emits our scripts into artifacts so they can be reused for
|
|
# job submission to hardware devices.
|
|
python-artifacts:
|
|
stage: build-for-tests
|
|
extends:
|
|
- .use-debian/x86_64_pyutils
|
|
- .build-common
|
|
- .meson-build-for-tests
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
S3_ARTIFACT_NAME: mesa-python-ci-artifacts
|
|
timeout: 10m
|
|
script:
|
|
- .gitlab-ci/prepare-artifacts-python.sh
|