[Mesa-dev] [PATCH 18/18] travis: meson: port gallium build combinations over
Dylan Baker
dylan at pnwbakers.com
Mon Dec 17 19:37:05 UTC 2018
Quoting Emil Velikov (2018-12-17 11:03:32)
> On Fri, 14 Dec 2018 at 17:53, Dylan Baker <dylan at pnwbakers.com> wrote:
> >
> > Quoting Emil Velikov (2018-12-13 08:06:07)
> > > From: Emil Velikov <emil.velikov at collabora.com>
> > >
> > > This commit adds a number of build combos:
> > >
> > > - Gallium Drivers {SWR, RadeonSI, Others)
> > > Each one has different LLVM requirements. Building SWR alone is twice
> > > as slow as all other drivers combined.
> > >
> > > - Gallium ST Clover LLVM {5,6,7}
> > > Because C++ API changes all the time. Analogous to above building
> > > Clover takes as much time as building all other ST combined.
> > >
> > > - Gallium ST Others
> > > Nouveau is used, instead of i915g since meson has explicit target
> > > tracking. Meaning that a configure error is throws if we use i915g
> > > with say va, vdpau or others.
> > >
> > > Note: LLVM prior to 5.0 is intentionally dropped. If needed we can add
> > > that later.
> > >
> > > Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> > > ---
> > > .travis.yml | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> > > 1 file changed, 187 insertions(+)
> > >
> > > diff --git a/.travis.yml b/.travis.yml
> > > index 125d6ce3c68..b70df99d67e 100644
> > > --- a/.travis.yml
> > > +++ b/.travis.yml
> > > @@ -98,6 +98,193 @@ matrix:
> > > - libxfixes-dev
> > > - python3-pip
> > > - python3-setuptools
> > > + - env:
> > > + # NOTE: Building SWR is 2x (yes two) times slower than all the other
> > > + # gallium drivers combined.
> > > + # Start this early so that it doesn't hunder the run time.
> > > + - LABEL="meson Gallium Drivers SWR"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled"
> > > + - GALLIUM_DRIVERS="swr"
> > > + - LLVM_VERSION=6.0
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + packages:
> > > + - llvm-6.0-dev
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3.5
> > > + - python3-pip
> > > + - python3-setuptools
> > > + - env:
> > > + - LABEL="meson Gallium Drivers RadeonSI"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled"
> > > + - GALLIUM_DRIVERS="radeonsi"
> > > + - LLVM_VERSION=7
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + sources:
> > > + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
> > > + key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
> > > + packages:
> > > + # From sources above
> > > + - llvm-7-dev
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3.5
> > > + - python3-pip
> > > + - python3-setuptools
> > > + - env:
> > > + - LABEL="meson Gallium Drivers Other"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled"
> > > + - GALLIUM_DRIVERS="i915,nouveau,pl111,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv,imx"
> > > + - LLVM_VERSION=5.0
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + packages:
> > > + # LLVM packaging is broken and misses these dependencies
> > > + - libedit-dev
> > > + - llvm-5.0-dev
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3.5
> > > + - python3-pip
> > > + - python3-setuptools
> > > + - env:
> > > + - LABEL="meson Gallium ST Clover LLVM-5.0"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=icd"
> > > + - GALLIUM_DRIVERS="r600"
> > > + - LLVM_VERSION=5.0
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + packages:
> > > + - libclc-dev
> > > + # LLVM packaging is broken and misses these dependencies
> > > + - libedit-dev
> > > + - llvm-5.0-dev
> > > + - clang-5.0
> > > + - libclang-5.0-dev
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3-pip
> > > + - python3-setuptools
> > > + - env:
> > > + - LABEL="meson Gallium ST Clover LLVM-6.0"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=icd"
> > > + - GALLIUM_DRIVERS="r600"
> > > + - LLVM_VERSION=6.0
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + packages:
> > > + - libclc-dev
> > > + - llvm-6.0-dev
> > > + - clang-6.0
> > > + - libclang-6.0-dev
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3.5
> > > + - python3-pip
> > > + - python3-setuptools
> > > + - env:
> > > + - LABEL="meson Gallium ST Clover LLVM-7"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=icd"
> > > + - GALLIUM_DRIVERS="r600,radeonsi"
> > > + - LLVM_VERSION=7
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + sources:
> > > + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
> > > + key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
> > > + packages:
> > > + - libclc-dev
> > > + # From sources above
> > > + - llvm-7-dev
> > > + - clang-7
> > > + - libclang-7-dev
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3.5
> > > + - python3-pip
> > > + - python3-setuptools
> > > + - env:
> > > + - LABEL="meson Gallium ST Other"
> > > + - BUILD=meson
> > > + - UNWIND="true"
> > > + - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
> > > + - GALLIUM_ST="-Ddri3=true -Dgallium-vdpau=true -Dgallium-xvmc=true -Dgallium-omx=bellagio -Dgallium-va=true -Dgallium-xa=true -Dgallium-nine=true -Dgallium-opencl=disabled -Dosmesa=gallium"
> > > + # We need swrast for osmesa and nine.
> > > + # Nouveau supports, or builds at least against all ST.
> > > + - GALLIUM_DRIVERS="nouveau,swrast"
> > > + - LLVM_VERSION=5.0
> > > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > > + addons:
> > > + apt:
> > > + packages:
> > > + - llvm-5.0-dev
> > > + # LLVM packaging is broken and misses these dependencies
> > > + - libedit-dev
> > > + # 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
> > > + # Common
> > > + - xz-utils
> > > + - libexpat1-dev
> > > + - libx11-xcb-dev
> > > + - libelf-dev
> > > + - libunwind8-dev
> > > + - python3.5
> > > + - python3-pip
> > > + - python3-setuptools
> > > - env:
> > > # NOTE: Building SWR is 2x (yes two) times slower than all the other
> > > # gallium drivers combined.
> > > --
> > > 2.19.2
> >
> > for the last three patches:
> > Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
> >
> Smashing, tyvm.
>
> > I was thinking about SWR. Since it's so slow it might make sense to make the SWR
> > builds the first builds so we can run the rest of the builds concurrently with
> > it. Just a thought
> >
> Eric did explicitly push vulkan/classic at the top for quicker feedback.
> If you can agree on which one - personally either way looks fine.
>
> -Emil
It's just a thought that since SWR takes ~25 minutes in travis, and travis runs 4
builds concurrently we could probably build all the other builds in ~the same
time as the two SWR builds. But quicker feedback of "this is borked" seems
useful too.
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181217/4a220f21/attachment.sig>
More information about the mesa-dev
mailing list