mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-24 00:45:52 +00:00
Update the Mesa ports to 17.1.0
* restrict use of LLVM for Gallium to platforms with LLVM in base to fix runtime errors when Gallium is built with a mix of GCC and LLVM * make LLVM only a BUILD_DEPEND for mesa-libs, which needs it to build EGL * add pkg-plist entries for freedreno and vc4 drivers [1] * remove extraneous SHEBANG_FILES entry to fix build of freedreno [2,3] * correct typo in libosmesa, which may have affected the Gallium build [4] PR: 219247 [1], 219406 [3] Submitted by: jbeich [1] (2 patches, pkg-plist fix), strejda (vc4 CFLAGS) Reported by: strejda [2], andrew [3], linimon [4] Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D10842
This commit is contained in:
parent
049c1705f1
commit
943c52c8cc
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=441424
@ -7,20 +7,17 @@ CATEGORIES= graphics
|
||||
|
||||
COMMENT= Off-Screen Mesa implementation of the OpenGL API
|
||||
|
||||
LIB_DEPENDS= libexpat.so:textproc/expat2 \
|
||||
libglapi.so:graphics/mesa-libs
|
||||
|
||||
USE_XORG= glproto
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common"
|
||||
.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
|
||||
|
||||
CONFIGURE_ARGS+= --disable-dri --disable-egl --disable-gbm \
|
||||
--with-gallium-drivers=swrast
|
||||
--disable-gles2 --with-gallium-drivers=swrast
|
||||
MESA_BUILD_WRKSRC= src/util src/compiler src/mapi src/mesa
|
||||
|
||||
.if "${MESA_LLVM_VER}" != ""
|
||||
CONFGIURE_ARGS+= --enable-osmesa-gallium
|
||||
CONFIGURE_ARGS+= --enable-osmesa-gallium
|
||||
MESA_BUILD_WRKSRC+= src/gallium
|
||||
MESA_INSTALL_WRKSRC= src/gallium/state_trackers/osmesa src/gallium/targets/osmesa
|
||||
.else
|
||||
@ -28,11 +25,11 @@ CONFIGURE_ARGS+= --enable-osmesa
|
||||
MESA_INSTALL_WRKSRC= src/mesa/drivers/osmesa
|
||||
.endif
|
||||
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets"
|
||||
.include "${MASTERDIR}/Makefile.targets"
|
||||
|
||||
post-install:
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/include/GL
|
||||
${INSTALL_DATA} ${WRKSRC}/include/GL/osmesa.h \
|
||||
${STAGEDIR}${PREFIX}/include/GL
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -7,8 +7,6 @@ CATEGORIES= graphics
|
||||
|
||||
COMMENT= OpenGL hardware acceleration drivers for DRI2+
|
||||
|
||||
LIB_DEPENDS= libdrm.so:graphics/libdrm \
|
||||
libexpat.so:textproc/expat2
|
||||
RUN_DEPENDS= ${LOCALBASE}/lib/libtxc_dxtn.so:graphics/s2tc
|
||||
|
||||
USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \
|
||||
@ -17,7 +15,6 @@ USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \
|
||||
OPTIONS_DEFINE= TEXTURE VAAPI VDPAU
|
||||
OPTIONS_DEFAULT=TEXTURE
|
||||
OPTIONS_SUB= yes
|
||||
PKGHELP= ${.CURDIR}/pkg-help
|
||||
|
||||
TEXTURE_DESC= Enable texture-float support (patent encumbered)
|
||||
TEXTURE_CONFIGURE_ENABLE= texture-float
|
||||
@ -30,23 +27,30 @@ VDPAU_CONFIGURE_ENABLE= vdpau
|
||||
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common"
|
||||
.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
|
||||
|
||||
ALL_DRI_DRIVERS= I915 I965 RADEON R200 SWRAST
|
||||
ALL_GALLIUM_DRIVERS= FREEDRENO R300 R600 RADEONSI SVGA SWRAST VC4
|
||||
|
||||
DRI_DRIVERS= SWRAST
|
||||
GALLIUM_DRIVERS= SWRAST
|
||||
DRI_DRIVERS= SWRAST # classic swrast
|
||||
.if "${MESA_LLVM_VER}" != ""
|
||||
GALLIUM_DRIVERS= SWRAST # llvmpipe
|
||||
.else
|
||||
GALLIUM_DRIVERS= ""
|
||||
.endif
|
||||
.if ${ARCH} == amd64 || ${ARCH} == i386 \
|
||||
|| ${ARCH} == powerpc || ${ARCH} == powerpc64
|
||||
DRI_DRIVERS+= RADEON R200
|
||||
GALLIUM_DRIVERS+= R300 R600 RADEONSI
|
||||
.elif ${ARCH} == armv6 || ${ARCH} == aarch64
|
||||
GALLIUM_DRIVERS+= FREEDRENO VC4
|
||||
GALLIUM_DRIVERS+= R300 R600
|
||||
.if "${MESA_LLVM_VER}" != "" # until PPC gets LLVM in base
|
||||
GALLIUM_DRIVERS+= RADEONSI
|
||||
.endif
|
||||
.endif
|
||||
.if ${ARCH} == amd64 || ${ARCH} == i386
|
||||
DRI_DRIVERS+= I915 I965
|
||||
GALLIUM_DRIVERS+= SVGA
|
||||
.elif ${ARCH} == armv6 || ${ARCH} == aarch64
|
||||
GALLIUM_DRIVERS+= FREEDRENO VC4
|
||||
.endif
|
||||
|
||||
CONFIGURE_ARGS+= --with-dri-drivers="${DRI_DRIVERS:tl}" \
|
||||
@ -68,9 +72,9 @@ PLIST_SUB+= ${_gd}_GDRIVER="@comment "
|
||||
. endif
|
||||
.endfor
|
||||
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets"
|
||||
.include "${MASTERDIR}/Makefile.targets"
|
||||
|
||||
post-install:
|
||||
@${RM} -r ${STAGEDIR}/etc/OpenCL
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -14,7 +14,7 @@
|
||||
MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
|
||||
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
|
||||
|
||||
MESABASEVERSION= 17.0.4
|
||||
MESABASEVERSION= 17.1.0
|
||||
# if there is a subversion, don't include the '-' between 7.11-rc2.
|
||||
MESASUBVERSION=
|
||||
|
||||
@ -27,14 +27,28 @@ DISTFILES= mesa-${MESADISTVERSION}${EXTRACT_SUFX}
|
||||
|
||||
MAINTAINER= x11@FreeBSD.org
|
||||
|
||||
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
|
||||
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs
|
||||
LIB_DEPENDS+= libexpat.so:textproc/expat2
|
||||
.if ${COMPONENT} != osmesa
|
||||
LIB_DEPENDS+= libdrm.so:graphics/libdrm
|
||||
.endif
|
||||
.if ${COMPONENT} != libs
|
||||
LIB_DEPENDS+= libglapi.so:graphics/mesa-libs
|
||||
.endif
|
||||
.if ${ARCH} == amd64 || ${ARCH} == i386
|
||||
LIB_DEPENDS+= libunwind.so:devel/libunwind
|
||||
.endif
|
||||
.if ${OPSYS} == DragonFly
|
||||
LIB_DEPENDS+= libelf.so:devel/libelf
|
||||
.endif
|
||||
|
||||
USES+= compiler:c++11-lib bison gettext-tools gmake libtool \
|
||||
localbase pathfix pkgconfig python:2,build shebangfix tar:xz
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
PKGINSTALL= ${.CURDIR}/pkg-install
|
||||
PKGDEINSTALL= ${.CURDIR}/pkg-deinstall
|
||||
|
||||
# only have one port to check with portscout.
|
||||
.if ${PORTNAME} != mesa-dri
|
||||
PORTSCOUT= ignore:1
|
||||
@ -43,34 +57,39 @@ PORTSCOUT= ignore:1
|
||||
python_OLD_CMD= /usr/bin/env[[:space:]]python2 /usr/bin/python2 /bin/env[[:space:]]python
|
||||
SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \
|
||||
src/gallium/drivers/svga/svgadump/svga_dump.py \
|
||||
src/gallium/drivers/freedreno/ir3/ir3_nir_trig.py \
|
||||
src/mapi/glapi/gen/*.py src/mapi/mapi_abi.py \
|
||||
src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py \
|
||||
src/mesa/main/get_*.py src/util/format_srgb.py \
|
||||
src/amd/*/*.py src/intel/genxml/gen_pack_header.py
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../../graphics/mesa-dri
|
||||
MASTERDIR= ${.CURDIR:H:H}/graphics/mesa-dri
|
||||
PATCHDIR= ${MASTERDIR}/files
|
||||
WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION}
|
||||
DESCR= ${.CURDIR}/pkg-descr
|
||||
PLIST= ${.CURDIR}/pkg-plist
|
||||
PKGHELP= ${.CURDIR}/pkg-help
|
||||
PKGINSTALL= ${.CURDIR}/pkg-install
|
||||
PKGDEINSTALL= ${.CURDIR}/pkg-deinstall
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if (${ARCH} != sparc64 && ${ARCH} != ia64) # no working LLVM
|
||||
# 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?= 40
|
||||
.endif
|
||||
|
||||
.if "${MESA_LLVM_VER}" != ""
|
||||
BUILD_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER}
|
||||
.if ${COMPONENT} != libs
|
||||
RUN_DEPENDS+= llvm${MESA_LLVM_VER}>=3.9.0_4:devel/llvm${MESA_LLVM_VER}
|
||||
.endif
|
||||
CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER}
|
||||
LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${MESA_LLVM_VER}/lib
|
||||
# The gallium-llvm switch is the global llvm switch for historical reasons
|
||||
CONFIGURE_ARGS+= --enable-gallium-llvm
|
||||
CONFIGURE_ARGS+= --enable-llvm
|
||||
.else
|
||||
CONFIGURE_ARGS+= --disable-gallium-llvm
|
||||
CONFIGURE_ARGS+= --disable-llvm
|
||||
.endif
|
||||
|
||||
# There are issues that need to be fixed to use TLS model "initial-exec"
|
||||
@ -84,7 +103,3 @@ CONFIGURE_ARGS+= --disable-glx-tls
|
||||
# we don't care about GLes v1
|
||||
CONFIGURE_ARGS+= --disable-gles1
|
||||
|
||||
.if ${OPSYS} == DragonFly
|
||||
LIB_DEPENDS+= libelf.so:devel/libelf
|
||||
.endif
|
||||
|
||||
|
@ -5,13 +5,10 @@
|
||||
post-patch:
|
||||
.if ${OPSYS} == FreeBSD
|
||||
@${REINPLACE_CMD} -e 's|x86_64|amd64|' ${WRKSRC}/configure
|
||||
# Clang 3.4 in 10.x on i386 fails with the following error when using "GCC atomics"
|
||||
#
|
||||
# glsl/cache.c:613:4: error: cannot compile this atomic library call yet
|
||||
# p_atomic_add(cache->size, size); note: expanded from macro 'p_atomic_add'
|
||||
# define p_atomic_add(v, i) (void) __atomic_add_fetch((v), (i), __ATOMIC_ACQ_REL)
|
||||
#
|
||||
.if ${OSVERSION} < 1100000 && ${ARCH} == "i386"
|
||||
# Disable use of GCC_ATOMICs on i386 to avoid build failures
|
||||
# Clang in 10.3 fails with cannot compile this atomic library call yet 'p_atomic_add'
|
||||
# Clang in 11.0 fails with undefined reference to `__atomic_fetch_add_8`
|
||||
.if ${ARCH} == "i386"
|
||||
@${REINPLACE_CMD} -e 's|-DUSE_GCC_ATOMIC_BUILTINS||' ${WRKSRC}/configure
|
||||
.endif
|
||||
.endif # ${OPSYS}
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1492459376
|
||||
SHA256 (mesa-17.0.4.tar.xz) = 1269dc8545a193932a0779b2db5bce9be4a5f6813b98c38b93b372be8362a346
|
||||
SIZE (mesa-17.0.4.tar.xz) = 9454976
|
||||
TIMESTAMP = 1494841816
|
||||
SHA256 (mesa-17.1.0.tar.xz) = cf234a6ed4764673886b6661553b54675776ef0898f774716173cec890ac3b17
|
||||
SIZE (mesa-17.1.0.tar.xz) = 9849580
|
||||
|
@ -1,38 +1,5 @@
|
||||
--- configure.ac.orig 2017-04-01 15:33:36 UTC
|
||||
+++ configure.ac
|
||||
@@ -942,19 +942,19 @@ llvm_add_target() {
|
||||
# Call this inside ` ` to get the return value.
|
||||
# $1 is the llvm-config command with arguments.
|
||||
strip_unwanted_llvm_flags() {
|
||||
- # Use \> (marks the end of the word)
|
||||
- echo " `$1`" | sed \
|
||||
- -e 's/\s\+-m\S*//g' \
|
||||
- -e 's/\s\+-DNDEBUG\>//g' \
|
||||
- -e 's/\s\+-D_GNU_SOURCE\>//g' \
|
||||
- -e 's/\s\+-pedantic\>//g' \
|
||||
- -e 's/\s\+-W\S*//g' \
|
||||
- -e 's/\s\+-O\S*//g' \
|
||||
- -e 's/\s\+-g\S*//g' \
|
||||
- -e 's/-fno-rtti\>/-Fno-rtti/g' \
|
||||
- -e 's/\s\+-f\S*//g' \
|
||||
- -e 's/-Fno-rtti\>/-fno-rtti/g' \
|
||||
- -e 's/^ //'
|
||||
+ echo " `$1` " | sed -E \
|
||||
+ -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-DNDEBUG[[[:space:]]]/ /g' \
|
||||
+ -e 's/[[[:space:]]]+-D_GNU_SOURCE[[[:space:]]]/ /g' \
|
||||
+ -e 's/[[[:space:]]]+-pedantic[[[:space:]]]/ /g' \
|
||||
+ -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \
|
||||
+ -e 's/-fno-rtti[[[:space:]]]/-Fno-rtti /g' \
|
||||
+ -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \
|
||||
+ -e 's/-Fno-rtti[[[:space:]]]/-fno-rtti /g' \
|
||||
+ -e 's/^[[[:space:]]]//' \
|
||||
+ -e 's/[[[:space:]]]$//'
|
||||
}
|
||||
|
||||
llvm_set_environment_variables() {
|
||||
@@ -1121,7 +1121,7 @@ fi
|
||||
AC_SUBST(LIBSENSORS_LIBS)
|
||||
|
||||
|
@ -1,39 +1,6 @@
|
||||
--- configure.orig 2017-04-01 15:33:50 UTC
|
||||
--- configure.orig 2017-05-10 14:14:06 UTC
|
||||
+++ configure
|
||||
@@ -22350,19 +22350,19 @@ llvm_add_target() {
|
||||
# Call this inside ` ` to get the return value.
|
||||
# $1 is the llvm-config command with arguments.
|
||||
strip_unwanted_llvm_flags() {
|
||||
- # Use \> (marks the end of the word)
|
||||
- echo " `$1`" | sed \
|
||||
- -e 's/\s\+-m\S*//g' \
|
||||
- -e 's/\s\+-DNDEBUG\>//g' \
|
||||
- -e 's/\s\+-D_GNU_SOURCE\>//g' \
|
||||
- -e 's/\s\+-pedantic\>//g' \
|
||||
- -e 's/\s\+-W\S*//g' \
|
||||
- -e 's/\s\+-O\S*//g' \
|
||||
- -e 's/\s\+-g\S*//g' \
|
||||
- -e 's/-fno-rtti\>/-Fno-rtti/g' \
|
||||
- -e 's/\s\+-f\S*//g' \
|
||||
- -e 's/-Fno-rtti\>/-fno-rtti/g' \
|
||||
- -e 's/^ //'
|
||||
+ echo " `$1` " | sed -E \
|
||||
+ -e 's/[[:space:]]+-m[^[:space:]]*//g' \
|
||||
+ -e 's/[[:space:]]+-DNDEBUG[[:space:]]/ /g' \
|
||||
+ -e 's/[[:space:]]+-D_GNU_SOURCE[[:space:]]/ /g' \
|
||||
+ -e 's/[[:space:]]+-pedantic[[:space:]]/ /g' \
|
||||
+ -e 's/[[:space:]]+-W[^[:space:]]*//g' \
|
||||
+ -e 's/[[:space:]]+-O[^[:space:]]*//g' \
|
||||
+ -e 's/[[:space:]]+-g[^[:space:]]*//g' \
|
||||
+ -e 's/-fno-rtti[[:space:]]/-Fno-rtti /g' \
|
||||
+ -e 's/[[:space:]]+-f[^[:space:]]*//g' \
|
||||
+ -e 's/-Fno-rtti[[:space:]]/-fno-rtti /g' \
|
||||
+ -e 's/^[[:space:]]//' \
|
||||
+ -e 's/[[:space:]]$//'
|
||||
}
|
||||
|
||||
llvm_set_environment_variables() {
|
||||
@@ -22560,7 +22560,7 @@ fi
|
||||
@@ -22709,7 +22709,7 @@ fi
|
||||
|
||||
|
||||
case "$host_os" in
|
||||
@ -42,7 +9,7 @@
|
||||
dri3_default=yes
|
||||
;;
|
||||
*)
|
||||
@@ -24099,7 +24099,7 @@ fi
|
||||
@@ -24108,7 +24108,7 @@ fi
|
||||
if test "x$enable_dri" = xyes; then
|
||||
# Platform specific settings and drivers to build
|
||||
case "$host_os" in
|
||||
@ -51,7 +18,7 @@
|
||||
if test "x$enable_dri3" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_DRI3"
|
||||
fi
|
||||
@@ -25851,9 +25851,19 @@ if test "x$enable_opencl" = xyes; then
|
||||
@@ -25972,9 +25972,19 @@ if test "x$enable_opencl" = xyes; then
|
||||
as_fn_error $? "cannot enable OpenCL without Gallium" "$LINENO" 5
|
||||
fi
|
||||
|
||||
@ -71,7 +38,7 @@
|
||||
|
||||
if test "x$have_libclc" = xno; then
|
||||
as_fn_error $? "pkg-config cannot find libclc.pc which is required to build clover.
|
||||
@@ -25916,9 +25926,6 @@ rm -f core conftest.err conftest.$ac_obj
|
||||
@@ -26037,9 +26047,6 @@ rm -f core conftest.err conftest.$ac_obj
|
||||
CLANG_LIBDIR=${LLVM_LIBDIR}
|
||||
fi
|
||||
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
|
||||
|
@ -1,8 +1,8 @@
|
||||
# work-around for https://bugs.freedesktop.org/show_bug.cgi?id=100627
|
||||
#
|
||||
--- src/egl/drivers/dri2/platform_x11.c.orig 2017-04-01 15:33:36 UTC
|
||||
--- src/egl/drivers/dri2/platform_x11.c.orig 2017-05-10 14:13:57 UTC
|
||||
+++ src/egl/drivers/dri2/platform_x11.c
|
||||
@@ -1507,7 +1507,11 @@
|
||||
@@ -1509,7 +1509,11 @@ dri2_initialize_x11(_EGLDriver *drv, _EG
|
||||
|
||||
if (!getenv("LIBGL_ALWAYS_SOFTWARE")) {
|
||||
#ifdef HAVE_DRI3
|
||||
|
@ -25,9 +25,9 @@ Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
|
||||
|
||||
|
||||
--- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c.orig 2017-04-01 15:33:37 UTC
|
||||
--- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c.orig 2017-05-10 14:13:57 UTC
|
||||
+++ src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
|
||||
@@ -225,6 +225,14 @@ pipe_loader_drm_probe_fd(struct pipe_loa
|
||||
@@ -209,6 +209,14 @@ pipe_loader_drm_probe_fd(struct pipe_loa
|
||||
}
|
||||
|
||||
static int
|
||||
@ -42,7 +42,7 @@ Reviewed-by: Francisco Jerez <currojerez@riseup.net>
|
||||
open_drm_render_node_minor(int minor)
|
||||
{
|
||||
char path[PATH_MAX];
|
||||
@@ -236,8 +244,15 @@ open_drm_render_node_minor(int minor)
|
||||
@@ -220,8 +228,15 @@ open_drm_render_node_minor(int minor)
|
||||
int
|
||||
pipe_loader_drm_probe(struct pipe_loader_device **devs, int ndev)
|
||||
{
|
||||
@ -59,7 +59,7 @@ Reviewed-by: Francisco Jerez <currojerez@riseup.net>
|
||||
for (i = DRM_RENDER_NODE_MIN_MINOR, j = 0;
|
||||
i <= DRM_RENDER_NODE_MAX_MINOR; i++) {
|
||||
struct pipe_loader_device *dev;
|
||||
@@ -251,6 +266,9 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
@@ -235,6 +250,9 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ Reviewed-by: Francisco Jerez <currojerez@riseup.net>
|
||||
if (j < ndev) {
|
||||
devs[j] = dev;
|
||||
} else {
|
||||
@@ -260,6 +278,46 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
@@ -244,6 +262,46 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
j++;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,13 @@
|
||||
# enable NEON instructions in the compiler when building the NEON codepath
|
||||
#
|
||||
--- src/gallium/drivers/vc4/Makefile.in.orig 2017-05-16 13:55:49 UTC
|
||||
+++ src/gallium/drivers/vc4/Makefile.in
|
||||
@@ -669,7 +669,7 @@ libvc4_la_SOURCES = $(C_SOURCES)
|
||||
libvc4_la_LIBADD = $(SIM_LIB) $(VC4_LIBS) libvc4_neon.la
|
||||
libvc4_la_LDFLAGS = $(SIM_LDFLAGS)
|
||||
libvc4_neon_la_SOURCES = vc4_tiling_lt.c
|
||||
-libvc4_neon_la_CFLAGS = $(AM_CFLAGS) -DVC4_BUILD_NEON
|
||||
+libvc4_neon_la_CFLAGS = $(AM_CFLAGS) -DVC4_BUILD_NEON -march=armv7-a -mfpu=neon
|
||||
EXTRA_DIST = kernel/README
|
||||
all: all-am
|
||||
|
@ -0,0 +1,14 @@
|
||||
# define ETIME as ETIMEOUT same as in intel driver
|
||||
#
|
||||
--- src/gallium/drivers/vc4/vc4_bufmgr.c.orig 2017-05-10 14:13:57 UTC
|
||||
+++ src/gallium/drivers/vc4/vc4_bufmgr.c
|
||||
@@ -27,6 +27,9 @@
|
||||
#include <fcntl.h>
|
||||
#include <xf86drm.h>
|
||||
#include <xf86drmMode.h>
|
||||
+#ifndef ETIME
|
||||
+#define ETIME ETIMEDOUT
|
||||
+#endif
|
||||
|
||||
#include "util/u_hash_table.h"
|
||||
#include "util/u_memory.h"
|
@ -1,9 +1,9 @@
|
||||
# We don't have MAP_NORESERVE so use MAP_NOSYNC | MAP_NOCORE and
|
||||
# hope for the best (this alloc is too big but it's only a test)
|
||||
#
|
||||
--- src/intel/tools/aubinator.c.orig 2017-04-01 15:33:37 UTC
|
||||
--- src/intel/tools/aubinator.c.orig 2017-05-10 14:13:57 UTC
|
||||
+++ src/intel/tools/aubinator.c
|
||||
@@ -1299,7 +1299,7 @@ int main(int argc, char *argv[])
|
||||
@@ -1221,7 +1221,7 @@ int main(int argc, char *argv[])
|
||||
/* mmap a terabyte for our gtt space. */
|
||||
gtt_size = 1ull << 40;
|
||||
gtt = mmap(NULL, gtt_size, PROT_READ | PROT_WRITE,
|
||||
|
@ -0,0 +1,14 @@
|
||||
# expose getline in FreeBSD's stdio.h
|
||||
#
|
||||
--- src/intel/tools/aubinator_error_decode.c.orig 2017-05-10 14:13:57 UTC
|
||||
+++ src/intel/tools/aubinator_error_decode.c
|
||||
@@ -22,6 +22,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+#define _WITH_GETLINE
|
||||
+#endif
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
@ -1,6 +1,6 @@
|
||||
--- src/mapi/glapi/gen/gl_gentable.py.orig 2017-01-06 02:14:06 UTC
|
||||
--- src/mapi/glapi/gen/gl_gentable.py.orig 2017-05-15 12:05:59 UTC
|
||||
+++ src/mapi/glapi/gen/gl_gentable.py
|
||||
@@ -44,7 +44,7 @@ header = """/* GLXEXT is the define used
|
||||
@@ -43,7 +43,7 @@ header = """/* GLXEXT is the define used
|
||||
#endif
|
||||
|
||||
#if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \\
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- src/mesa/main/compiler.h.orig 2016-11-10 22:05:17 UTC
|
||||
--- src/mesa/main/compiler.h.orig 2017-05-10 14:13:57 UTC
|
||||
+++ src/mesa/main/compiler.h
|
||||
@@ -56,6 +56,9 @@ extern "C" {
|
||||
@@ -51,6 +51,9 @@
|
||||
#if defined(__linux__)
|
||||
#include <byteswap.h>
|
||||
#define CPU_TO_LE32( x ) bswap_32( x )
|
||||
|
17
graphics/mesa-dri/files/patch-src_util_build__id.c
Normal file
17
graphics/mesa-dri/files/patch-src_util_build__id.c
Normal file
@ -0,0 +1,17 @@
|
||||
# Elf_ doesn't exist, use Elf32_ or Elf64_
|
||||
#
|
||||
--- src/util/build_id.c.orig 2017-05-10 14:13:58 UTC
|
||||
+++ src/util/build_id.c
|
||||
@@ -33,7 +33,11 @@
|
||||
#endif
|
||||
|
||||
#ifndef ElfW
|
||||
-#define ElfW(type) Elf_##type
|
||||
+#ifdef __LP64__
|
||||
+#define ElfW(type) Elf64_##type
|
||||
+#else
|
||||
+#define ElfW(type) Elf32_##type
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#define ALIGN(val, align) (((val) + (align) - 1) & ~((align) - 1))
|
@ -1,18 +0,0 @@
|
||||
--- src/util/ralloc.c.orig 2017-04-01 15:33:37 UTC
|
||||
+++ src/util/ralloc.c
|
||||
@@ -338,6 +338,7 @@ ralloc_parent(const void *ptr)
|
||||
|
||||
static void *autofree_context = NULL;
|
||||
|
||||
+__attribute__((destructor))
|
||||
static void
|
||||
autofree(void)
|
||||
{
|
||||
@@ -349,7 +350,6 @@ ralloc_autofree_context(void)
|
||||
{
|
||||
if (unlikely(autofree_context == NULL)) {
|
||||
autofree_context = ralloc_context(NULL);
|
||||
- atexit(autofree);
|
||||
}
|
||||
return autofree_context;
|
||||
}
|
@ -25,7 +25,9 @@ include/GL/internal/dri_interface.h
|
||||
@comment include/gbm.h
|
||||
%%I915_DRIVER%%lib/dri/i915_dri.so
|
||||
%%I965_DRIVER%%lib/dri/i965_dri.so
|
||||
%%FREEDRENO_GDRIVER%%lib/dri/kgsl_dri.so
|
||||
%%SWRAST_GDRIVER%%lib/dri/kms_swrast_dri.so
|
||||
%%FREEDRENO_GDRIVER%%lib/dri/msm_dri.so
|
||||
%%R200_DRIVER%%lib/dri/r200_dri.so
|
||||
%%R300_GDRIVER%%lib/dri/r300_dri.so
|
||||
%%R600_GDRIVER%%lib/dri/r600_dri.so
|
||||
@ -34,6 +36,7 @@ include/GL/internal/dri_interface.h
|
||||
%%RADEONSI_GDRIVER%%lib/dri/radeonsi_dri.so
|
||||
%%VAAPI%%%%RADEONSI_GDRIVER%%lib/dri/radeonsi_drv_video.so
|
||||
%%SWRAST_DRIVER%%lib/dri/swrast_dri.so
|
||||
%%VC4_GDRIVER%%lib/dri/vc4_dri.so
|
||||
%%SVGA_GDRIVER%%lib/dri/vmwgfx_dri.so
|
||||
@comment lib/gallium-pipe/pipe_r300.so
|
||||
@comment lib/gallium-pipe/pipe_r600.so
|
||||
|
@ -7,10 +7,6 @@ CATEGORIES= graphics
|
||||
|
||||
COMMENT= OpenGL libraries that support GLX and EGL clients
|
||||
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs
|
||||
LIB_DEPENDS+= libdrm.so:graphics/libdrm \
|
||||
libexpat.so:textproc/expat2
|
||||
|
||||
USE_XORG= dri2proto dri3proto glproto presentproto x11 xcb xdamage xext \
|
||||
xfixes xshmfence xxf86vm
|
||||
|
||||
@ -22,25 +18,25 @@ WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
|
||||
libwayland-server.so:graphics/wayland
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common"
|
||||
.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
|
||||
|
||||
CONFIGURE_ARGS+= --with-dri-drivers=swrast --with-gallium-drivers=swrast
|
||||
CONFIGURE_ARGS+= --with-dri-drivers="" --with-gallium-drivers=""
|
||||
|
||||
# libEGL needs gallium enabled which depends on llvm
|
||||
.if "${MESA_LLVM_VER}" != ""
|
||||
.if ${PORT_OPTIONS:MWAYLAND}
|
||||
CONFIGURE_ARGS+= --with-egl-platforms=x11,drm,wayland
|
||||
CONFIGURE_ARGS+= --with-platforms=x11,drm,wayland
|
||||
.else
|
||||
CONFIGURE_ARGS+= --with-egl-platforms=x11,drm
|
||||
CONFIGURE_ARGS+= --with-platforms=x11,drm
|
||||
.endif
|
||||
PLIST_SUB+= EGL=""
|
||||
PLIST_SUB+= EGL=""
|
||||
.else
|
||||
CONFIGURE_ARGS+= --disable-egl
|
||||
CONFIGURE_ARGS+= --disable-egl
|
||||
PLIST_SUB+= EGL="@comment "
|
||||
.if ${PORT_OPTIONS:MWAYLAND}
|
||||
IGNORE= WAYLAND is an option for EGL and thus only valid on platforms with LLVM
|
||||
IGNORE= option WAYLAND is only valid on platforms with LLVM
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
MESA_BUILD_WRKSRC= src/mapi
|
||||
MESA_INSTALL_WRKSRC= src/mapi
|
||||
@ -58,10 +54,10 @@ MESA_BUILD_WRKSRC+= src/egl
|
||||
MESA_INSTALL_WRKSRC+= src/egl
|
||||
.endif
|
||||
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets"
|
||||
.include "${MASTERDIR}/Makefile.targets"
|
||||
|
||||
post-install:
|
||||
@cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \
|
||||
${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -7,28 +7,25 @@ CATEGORIES= lang
|
||||
COMMENT= Mesa "Clover" OpenCL library
|
||||
|
||||
BUILD_DEPENDS= libclc>=0.2.0.20160915:devel/libclc \
|
||||
opencl>=0:devel/opencl \
|
||||
${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs
|
||||
LIB_DEPENDS= libdrm.so:graphics/libdrm \
|
||||
libexpat.so:textproc/expat2 \
|
||||
libOpenCL.so:devel/ocl-icd
|
||||
opencl>=0:devel/opencl
|
||||
LIB_DEPENDS= libOpenCL.so:devel/ocl-icd
|
||||
RUN_DEPENDS= opencl>=0:devel/opencl
|
||||
|
||||
ONLY_FOR_ARCHS= i386 amd64
|
||||
ONLY_FOR_ARCHS_REASON= Clover needs a GPU supported by the Radeon KMS driver
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.common"
|
||||
.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
|
||||
|
||||
CONFIGURE_ARGS+= --enable-opencl --enable-opencl-icd --disable-dri \
|
||||
--disable-egl --disable-gbm --disable-glx \
|
||||
--disable-egl --disable-gbm --disable-gles2 --disable-glx \
|
||||
--disable-va --disable-vdpau --disable-xvmc \
|
||||
--with-gallium-drivers=r600,radeonsi
|
||||
--with-gallium-drivers=r600,radeonsi # only supported GPUs
|
||||
|
||||
#MESA_BUILD_WRKSRC= src/util src/compiler src/mesa src/gallium
|
||||
MESA_INSTALL_WRKSRC= src/gallium/targets/opencl src/gallium/targets/pipe-loader
|
||||
|
||||
.include "${.CURDIR}/../../graphics/mesa-dri/Makefile.targets"
|
||||
.include "${MASTERDIR}/Makefile.targets"
|
||||
|
||||
pre-configure:
|
||||
@if [ -e ${LOCALBASE}/bin/llvm-config${MESA_LLVM_VER} ] && \
|
||||
@ -40,4 +37,4 @@ pre-configure:
|
||||
post-install:
|
||||
@${MV} ${STAGEDIR}/etc/OpenCL ${STAGEDIR}${PREFIX}/etc/
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.post.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user