On Thursday, 2018-06-21 11:42:29 +0200, Juan A. Suarez Romero wrote: > On Tue, 2018-06-19 at 11:53 +0200, Juan A. Suarez Romero wrote: > > On Mon, 2018-06-18 at 16:29 +0100, Eric Engestrom wrote: > > > On Monday, 2018-06-18 16:23:41 +0200, Juan A. Suarez Romero wrote: > > > > RADV now requires LLVM 5.0 or greater, and thus we can't build dist > > > > tarball because swr requires LLVM 4.0. > > > > > > > > Let's bump required LLVM to 5.0 in swr too. > > > > > > > > Fixes: f9eb1ef870 ("amd: remove support for LLVM 4.0") > > > > Cc: George Kyriazis <george.kyria...@intel.com> > > > > Cc: Tim Rowley <timothy.o.row...@intel.com> > > > > Cc: Emil Velikov <emil.veli...@collabora.com> > > > > Cc: Dylan Baker <dy...@pnwbakers.com> > > > > Cc: Eric Engestrom <eric.engest...@imgtec.com> > > > > > > s/imgtec/intel/ :) > > > (I moved) > > > > > > > Fixed :) > > > > > > --- > > > > .travis.yml | 12 ++++++------ > > > > configure.ac | 7 ++++--- > > > > meson.build | 4 +--- > > > > src/gallium/drivers/swr/Makefile.am | 6 +++--- > > > > src/gallium/drivers/swr/SConscript | 4 ++-- > > > > 5 files changed, 16 insertions(+), 17 deletions(-) > > > > > > > > diff --git a/.travis.yml b/.travis.yml > > > > index b1fc7de9587..c9a30fa0ef5 100644 > > > > --- a/.travis.yml > > > > +++ b/.travis.yml > > > > @@ -92,7 +92,7 @@ matrix: > > > > - BUILD=make > > > > - MAKEFLAGS="-j4" > > > > - MAKE_CHECK_COMMAND="true" > > > > - - LLVM_VERSION=4.0 > > > > + - LLVM_VERSION=5.0 > > > > - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" > > > > - OVERRIDE_CC="gcc-4.8" > > > > - OVERRIDE_CXX="g++-4.8" > > > > @@ -105,12 +105,12 @@ matrix: > > > > addons: > > > > apt: > > > > sources: > > > > - - llvm-toolchain-trusty-4.0 > > > > + - llvm-toolchain-trusty-5.0 > > > > packages: > > > > # LLVM packaging is broken and misses these dependencies > > > > - libedit-dev > > > > # From sources above > > > > - - llvm-4.0-dev > > > > + - llvm-5.0-dev > > > > # Common > > > > - xz-utils > > > > - x11proto-xf86vidmode-dev > > > > @@ -432,7 +432,7 @@ matrix: > > > > - BUILD=scons > > > > - SCONSFLAGS="-j4" > > > > - SCONS_TARGET="swr=1" > > > > - - LLVM_VERSION=4.0 > > > > + - LLVM_VERSION=5.0 > > > > - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" > > > > # Keep it symmetrical to the make build. There's no actual > > > > SWR, yet. > > > > - SCONS_CHECK_COMMAND="true" > > > > @@ -441,13 +441,13 @@ matrix: > > > > addons: > > > > apt: > > > > sources: > > > > - - llvm-toolchain-trusty-4.0 > > > > + - llvm-toolchain-trusty-5.0 > > > > packages: > > > > - scons > > > > # LLVM packaging is broken and misses these dependencies > > > > - libedit-dev > > > > # From sources above > > > > - - llvm-4.0-dev > > > > + - llvm-5.0-dev > > > > # Common > > > > - xz-utils > > > > - x11proto-xf86vidmode-dev > > > > diff --git a/configure.ac b/configure.ac > > > > index 7a0e4754208..543b6fe061b 100644 > > > > --- a/configure.ac > > > > +++ b/configure.ac > > > > @@ -110,7 +110,7 @@ LLVM_REQUIRED_OPENCL=3.9.0 > > > > LLVM_REQUIRED_R600=3.9.0 > > > > LLVM_REQUIRED_RADEONSI=5.0.0 > > > > LLVM_REQUIRED_RADV=5.0.0 > > > > -LLVM_REQUIRED_SWR=4.0.0 > > > > +LLVM_REQUIRED_SWR=5.0.0 > > > > > > > > dnl Check for progs > > > > AC_PROG_CPP > > > > @@ -2755,8 +2755,9 @@ if test -n "$with_gallium_drivers"; then > > > > fi > > > > > > > > # XXX: Keep in sync with LLVM_REQUIRED_SWR > > > > -AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != > > > > x4.0.0 -a \ > > > > - "x$LLVM_VERSION" != > > > > x4.0.1) > > > > +AM_CONDITIONAL(SWR_INVALID_LLVM_VERSION, test "x$LLVM_VERSION" != > > > > x5.0.0 -a \ > > > > + "x$LLVM_VERSION" != > > > > x5.0.1 -a \ > > > > + "x$LLVM_VERSION" != > > > > x5.0.2) > > > > > > That check seems designed to break every time something in mesa changes > > > supported llvm version. Is there a reason for it not to be a simple > > > `>= 4.0` check? > > > > > > > Because gen_builder.hpp is a generated file and it contains information > > that is > > specific to the LLVM version it originates from. Apparently, this file is > > forward compatible, but not backward, and it is included in dist tarball. > > > > I guess the problem is that if you end up building the distball with, let's > > say > > LLVM 6.0, then the tarball couldn't be built with LLVM 5.0, due this file > > compatibility. Hence why it "forces" to use the minimum common LLVM version > > for > > all the drivers. > > > > This was added in commit 5233eaf9ee8 ("automake: add SWR LLVM > > gen_builder.hpp > > workaround") and modified in commit b39f6d5fc7c ("travis: radeonsi and radv > > need > > LLVM 4.0"). > > > > > > J.A. > > > > > That's the hunk that was causing issues, wasn't it? Everything else in > > > this patch is just to keep the same version number everywhere? > > > > > > Other than that, the patch itself looks reasonable, so given a good > > > answer to "why is this so fragile?", you can have my: > > > Reviewed-by: Eric Engestrom <eric.engest...@intel.com> > > > > > > Eric, Is the answer for "why is this so fragile?" enough for you? :)
Yep, sorry I forgot to reply, but my r-b does stand :) Like you and Emil both said, this should be fixed at some point, but for now this is how things are. > > > > > Otherwise, I would prefer to just turn the autotools check into > > > a `>= 4.0` like everything else does. > > > > > > > > > > > if test "x$enable_llvm" = "xyes" -a "$with_gallium_drivers"; then > > > > llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium" > > > > diff --git a/meson.build b/meson.build > > > > index 65ae32172d2..a5662160d66 100644 > > > > --- a/meson.build > > > > +++ b/meson.build > > > > @@ -1130,10 +1130,8 @@ if with_gallium_opencl > > > > llvm_optional_modules += ['coroutines', 'opencl'] > > > > endif > > > > > > > > -if with_amd_vk or with_gallium_radeonsi > > > > +if with_amd_vk or with_gallium_radeonsi or with_gallium_swr > > > > _llvm_version = '>= 5.0.0' > > > > -elif with_gallium_swr > > > > - _llvm_version = '>= 4.0.0' > > > > elif with_gallium_opencl or with_gallium_r600 > > > > _llvm_version = '>= 3.9.0' > > > > else > > > > diff --git a/src/gallium/drivers/swr/Makefile.am > > > > b/src/gallium/drivers/swr/Makefile.am > > > > index 8b3150288e6..5cc3f77478a 100644 > > > > --- a/src/gallium/drivers/swr/Makefile.am > > > > +++ b/src/gallium/drivers/swr/Makefile.am > > > > @@ -374,9 +374,9 @@ include $(top_srcdir)/install-gallium-links.mk > > > > # created with the oldest supported version of LLVM. > > > > dist-hook: > > > > if SWR_INVALID_LLVM_VERSION > > > > - @echo "*******************************************************" > > > > - @echo "LLVM 4.0.0 or LLVM 4.0.1 required to create the tarball" > > > > - @echo "*******************************************************" > > > > + @echo "*****************************************" > > > > + @echo "LLVM 5.0.x required to create the tarball" > > > > + @echo "*****************************************" > > > > @test > > > > endif > > > > > > > > diff --git a/src/gallium/drivers/swr/SConscript > > > > b/src/gallium/drivers/swr/SConscript > > > > index 528cfac39f6..224372eb3f5 100644 > > > > --- a/src/gallium/drivers/swr/SConscript > > > > +++ b/src/gallium/drivers/swr/SConscript > > > > @@ -12,8 +12,8 @@ if not env['llvm']: > > > > env['swr'] = False > > > > Return() > > > > > > > > -if env['LLVM_VERSION'] < distutils.version.LooseVersion('4.0'): > > > > - print("warning: swr requires LLVM >= 4.0: not building swr") > > > > +if env['LLVM_VERSION'] < distutils.version.LooseVersion('5.0'): > > > > + print("warning: swr requires LLVM >= 5.0: not building swr") > > > > env['swr'] = False > > > > Return() > > > > > > > > -- > > > > 2.17.1 > > > > > > > > _______________________________________________ > > > > mesa-dev mailing list > > > > mesa-dev@lists.freedesktop.org > > > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > > > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev