[Mesa-dev] [PATCH 18/18] travis: meson: port gallium build combinations over

Dylan Baker dylan at pnwbakers.com
Fri Dec 14 17:52:49 UTC 2018


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>

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

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/20181214/ce9c8b13/attachment-0001.sig>


More information about the mesa-dev mailing list