Using LLVM 8 for ppc64el and 7 for s390x (which hits some coroutine
related issues with LLVM 8).
There are some test failures we need to ignore for now. Also, the
timeout needs to be bumped from the default 30s for some tests, because
they can take longer under emulation.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643>
- .debian@container-ifnot-exists
- .container
variables:
- .debian@container-ifnot-exists
- .container
variables:
- DEBIAN_TAG: &x86_build "2020-01-14"
+ DEBIAN_TAG: &x86_build "2020-02-05"
.use-x86_build:
variables:
.use-x86_build:
variables:
-D gallium-va=false
-D gallium-xa=false
-D gallium-nine=false
-D gallium-va=false
-D gallium-xa=false
-D gallium-nine=false
- .meson-arm
- .ci-deqp-artifacts
variables:
- .meson-arm
- .ci-deqp-artifacts
variables:
VULKAN_DRIVERS: "freedreno,amd"
script:
- .gitlab-ci/meson-build.sh
VULKAN_DRIVERS: "freedreno,amd"
script:
- .gitlab-ci/meson-build.sh
-D osmesa=classic
-D werror=true
-D osmesa=classic
-D werror=true
+meson-s390x:
+ extends:
+ - .meson-cross
+ variables:
+ CROSS: s390x
+ GALLIUM_DRIVERS: "swrast"
+ LLVM_VERSION: "7"
+ script:
+ - dpkg -i /var/cache/apt/archives/$CROSS/*.deb
+ - .gitlab-ci/meson-build.sh
+
+meson-ppc64el:
+ extends:
+ - meson-s390x
+ variables:
+ CROSS: ppc64el
+ GALLIUM_DRIVERS: "nouveau,swrast,virgl"
+ LLVM_VERSION: "8"
+
meson-mingw32-x86_64:
extends: .meson-build
variables:
meson-mingw32-x86_64:
extends: .meson-build
variables:
export DEBIAN_FRONTEND=noninteractive
export DEBIAN_FRONTEND=noninteractive
-CROSS_ARCHITECTURES="i386"
+CROSS_ARCHITECTURES="i386 ppc64el s390x"
for arch in $CROSS_ARCHITECTURES; do
dpkg --add-architecture $arch
done
for arch in $CROSS_ARCHITECTURES; do
dpkg --add-architecture $arch
done
libxvmc-dev \
libxxf86vm-dev \
llvm-6.0-dev \
libxvmc-dev \
libxxf86vm-dev \
llvm-6.0-dev \
- llvm-7-dev \
- llvm-8-dev \
llvm-9-dev \
meson \
pkg-config \
python-mako \
python3-mako \
llvm-9-dev \
meson \
pkg-config \
python-mako \
python3-mako \
scons \
x11proto-dri2-dev \
x11proto-gl-dev \
scons \
x11proto-dri2-dev \
x11proto-gl-dev \
libdrm-dev:${arch} \
libelf-dev:${arch} \
libexpat1-dev:${arch}
libdrm-dev:${arch} \
libelf-dev:${arch} \
libexpat1-dev:${arch}
+
+ if [ "$arch" = "s390x" ]; then
+ LLVM_VERSION=7
+ else
+ LLVM_VERSION=8
+ fi
+
+ if [ "$arch" != "i386" ]; then
+ mkdir /var/cache/apt/archives/${arch}
+ apt-get install -y --no-remove \
+ libffi-dev:${arch} \
+ libllvm${LLVM_VERSION}:${arch} \
+ libstdc++6:${arch} \
+ libtinfo-dev:${arch} \
+
+ # Download llvm-* packages, but don't install them yet, since they can
+ # only be installed for one architecture at a time
+ apt-get install -o Dir::Cache::archives=/var/cache/apt/archives/$arch --download-only -y --no-remove \
+ llvm-${LLVM_VERSION}-dev:${arch}
+ fi
+apt-get install -y --no-remove \
+ llvm-7-dev \
+ llvm-8-dev \
+
# for 64bit windows cross-builds
apt-get install -y --no-remove \
libz-mingw-w64-dev \
# for 64bit windows cross-builds
apt-get install -y --no-remove \
libz-mingw-w64-dev \
if [ "$arch" = "i386" ]; then
# Work around a bug in debcrossgen that should be fixed in the next release
sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file"
if [ "$arch" = "i386" ]; then
# Work around a bug in debcrossgen that should be fixed in the next release
sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file"
- # Don't need wrapper for i386 executables
- sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
+
+ # Rely on qemu-user being configured in binfmt_misc on the host
+ sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
--- /dev/null
+lp_test_arit
+roundeven
+u_format_test
+u_half_test
\ No newline at end of file
--- /dev/null
+load_store_vectorizer
+lp_test_arit
+lp_test_format
+lp_test_printf
+u_format_test
'--@0@'.format(m),
],
suite : ['compiler', 'glcpp'],
'--@0@'.format(m),
],
suite : ['compiler', 'glcpp'],
),
],
suite : ['compiler', 'glsl'],
),
],
suite : ['compiler', 'glsl'],
dependencies : [dep_thread, idep_gtest, idep_nir, idep_mesautil],
),
suite : ['compiler', 'nir'],
dependencies : [dep_thread, idep_gtest, idep_nir, idep_mesautil],
),
suite : ['compiler', 'nir'],
+ should_fail : meson.get_cross_property('xfail', '').contains('load_store_vectorizer'),
link_with : [libllvmpipe, libgallium],
),
suite : ['llvmpipe'],
link_with : [libllvmpipe, libgallium],
),
suite : ['llvmpipe'],
+ should_fail : meson.get_cross_property('xfail', '').contains(t),
+ timeout: 120,
dependencies : [dep_m],
),
suite : ['util'],
dependencies : [dep_m],
),
suite : ['util'],
+ should_fail : meson.get_cross_property('xfail', '').contains('roundeven'),
)
# FIXME: this test crashes on windows
)
# FIXME: this test crashes on windows
include_directories : inc_common,
),
suite : ['util'],
include_directories : inc_common,
),
suite : ['util'],
include_directories : inc_common,
),
suite : ['util'],
include_directories : inc_common,
),
suite : ['util'],