From 6fe09bb53bbfc48655f942534099792c74500bde Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Mon, 20 Aug 2018 20:44:18 +0000 Subject: [PATCH] graphics/mesa-dri: switch to llvm70 PR: 230789 Approved by: maintainer timeout (2 weeks) --- devel/libclc/Makefile | 3 +- graphics/mesa-dri/Makefile | 1 + graphics/mesa-dri/Makefile.common | 2 +- graphics/mesa-dri/files/patch-llvm7 | 60 +++++++++++++++++++++++++++++ lang/beignet/Makefile | 4 +- lang/clover/Makefile | 1 + 6 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 graphics/mesa-dri/files/patch-llvm7 diff --git a/devel/libclc/Makefile b/devel/libclc/Makefile index baa632db7038..a32809fc4c3b 100644 --- a/devel/libclc/Makefile +++ b/devel/libclc/Makefile @@ -3,6 +3,7 @@ PORTNAME= libclc DISTVERSION= 0.3.0.20180518 +PORTREVISION= 1 CATEGORIES= devel MAINTAINER= x11@FreeBSD.org @@ -24,7 +25,7 @@ USES= gmake python:2.7,build gmake USE_LDCONFIG= yes MAKE_ENV= MAKE=${GMAKE} DESTDIR=${STAGEDIR} -LLVMVER= ${MESA_LLVM_VER:U60} +LLVMVER= ${MESA_LLVM_VER:U70} ALL_TARGET= diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile index 7cd0f7fe7f97..6a912933e8d2 100644 --- a/graphics/mesa-dri/Makefile +++ b/graphics/mesa-dri/Makefile @@ -3,6 +3,7 @@ PORTNAME= mesa-dri PORTVERSION= ${MESAVERSION} +PORTREVISION= 1 CATEGORIES= graphics COMMENT= OpenGL hardware acceleration drivers for DRI2+ diff --git a/graphics/mesa-dri/Makefile.common b/graphics/mesa-dri/Makefile.common index 95e10b1196fb..c97fee441922 100644 --- a/graphics/mesa-dri/Makefile.common +++ b/graphics/mesa-dri/Makefile.common @@ -77,7 +77,7 @@ INSTALL_TARGET= install-strip # need LLVM for libEGL wherever possible, but mixing GCC and LLVM breaks Gallium .if ${CHOSEN_COMPILER_TYPE} == clang \ || (${COMPONENT} == libs && ${ARCH} != sparc64) # no working LLVM -MESA_LLVM_VER?= 60 +MESA_LLVM_VER?= 70 .endif .if "${MESA_LLVM_VER}" != "" diff --git a/graphics/mesa-dri/files/patch-llvm7 b/graphics/mesa-dri/files/patch-llvm7 new file mode 100644 index 000000000000..1af816f3b0ac --- /dev/null +++ b/graphics/mesa-dri/files/patch-llvm7 @@ -0,0 +1,60 @@ +commit d424be0feda5 +Author: Jan Vesely +Date: Tue May 22 17:52:30 2018 -0400 + + clover: Fix build after llvm r332881. + + v2: fix whitespace and indentation + + r332881 added an extra parameter to the emit function. + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106619 + Signed-off-by: Jan Vesely + Reviewed-By: Aaron Watry + Tested-By: Aaron Watry + Tested-by: Kai Wasserbäch +--- + src/gallium/state_trackers/clover/llvm/codegen/native.cpp | 3 +-- + src/gallium/state_trackers/clover/llvm/compat.hpp | 11 +++++++++++ + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git src/gallium/state_trackers/clover/llvm/codegen/native.cpp src/gallium/state_trackers/clover/llvm/codegen/native.cpp +index 409f8ac32f..21f6c8c88a 100644 +--- src/gallium/state_trackers/clover/llvm/codegen/native.cpp ++++ src/gallium/state_trackers/clover/llvm/codegen/native.cpp +@@ -126,13 +126,12 @@ namespace { + { + compat::pass_manager pm; + ::llvm::raw_svector_ostream os { data }; +- compat::raw_ostream_to_emit_file fos(os); + + mod.setDataLayout(compat::get_data_layout(*tm)); + tm->Options.MCOptions.AsmVerbose = + (ft == TargetMachine::CGFT_AssemblyFile); + +- if (tm->addPassesToEmitFile(pm, fos, ft)) ++ if (compat::add_passes_to_emit_file(*tm, pm, os, ft)) + fail(r_log, build_error(), "TargetMachine can't emit this file"); + + pm.run(mod); +diff --git src/gallium/state_trackers/clover/llvm/compat.hpp src/gallium/state_trackers/clover/llvm/compat.hpp +index 2e070b2eef..42a671b7fa 100644 +--- src/gallium/state_trackers/clover/llvm/compat.hpp ++++ src/gallium/state_trackers/clover/llvm/compat.hpp +@@ -245,6 +245,17 @@ namespace clover { + ::llvm::WriteBitcodeToFile(mod, os); + #else + ::llvm::WriteBitcodeToFile(&mod, os); ++#endif ++ } ++ ++ template ++ bool add_passes_to_emit_file(TM &tm, PM &pm, OS &os, FT &ft) ++ { ++ compat::raw_ostream_to_emit_file fos(os); ++#if HAVE_LLVM >= 0x0700 ++ return tm.addPassesToEmitFile(pm, fos, nullptr, ft); ++#else ++ return tm.addPassesToEmitFile(pm, fos, ft); + #endif + } + } diff --git a/lang/beignet/Makefile b/lang/beignet/Makefile index 249d1cf4752f..886055bc87a6 100644 --- a/lang/beignet/Makefile +++ b/lang/beignet/Makefile @@ -4,7 +4,7 @@ PORTNAME= beignet DISTVERSION= 1.3.2 DISTVERSIONSUFFIX= -source -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= lang MASTER_SITES= https://01.org/sites/default/files/ @@ -32,7 +32,7 @@ USE_GL= gl egl USE_LDCONFIG= ${LOCALBASE}/lib/${PORTNAME} SHEBANG_FILES= src/git_sha1.sh backend/kernels/compile.sh ALL_TARGET= all -LLVMVER= ${MESA_LLVM_VER:U60} +LLVMVER= ${MESA_LLVM_VER:U70} CMAKE_ARGS= -DCLANG_EXECUTABLE:FILEPATH=${LOCALBASE}/bin/clang${LLVMVER} \ -DLLVM_AS_EXECUTABLE:FILEPATH=${LOCALBASE}/bin/llvm-as${LLVMVER} \ diff --git a/lang/clover/Makefile b/lang/clover/Makefile index f8adadacccbc..515b15440f4c 100644 --- a/lang/clover/Makefile +++ b/lang/clover/Makefile @@ -2,6 +2,7 @@ PORTNAME= clover PORTVERSION= ${MESAVERSION} +PORTREVISION= 1 CATEGORIES= lang COMMENT= Mesa "Clover" OpenCL library