Mesa (master): gitlab-ci: Build radeonsi & RADV in the ppc64el job

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 5 11:15:21 UTC 2020


Module: Mesa
Branch: master
Commit: 8be81f8a2a9f3f838cc550aeddf79657608e1008
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8be81f8a2a9f3f838cc550aeddf79657608e1008

Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Fri Jan 31 16:07:10 2020 +0100

gitlab-ci: Build radeonsi & RADV in the ppc64el job

This requires cross-building libdrm for ppc64el.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643>

---

 .gitlab-ci.yml                    |  3 ++-
 .gitlab-ci/container/x86_build.sh | 39 ++++++++++++++++++++++-----------------
 2 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a194d6c0838..508ae0df36a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -483,8 +483,9 @@ meson-ppc64el:
     - meson-s390x
   variables:
     CROSS: ppc64el
-    GALLIUM_DRIVERS: "nouveau,swrast,virgl"
+    GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl"
     LLVM_VERSION: "8"
+    VULKAN_DRIVERS: "amd"
 
 meson-mingw32-x86_64:
   extends: .meson-build
diff --git a/.gitlab-ci/container/x86_build.sh b/.gitlab-ci/container/x86_build.sh
index 141c198eac8..7fcb32ef328 100644
--- a/.gitlab-ci/container/x86_build.sh
+++ b/.gitlab-ci/container/x86_build.sh
@@ -64,6 +64,7 @@ apt-get install -y --no-remove \
       libva-dev \
       libvdpau-dev \
       libvulkan-dev \
+      libvulkan-dev:ppc64el \
       libx11-dev \
       libx11-xcb-dev \
       libxdamage-dev \
@@ -139,6 +140,23 @@ PKG_CONFIG_LIBDIR=/usr/x86_64-w64-mingw32/lib/pkgconfig pkg-config \$@
 EOF
 chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config
 
+
+# Generate cross build files for Meson
+for arch in $CROSS_ARCHITECTURES; do
+  cross_file="/cross_file-$arch.txt"
+  /usr/share/meson/debcrossgen --arch "$arch" -o "$cross_file"
+  # Explicitly set ccache path for cross compilers
+  sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|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"
+  fi
+
+  # Rely on qemu-user being configured in binfmt_misc on the host
+  sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
+done
+
+
 # for the vulkan overlay layer
 wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip
 unzip glslang-master-linux-Release.zip bin/glslangValidator
@@ -175,7 +193,10 @@ rm -rf $LIBXCB_VERSION
 
 wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
 tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2
-cd $LIBDRM_VERSION; meson build -D vc4=true -D freedreno=true -D etnaviv=true; ninja -j4 -C build install; cd ..
+cd $LIBDRM_VERSION
+meson build -D vc4=true -D freedreno=true -D etnaviv=true -D libdir=lib/x86_64-linux-gnu; ninja -j4 -C build install
+rm -rf build; meson --cross-file=/cross_file-ppc64el.txt build -D libdir=lib/powerpc64le-linux-gnu; ninja -j4 -C build install
+cd ..
 rm -rf $LIBDRM_VERSION
 
 wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
@@ -207,22 +228,6 @@ make -j4
 popd
 
 
-# Generate cross build files for Meson
-for arch in $CROSS_ARCHITECTURES; do
-  cross_file="/cross_file-$arch.txt"
-  /usr/share/meson/debcrossgen --arch "$arch" -o "$cross_file"
-  # Explicitly set ccache path for cross compilers
-  sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|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"
-  fi
-
-  # Rely on qemu-user being configured in binfmt_misc on the host
-  sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
-done
-
-
 # Remove ccache directory, useless for the build jobs
 rm -rf $(ccache --get-config=cache_dir)
 



More information about the mesa-commit mailing list