mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-30 02:51:24 +00:00
gitlab-ci: Build i386 and ARM drivers in surfaceless mode.
I don't particularly care about getting x86/ARM cross-build coverage of all the window systems, but we do want to be building src/mesa/ (for x86 asm) and gallium drivers (for vc4 NEON asm). I'm also hoping to use these build products for testing freedreno on actual HW (which we do using surfaceless). This increases the docker image from 1.4G to 1.5G. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Acked-by: Eric Engestrom <eric@engestrom.ch>
This commit is contained in:
parent
ce81c9a2e1
commit
11aa32a447
@ -14,7 +14,7 @@
|
||||
# repository's registry will be used there as well.
|
||||
variables:
|
||||
UPSTREAM_REPO: mesa/mesa
|
||||
DEBIAN_TAG: "2019-07-04"
|
||||
DEBIAN_TAG: "2019-07-11"
|
||||
DEBIAN_VERSION: stretch-slim
|
||||
DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
|
||||
|
||||
@ -227,6 +227,71 @@ meson-vulkan:
|
||||
EXTRA_OPTION: >
|
||||
-D vulkan-overlay-layer=true
|
||||
|
||||
.meson-cross:
|
||||
extends: .meson-build
|
||||
variables:
|
||||
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: >
|
||||
--libdir lib
|
||||
--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
|
||||
variables:
|
||||
|
@ -5,6 +5,11 @@ set -o xtrace
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
CROSS_ARCHITECTURES="armhf arm64 i386"
|
||||
for arch in $CROSS_ARCHITECTURES; do
|
||||
dpkg --add-architecture $arch
|
||||
done
|
||||
|
||||
apt-get install -y \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
@ -75,6 +80,22 @@ apt-get install -y \
|
||||
gettext \
|
||||
make
|
||||
|
||||
# Cross-build Mesa deps
|
||||
for arch in $CROSS_ARCHITECTURES; do
|
||||
apt-get install -y \
|
||||
libdrm-dev:${arch} \
|
||||
libexpat1-dev:${arch} \
|
||||
libelf-dev:${arch}
|
||||
done
|
||||
apt-get install -y \
|
||||
dpkg-dev \
|
||||
gcc-aarch64-linux-gnu \
|
||||
g++-aarch64-linux-gnu \
|
||||
gcc-arm-linux-gnueabihf \
|
||||
g++-arm-linux-gnueabihf \
|
||||
gcc-i686-linux-gnu \
|
||||
g++-i686-linux-gnu
|
||||
|
||||
# for 64bit windows cross-builds
|
||||
apt-get install -y mingw-w64
|
||||
|
||||
@ -185,7 +206,6 @@ apt-get install -y libxml2-utils
|
||||
apt-get purge -y \
|
||||
automake \
|
||||
libtool \
|
||||
make \
|
||||
curl \
|
||||
unzip \
|
||||
wget \
|
||||
|
@ -16,6 +16,7 @@ fi
|
||||
|
||||
rm -rf _build
|
||||
meson _build --native-file=native.file \
|
||||
${CROSS} \
|
||||
-D buildtype=debug \
|
||||
-D build-tests=true \
|
||||
-D libunwind=${UNWIND} \
|
||||
|
Loading…
Reference in New Issue
Block a user