# main repository, it's recommended to remove the image from the source
# repository's container registry, so that the image from the main
# repository's registry will be used there as well.
-#
-# The format of the tag is "%Y-%m-%d-${counter}" where ${counter} stays
-# at "01" unless you have multiple updates on the same day :)
variables:
UPSTREAM_REPO: mesa/mesa
- DEBIAN_TAG: "2019-05-01"
+ DEBIAN_TAG: "2019-07-23"
DEBIAN_VERSION: stretch-slim
DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
paths:
- ccache
artifacts:
- when: on_failure
- untracked: true
+ when: always
+ paths:
+ - _build/meson-logs/*.txt
+ # scons:
+ - build/*/config.log
+ - shader-db
variables:
CCACHE_COMPILERCHECK: "content"
# Use ccache transparently, and print stats before/after
.meson-build:
extends: .build
script:
- # We need to control the version of llvm-config we're using, so we'll
- # generate a native file to do so. This requires meson >=0.49
- - if test -n "$LLVM_VERSION"; then
- LLVM_CONFIG="llvm-config-${LLVM_VERSION}";
- echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file;
- $LLVM_CONFIG --version;
- else
- touch native.file;
- fi
- - meson --version
- - meson _build
- --native-file=native.file
- -D buildtype=debug
- -D build-tests=true
- -D libunwind=${UNWIND}
- ${DRI_LOADERS}
- -D dri-drivers=${DRI_DRIVERS:-[]}
- ${GALLIUM_ST}
- -D gallium-drivers=${GALLIUM_DRIVERS:-[]}
- -D vulkan-drivers=${VULKAN_DRIVERS:-[]}
- -D I-love-half-baked-turnips=true
- - cd _build
- - meson configure
- - ninja -j4
- - LC_ALL=C.UTF-8 ninja test
+ - .gitlab-ci/meson-build.sh
.scons-build:
extends: .build
# clang++ breaks if it picks up the GCC 8 directory without libstdc++.so
- apt-get remove -y libgcc-8-dev
-meson-vulkan:
- extends: .meson-build
+scons-swr:
+ extends: .scons-build
variables:
- UNWIND: "false"
- DRI_LOADERS: >
- -D glx=disabled
- -D gbm=false
- -D egl=false
- -D platforms=x11,wayland,drm
- -D osmesa=none
- GALLIUM_ST: >
- -D dri3=true
- -D gallium-vdpau=false
- -D gallium-xvmc=false
- -D gallium-omx=disabled
- -D gallium-va=false
- -D gallium-xa=false
- -D gallium-nine=false
- -D gallium-opencl=disabled
- VULKAN_DRIVERS: intel,amd,freedreno
- LLVM_VERSION: "7"
+ SCONS_TARGET: "swr=1"
+ SCONS_CHECK_COMMAND: "true"
+ LLVM_VERSION: "6.0"
+
+scons-win64:
+ extends: .scons-build
+ variables:
+ SCONS_TARGET: platform=windows machine=x86_64
+ SCONS_CHECK_COMMAND: "true"
meson-main:
extends: .meson-build
DRI_DRIVERS: "i915,i965,r100,r200,swrast,nouveau"
GALLIUM_ST: >
-D dri3=true
+ -D tools=drm-shim
-D gallium-extra-hud=true
-D gallium-vdpau=true
-D gallium-xvmc=true
-D gallium-opencl=disabled
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,svga,v3d,vc4,virgl,etnaviv,panfrost,lima"
LLVM_VERSION: "7"
+ EXTRA_OPTION: >
+ -D tools=all
+ MESON_SHADERDB: "true"
-meson-clover-llvm:
+meson-clover:
extends: .meson-build
variables:
UNWIND: "true"
-D gallium-xa=false
-D gallium-nine=false
-D gallium-opencl=icd
- GALLIUM_DRIVERS: "r600,radeonsi"
+ script:
+ - export GALLIUM_DRIVERS="r600,radeonsi"
+ - .gitlab-ci/meson-build.sh
+ - LLVM_VERSION=7 .gitlab-ci/meson-build.sh
+ - export GALLIUM_DRIVERS="i915,r600"
+ - LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
+ - LLVM_VERSION=4.0 .gitlab-ci/meson-build.sh
+ - LLVM_VERSION=5.0 .gitlab-ci/meson-build.sh
+ - LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
+
+meson-vulkan:
+ extends: .meson-build
+ variables:
+ UNWIND: "false"
+ DRI_LOADERS: >
+ -D glx=disabled
+ -D gbm=false
+ -D egl=false
+ -D platforms=x11,wayland,drm
+ -D osmesa=none
+ GALLIUM_ST: >
+ -D dri3=true
+ -D gallium-vdpau=false
+ -D gallium-xvmc=false
+ -D gallium-omx=disabled
+ -D gallium-va=false
+ -D gallium-xa=false
+ -D gallium-nine=false
+ -D gallium-opencl=disabled
+ VULKAN_DRIVERS: intel,amd,freedreno
+ LLVM_VERSION: "7"
+ EXTRA_OPTION: >
+ -D vulkan-overlay-layer=true
-meson-clover-llvm39:
- extends: meson-clover-llvm
+.meson-cross:
+ extends: .meson-build
variables:
- GALLIUM_DRIVERS: "i915,r600"
- LLVM_VERSION: "3.9"
+ UNWIND: "false"
+ DRI_LOADERS: >
+ -D glx=disabled
+ -D gbm=false
+ -D egl=false
+ -D platforms=surfaceless
+ -D osmesa=none
+ GALLIUM_ST: >
+ -D dri3=false
+ -D gallium-vdpau=false
+ -D gallium-xvmc=false
+ -D gallium-omx=disabled
+ -D gallium-va=false
+ -D gallium-xa=false
+ -D gallium-nine=false
+ -D llvm=false
+ CROSS: >
+ --cross /tmp/cross_file.txt
+
+ script:
+ - /usr/share/meson/debcrossgen --arch ${ARCH} -o /tmp/cross_file.txt
+ # Work around a bug in debcrossgen that should be fixed in the next release
+ - sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" /tmp/cross_file.txt
+ - .gitlab-ci/meson-build.sh
+
+meson-armhf:
+ extends: .meson-cross
+ variables:
+ ARCH: armhf
+ VULKAN_DRIVERS: freedreno
+ GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,tegra,v3d,vc4"
+ # Disable the tests since we're cross compiling.
+ EXTRA_OPTION: >
+ -D build-tests=false
+ -D I-love-half-baked-turnips=true
+ -D vulkan-overlay-layer=true
+
+meson-arm64:
+ extends: .meson-cross
+ variables:
+ ARCH: arm64
+ VULKAN_DRIVERS: freedreno
+ GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,tegra,v3d,vc4"
+ # Disable the tests since we're cross compiling.
+ EXTRA_OPTION: >
+ -D build-tests=false
+ -D I-love-half-baked-turnips=true
+ -D vulkan-overlay-layer=true
+
+meson-i386:
+ extends: .meson-cross
+ variables:
+ ARCH: i386
+ VULKAN_DRIVERS: intel
+ GALLIUM_DRIVERS: "swrast"
+ # Disable i386 tests, because u_format_tests gets precision
+ # failures in dxtn unpacking
+ EXTRA_OPTION: >
+ -D build-tests=false
+ -D vulkan-overlay-layer=true
scons-nollvm:
extends: .scons-build
LLVM_VERSION: "3.4"
# LLVM 3.4 packages were built with an old libstdc++ ABI
CXX: "g++ -D_GLIBCXX_USE_CXX11_ABI=0"
-
-scons-swr:
- extends: .scons-build
- variables:
- SCONS_TARGET: "swr=1"
- SCONS_CHECK_COMMAND: "true"
- LLVM_VERSION: "6.0"
-
-scons-win64:
- extends: .scons-build
- variables:
- SCONS_TARGET: platform=windows machine=x86_64
- SCONS_CHECK_COMMAND: "true"