On Thu, 2017-04-27 at 19:38 +0100, Emil Velikov wrote: > From: Emil Velikov <[email protected]> > > Split the target to allow faster builds for each run. > > The overall build time will be more, yet Travis runs multiple builds in > parallel so we're limited by the slowest one. > > Things are split roughly as: > - DRI loaders, classic DRI drivers, classic OSMesa, make check > - All Gallium drivers (minus the SWR) alongside st/dri (mesa) > - The Vulkan drivers - ANV and RADV, make check (anv)
I think it would be better to split ANV and RADV on different builds too. > v2: > - rework RUN_CHECK to MAKE_CHECK_COMMAND > - explicitly disable DRI loaders > - generate linux/memfd.h locally and enable ANV > - add libedit-dev > > Signed-off-by: Emil Velikov <[email protected]> > --- > .travis.yml | 95 > ++++++++++++++++++++++++++++++++++++++++++++++++++----------- > 1 file changed, 79 insertions(+), 16 deletions(-) > > diff --git a/.travis.yml b/.travis.yml > index a4be936656e..57c4a431534 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -26,28 +26,21 @@ env: > matrix: > include: > - env: > - - LABEL="make" > + - LABEL="make loaders/classic DRI" > - BUILD=make > - MAKEFLAGS=-j2 > - - LLVM_VERSION=3.9 > - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" > + - MAKE_CHECK_COMMAND="make check" > + # 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_DRIVERS="i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl,etnaviv,imx" > - - VULKAN_DRIVERS="radeon" > + - GALLIUM_DRIVERS="" > + - VULKAN_DRIVERS="" > addons: > apt: > - 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 > - x11proto-xf86vidmode-dev > - libexpat1-dev > - libx11-xcb-dev > - - libelf-dev > - env: > # NOTE: Building SWR is 2x (yes two) times slower than all the other > # gallium drivers combined. > @@ -55,10 +48,12 @@ matrix: > - LABEL="make Gallium Drivers SWR" > - BUILD=make > - MAKEFLAGS=-j2 > + - MAKE_CHECK_COMMAND="true" > - LLVM_VERSION=3.9 > - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" > - OVERRIDE_CC="gcc-5" > - OVERRIDE_CXX="g++-5" > + - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" > - DRI_DRIVERS="" > - GALLIUM_DRIVERS="swr" > - VULKAN_DRIVERS="" > @@ -68,6 +63,8 @@ matrix: > - ubuntu-toolchain-r-test > - llvm-toolchain-trusty-3.9 > packages: > + # LLVM packaging is broken and misses these dependencies > + - libedit-dev > # From sources above > - g++-5 > - llvm-3.9-dev > @@ -77,6 +74,57 @@ matrix: > - libx11-xcb-dev > - libelf-dev > - env: > + - LABEL="make Gallium Drivers Other" > + - BUILD=make > + - MAKEFLAGS=-j2 > + - MAKE_CHECK_COMMAND="true" > + - LLVM_VERSION=3.9 > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" > + - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" > + - DRI_DRIVERS="" > + - > GALLIUM_DRIVERS="i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl,etnaviv,imx" > + - VULKAN_DRIVERS="" > + addons: > + apt: > + sources: > + - llvm-toolchain-trusty-3.9 > + packages: > + # From sources above > + - llvm-3.9-dev > + # Common > + - x11proto-xf86vidmode-dev > + - libexpat1-dev > + - libx11-xcb-dev > + - libelf-dev > + - env: > + - LABEL="make Vulkan" > + - BUILD=make > + - MAKEFLAGS=-j2 > + - MAKE_CHECK_COMMAND="make -C src/gtest check && make -C src/intel > check" > + - LLVM_VERSION=3.9 > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" > + # XXX: we want to test the WSI, but those are enabled via the EGL > toggles > + # XXX: Add wayland platform > + # XXX: Platform X11 dependencies are checked when --enable-glx is set > + - DRI_LOADERS="--enable-glx --disable-gbm --enable-egl > --with-platforms=x11" > + - DRI_DRIVERS="" > + - GALLIUM_DRIVERS="" > + - VULKAN_DRIVERS="intel,radeon" > + addons: > + apt: > + 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 > + - x11proto-xf86vidmode-dev > + - libexpat1-dev > + - libx11-xcb-dev > + - libelf-dev > + - env: > - LABEL="scons" > - BUILD=scons > - SCONSFLAGS="-j4" > @@ -207,18 +255,33 @@ install: > (cd $LIBTXC_DXTN_VERSION && ./configure --prefix=$HOME/prefix && make > install); > fi > > + # 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 This is a bit ugly on the travis log output. What about replacing it with something like?: - 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 -- Br, Andres _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
