[Mesa-dev] [PATCH 14/16] travis: add Gallium state-tracker targets

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 28 18:25:10 UTC 2017


From: Emil Velikov <emil.velikov at collabora.com>

Split into OpenCL and others, since the former is quite time consuming.

v2:
 - explicitly enable/disable components
 - build libvdpau 1.1 requirement
 - enable st/vdpau
 - build libva 1.6.2 (API 0.38) requirement

v3: Drop ubuntu-toolchain-r-test from sources (Andres)

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Andres Gomez <agomez at igalia.com>
---
 .travis.yml | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 93 insertions(+), 10 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index ec76cf7c9cb..563d9e25379 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,6 +20,8 @@ env:
     - LIBXCB_VERSION=libxcb-1.11
     - LIBXSHMFENCE_VERSION=libxshmfence-1.2
     - LIBTXC_DXTN_VERSION=libtxc_dxtn-1.0.1
+    - LIBVDPAU_VERSION=libvdpau-1.1
+    - LIBVA_VERSION=libva-1.6.2
     - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig
     - LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
 
@@ -33,6 +35,7 @@ matrix:
         # XXX: Add wayland platform
         - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless --enable-osmesa"
         - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx --disable-gallium-osmesa"
         - GALLIUM_DRIVERS=""
         - VULKAN_DRIVERS=""
       addons:
@@ -55,6 +58,7 @@ matrix:
         - OVERRIDE_CXX="g++-5"
         - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
         - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx --disable-gallium-osmesa"
         - GALLIUM_DRIVERS="swr"
         - VULKAN_DRIVERS=""
       addons:
@@ -82,6 +86,7 @@ matrix:
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
         - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx --disable-gallium-osmesa"
         - GALLIUM_DRIVERS="i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl,etnaviv,imx"
         - VULKAN_DRIVERS=""
       addons:
@@ -89,6 +94,8 @@ matrix:
           sources:
             - llvm-toolchain-trusty-3.9
           packages:
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
             # From sources above
             - llvm-3.9-dev
             # Common
@@ -97,6 +104,70 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
     - env:
+        # NOTE: Analogous to SWR above, building Clover is quite slow.
+        - LABEL="make Gallium ST Clover"
+        - BUILD=make
+        - MAKEFLAGS=-j2
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=3.6
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - OVERRIDE_CC=gcc-4.7
+        - OVERRIDE_CXX=g++-4.7
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx --disable-gallium-osmesa"
+        # i915 most likely doesn't work with OpenCL.
+        # Regardless - we're doing a quick build test here.
+        - GALLIUM_DRIVERS="i915"
+        - VULKAN_DRIVERS=""
+      addons:
+        apt:
+          sources:
+            - llvm-toolchain-trusty-3.6
+          packages:
+            - libclc-dev
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            - g++-4.7
+            # From sources above
+            - llvm-3.6-dev
+            - clang-3.6
+            - libclang-3.6-dev
+            # Common
+            - x11proto-xf86vidmode-dev
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+    - env:
+        - LABEL="make Gallium ST Other"
+        - BUILD=make
+        - MAKEFLAGS=-j2
+        - MAKE_CHECK_COMMAND="true"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --enable-xa --enable-nine --enable-xvmc --enable-vdpau --enable-va --enable-omx --enable-gallium-osmesa"
+        # We need swrast for osmesa and nine.
+        # i915 most likely doesn't work with most ST.
+        # Regardless - we're doing a quick build test here.
+        - GALLIUM_DRIVERS="i915,swrast"
+        - VULKAN_DRIVERS=""
+      addons:
+        apt:
+          packages:
+            # Nine requires gcc 4.6... which is the one we have right ?
+            - libxvmc-dev
+            # Build locally, for now.
+            #- libvdpau-dev
+            #- libva-dev
+            - libomxil-bellagio-dev
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            # Common
+            - x11proto-xf86vidmode-dev
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+    - env:
         - LABEL="make Vulkan"
         - BUILD=make
         - MAKEFLAGS=-j2
@@ -108,6 +179,8 @@ matrix:
         # XXX: Platform X11 dependencies are checked when --enable-glx is set
         - DRI_LOADERS="--enable-glx --disable-gbm --enable-egl --with-platforms=x11"
         - DRI_DRIVERS=""
+        # XXX: enable DRI for EGL above
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx --disable-gallium-osmesa"
         - GALLIUM_DRIVERS=""
         - VULKAN_DRIVERS="intel,radeon"
       addons:
@@ -252,18 +325,27 @@ install:
       (cd $LIBTXC_DXTN_VERSION && ./configure --prefix=$HOME/prefix && make install);
     fi
 
+  - wget http://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
+  - tar -jxvf $LIBVDPAU_VERSION.tar.bz2
+  - (cd $LIBVDPAU_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+  - wget http://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
+  - tar -jxvf $LIBVA_VERSION.tar.bz2
+  - (cd $LIBVA_VERSION && ./configure --prefix=$HOME/prefix --disable-wayland --disable-dummy-driver && make install)
+
   # Generate the header since one is missing on the Travis instance
   - mkdir -p linux
-  - echo "#ifndef _LINUX_MEMFD_H"                         > linux/memfd.h
-  - echo "#define _LINUX_MEMFD_H"                         >> linux/memfd.h
-  - echo ""                                               >> linux/memfd.h
-  - echo "#define __NR_memfd_create 319"                  >> linux/memfd.h
-  - echo "#define SYS_memfd_create __NR_memfd_create"     >> linux/memfd.h
-  - echo ""                                               >> linux/memfd.h
-  - echo "#define MFD_CLOEXEC             0x0001U"        >> linux/memfd.h
-  - echo "#define MFD_ALLOW_SEALING       0x0002U"        >> linux/memfd.h
-  - echo ""                                               >> linux/memfd.h
-  - echo "#endif /* _LINUX_MEMFD_H */"                    >> linux/memfd.h
+  - printf "%s\n" \
+           "#ifndef _LINUX_MEMFD_H" \
+           "#define _LINUX_MEMFD_H" \
+           "" \
+           "#define __NR_memfd_create 319" \
+           "#define SYS_memfd_create __NR_memfd_create" \
+           "" \
+           "#define MFD_CLOEXEC             0x0001U" \
+           "#define MFD_ALLOW_SEALING       0x0002U" \
+           "" \
+           "#endif /* _LINUX_MEMFD_H */" > linux/memfd.h
 
 script:
   - if test "x$BUILD" = xmake; then
@@ -274,6 +356,7 @@ script:
       ./autogen.sh --enable-debug
         $DRI_LOADERS
         --with-dri-drivers=$DRI_DRIVERS
+        $GALLIUM_ST
         --with-gallium-drivers=$GALLIUM_DRIVERS
         --with-vulkan-drivers=$VULKAN_DRIVERS
         --disable-llvm-shared-libs
-- 
2.12.2



More information about the mesa-dev mailing list