Update Mesa to 17.0.3
* OpenGL 4.5 support for RadeonSI and recent Intel * Use LLVM 4.0 by default, building with 3.9 is possible via MESA_LLVM_VER * DRI3 remains enabled at compile time, but is now disabled at runtime for stock FreeBSD. Set LIBGL_DRI3_ENABLE in the environment to enable DRI3. This extra check is added when compiling on stock FreeBSD, not DRM-next. This change was made to work around a problem in libEGL, which fails to fall back to using DRI2 when run on a system without DRI3 support. Reviewed by: jmd, mat Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D10250
This commit is contained in:
+11
-4
@@ -11,15 +11,22 @@ COMMENT= OpenGL hardware acceleration drivers for the DRI
|
||||
LIB_DEPENDS= libdrm.so:graphics/libdrm \
|
||||
libexpat.so:textproc/expat2
|
||||
|
||||
USES= ssl
|
||||
USE_XORG= dri2proto dri3proto glproto presentproto x11 xext xdamage \
|
||||
USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \
|
||||
xfixes xshmfence xv xvmc xxf86vm
|
||||
|
||||
OPTIONS_DEFINE= TEXTURE
|
||||
OPTIONS_DEFINE= TEXTURE VAAPI VDPAU
|
||||
OPTIONS_DEFAULT=TEXTURE
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
TEXTURE_DESC= Enable texture-float support (patent encumbered)
|
||||
VDPAU_DESC= VDPAU (GPU video acceleration) support (needs Gallium)
|
||||
TEXTURE_CONFIGURE_ENABLE= texture-float
|
||||
|
||||
VAAPI_CONFIGURE_ENABLE= va
|
||||
VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
|
||||
VAAPI_USE= XORG=xcb
|
||||
|
||||
VDPAU_CONFIGURE_ENABLE= vdpau
|
||||
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
|
||||
|
||||
PKGHELP= ${.CURDIR}/pkg-help
|
||||
|
||||
|
||||
+10
-8
@@ -1,13 +1,15 @@
|
||||
The GALLIUM option enables gallium (llvm) backed drivers such as for example
|
||||
the r600 and radeonsi driver.
|
||||
VAAPI and VDPAU options enable building Gallium based VA-API and VDPAU
|
||||
drivers to decode video on the GPU via libva and libvdpau, respectively.
|
||||
Gallium based VAAPI and VDPAU drivers are only available for Radeon GPUs.
|
||||
|
||||
The VDPAU option enables VDPAU drivers to decode video on the GPU via the
|
||||
VDPAU library.
|
||||
Both GPU decode options require newer drm drivers than are currently present
|
||||
in a released FreeBSD kernel. These are options for DRM-next and DragonFly.
|
||||
|
||||
The TEXTURE option enables texture-float support. However Silicon Graphics
|
||||
owns the US Patent #6,650,327 [1]. Use at your own risk!
|
||||
The TEXTURE option enables texture-float support, which SGI claims requires
|
||||
US Patent #6,650,327 [1], filed Jun 16, 1998 thus expiring on Jun 16, 2018.
|
||||
Use may require a license depending on jurisdiction, consult a lawyer.
|
||||
|
||||
See docs/patents.txt in the Mesa tarball or the follewing urls:
|
||||
See docs/patents.txt in the Mesa tarball or the following URLs:
|
||||
|
||||
[1] http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327
|
||||
[1] https://www.google.com/patents/US6650327
|
||||
[2] http://www.opengl.org/registry/specs/ARB/texture_float.txt
|
||||
|
||||
+19
-13
@@ -1,4 +1,4 @@
|
||||
%%I965_DRIVER%%etc/drirc
|
||||
etc/drirc
|
||||
@comment include/EGL/egl.h
|
||||
@comment include/EGL/eglext.h
|
||||
@comment include/EGL/eglextchromium.h
|
||||
@@ -29,8 +29,10 @@ include/GL/internal/dri_interface.h
|
||||
%%R200_DRIVER%%lib/dri/r200_dri.so
|
||||
%%R300_GDRIVER%%lib/dri/r300_dri.so
|
||||
%%R600_GDRIVER%%lib/dri/r600_dri.so
|
||||
%%VAAPI%%%%R600_GDRIVER%%lib/dri/r600_drv_video.so
|
||||
%%RADEON_DRIVER%%lib/dri/radeon_dri.so
|
||||
%%RADEONSI_GDRIVER%%lib/dri/radeonsi_dri.so
|
||||
%%VAAPI%%%%RADEONSI_GDRIVER%%lib/dri/radeonsi_drv_video.so
|
||||
%%SWRAST_DRIVER%%lib/dri/swrast_dri.so
|
||||
%%SVGA_GDRIVER%%lib/dri/vmwgfx_dri.so
|
||||
@comment lib/gallium-pipe/pipe_r300.so
|
||||
@@ -63,21 +65,25 @@ include/GL/internal/dri_interface.h
|
||||
@comment lib/libglapi.so
|
||||
@comment lib/libglapi.so.0
|
||||
@comment lib/libglapi.so.0.0.0
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r300.so
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r300.so.1
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r300.so.1.0
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r300.so.1.0.0
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r600.so
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r600.so.1
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r600.so.1.0
|
||||
%%VDPAU%%lib/vdpau/libvdpau_r600.so.1.0.0
|
||||
%%VDPAU%%lib/vdpau/libvdpau_radeonsi.so
|
||||
%%VDPAU%%lib/vdpau/libvdpau_radeonsi.so.1
|
||||
%%VDPAU%%lib/vdpau/libvdpau_radeonsi.so.1.0
|
||||
%%VDPAU%%lib/vdpau/libvdpau_radeonsi.so.1.0.0
|
||||
%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so
|
||||
%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so.1
|
||||
%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so.1.0
|
||||
%%VDPAU%%%%R300_GDRIVER%%lib/vdpau/libvdpau_r300.so.1.0.0
|
||||
%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so
|
||||
%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so.1
|
||||
%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so.1.0
|
||||
%%VDPAU%%%%R600_GDRIVER%%lib/vdpau/libvdpau_r600.so.1.0.0
|
||||
%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so
|
||||
%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1
|
||||
%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1.0
|
||||
%%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1.0.0
|
||||
@comment lib/libwayland-egl.so
|
||||
@comment lib/libwayland-egl.so.1
|
||||
@comment lib/libwayland-egl.so.1.0.0
|
||||
libdata/pkgconfig/dri.pc
|
||||
@comment libdata/pkgconfig/egl.pc
|
||||
@comment libdata/pkgconfig/gbm.pc
|
||||
@comment libdata/pkgconfig/gl.pc
|
||||
@comment libdata/pkgconfig/glesv2.pc
|
||||
@comment libdata/pkgconfig/osmesa.pc
|
||||
@comment libdata/pkgconfig/wayland-egl.pc
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
|
||||
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
|
||||
|
||||
MESABASEVERSION= 13.0.6
|
||||
MESABASEVERSION= 17.0.3
|
||||
# if there is a subversion, don't include the '-' between 7.11-rc2.
|
||||
MESASUBVERSION=
|
||||
|
||||
@@ -53,24 +53,20 @@ SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \
|
||||
src/mapi/glapi/gen/*.py
|
||||
SHEBANG_FILES+= src/mapi/mapi_abi.py
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../../graphics/libGL
|
||||
PATCHDIR= ${MASTERDIR}/files
|
||||
WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION}
|
||||
DESCR= ${.CURDIR}/pkg-descr
|
||||
PLIST= ${.CURDIR}/pkg-plist
|
||||
INSTALL_TARGET= install-strip
|
||||
MASTERDIR= ${.CURDIR}/../../graphics/libGL
|
||||
PATCHDIR= ${MASTERDIR}/files
|
||||
WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION}
|
||||
DESCR= ${.CURDIR}/pkg-descr
|
||||
PLIST= ${.CURDIR}/pkg-plist
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
|
||||
COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
|
||||
|
||||
.if (${ARCH} != sparc64 && ${ARCH} != ia64) # no working LLVM
|
||||
MESA_LLVM_VER?= 39
|
||||
MESA_LLVM_VER?= 40
|
||||
LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${MESA_LLVM_VER}/lib
|
||||
.endif
|
||||
|
||||
CONFIGURE_ARGS+= --with-sha1=libcrypto
|
||||
|
||||
CONFIGURE_ARGS+= --enable-gbm
|
||||
|
||||
# There are issues that need to be fixed to use TLS model "initial-exec"
|
||||
# So stick with "global-dynamic"'s model for now. kan@ is working on a
|
||||
# patch for rtld. We might want to backport global-dynamic or
|
||||
@@ -132,23 +128,6 @@ CONFIGURE_ARGS+= --enable-gallium-llvm --enable-llvm-shared-libs
|
||||
CONFIGURE_ARGS+= --disable-gallium-llvm
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MTEXTURE}
|
||||
CONFIGURE_ARGS+=--enable-texture-float
|
||||
.endif
|
||||
|
||||
# only support on DragonFly. FreeBSD's drm doesn't support it.
|
||||
.if ${OPSYS} == DragonFly && ${COMPONENT:Mdri} != ""
|
||||
CONFIGURE_ARGS+=--enable-vdpau
|
||||
LIB_DEPENDS+= libvdpau.so:multimedia/libvdpau
|
||||
PLIST_SUB+= VDPAU=""
|
||||
.else
|
||||
CONFIGURE_ARGS+=--disable-vdpau
|
||||
PLIST_SUB+= VDPAU="@comment "
|
||||
.endif
|
||||
|
||||
# VAAPI support?
|
||||
CONFIGURE_ARGS+=--disable-va
|
||||
|
||||
ALL_DRI_DRIVERS= I915 I965 RADEON R200 SWRAST
|
||||
ALL_GALLIUM_DRIVERS= R300 R600 RADEONSI SVGA SWRAST
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
post-patch:
|
||||
.if ${OPSYS} == FreeBSD
|
||||
@${REINPLACE_CMD} -e 's|x86_64|amd64|' -e 's|\\S\*//|[:space:]* //|' \
|
||||
@${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"
|
||||
#
|
||||
@@ -17,7 +17,7 @@ post-patch:
|
||||
.endif
|
||||
.else # ${OPSYS} == DragonFly
|
||||
# Sed on dragonfly doesn't support \< or \>
|
||||
@${REINPLACE_CMD} -e 's|\\>//|[[:>:]]//|' -e 's|\\S\*//|[:space:]* //|' \
|
||||
@${REINPLACE_CMD} -e 's|\\>//|[[:>:]]//|' \
|
||||
${WRKSRC}/configure
|
||||
.endif # ${OPSYS}
|
||||
@${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g' \
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1490202594
|
||||
SHA256 (mesa-13.0.6.tar.xz) = 29ef104a7fc082d352b1599bd6cb1d040be424ccd22f5e0eb7ee9b0e9acd3597
|
||||
SIZE (mesa-13.0.6.tar.xz) = 9179236
|
||||
TIMESTAMP = 1491068637
|
||||
SHA256 (mesa-17.0.3.tar.xz) = ca646f5075a002d60ef9123c8a4331cede155c01712ef945a65c59a5e69fe7ed
|
||||
SIZE (mesa-17.0.3.tar.xz) = 9485792
|
||||
|
||||
@@ -1,35 +1,54 @@
|
||||
--- configure.ac.orig 2016-06-21 14:31:09.000000000 +0200
|
||||
+++ configure.ac 2016-07-08 13:05:53.236433000 +0200
|
||||
@@ -871,7 +872,7 @@
|
||||
[enable_dri=yes])
|
||||
--- configure.ac.orig 2017-04-01 15:33:36 UTC
|
||||
+++ configure.ac
|
||||
@@ -943,18 +943,19 @@ llvm_add_target() {
|
||||
# $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' \
|
||||
+ echo " `$1`" | sed -E \
|
||||
+ -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-DNDEBUG\>//g' \
|
||||
+ -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \
|
||||
+ -e 's/[[[:space:]]]+-pedantic\>//g' \
|
||||
+ -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \
|
||||
-e 's/-fno-rtti\>/-Fno-rtti/g' \
|
||||
- -e 's/\s\+-f\S*//g' \
|
||||
+ -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \
|
||||
-e 's/-Fno-rtti\>/-fno-rtti/g' \
|
||||
- -e 's/^ //'
|
||||
+ -e 's/-fno-exceptions\>//g' \
|
||||
+ -e 's/^[[[:space:]]]//'
|
||||
}
|
||||
|
||||
llvm_set_environment_variables() {
|
||||
@@ -1121,7 +1122,7 @@ fi
|
||||
AC_SUBST(LIBSENSORS_LIBS)
|
||||
|
||||
case "$host_os" in
|
||||
-linux*)
|
||||
+linux*|freebsd*)
|
||||
+linux* | freebsd*)
|
||||
dri3_default=yes
|
||||
;;
|
||||
*)
|
||||
@@ -1540,6 +1548,19 @@
|
||||
;;
|
||||
gnu*)
|
||||
DEFINES="$DEFINES -DHAVE_ALIAS"
|
||||
+dnl not sure about dri3 support, just enable it for now.
|
||||
+ if test "x$enable_dri3" = xyes; then
|
||||
+ DEFINES="$DEFINES -DHAVE_DRI3"
|
||||
+ fi
|
||||
+
|
||||
+ case "$host_cpu" in
|
||||
+ powerpc* | sparc*)
|
||||
+ # Build only the drivers for cards that exist on PowerPC/sparc
|
||||
+ if test "x$with_dri_drivers" = "xyes"; then
|
||||
+ with_dri_drivers="r200 radeon swrast"
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
;;
|
||||
cygwin*)
|
||||
if test "x$with_dri_drivers" = "xyes"; then
|
||||
@@ -1921,9 +1948,19 @@
|
||||
@@ -1631,7 +1632,7 @@ dnl platform checks. Set DEFINES and LIB
|
||||
if test "x$enable_dri" = xyes; then
|
||||
# Platform specific settings and drivers to build
|
||||
case "$host_os" in
|
||||
- linux*)
|
||||
+ linux* | freebsd*)
|
||||
if test "x$enable_dri3" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_DRI3"
|
||||
fi
|
||||
@@ -2002,9 +2003,18 @@ if test "x$enable_opencl" = xyes; then
|
||||
AC_MSG_ERROR([cannot enable OpenCL without Gallium])
|
||||
fi
|
||||
|
||||
@@ -44,30 +63,16 @@
|
||||
if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 7; then
|
||||
AC_MSG_ERROR([gcc >= 4.7 is required to build clover])
|
||||
fi
|
||||
+# end of clang test.
|
||||
+ fi
|
||||
+ fi # end of clang test
|
||||
|
||||
if test "x$have_libclc" = xno; then
|
||||
AC_MSG_ERROR([pkg-config cannot find libclc.pc which is required to build clover.
|
||||
@@ -2102,9 +2139,9 @@
|
||||
strip_unwanted_llvm_flags() {
|
||||
# Use \> (marks the end of the word)
|
||||
echo `$1` | sed \
|
||||
- -e 's/-march=\S*//g' \
|
||||
- -e 's/-mtune=\S*//g' \
|
||||
- -e 's/-mcpu=\S*//g' \
|
||||
+ -e 's/-march=[[:graph:]]* //g' \
|
||||
+ -e 's/-mtune=[[:graph:]]* //g' \
|
||||
+ -e 's/-mcpu=[[:graph:]]* //g' \
|
||||
-e 's/-DNDEBUG\>//g' \
|
||||
-e 's/-D_GNU_SOURCE\>//g' \
|
||||
-e 's/-pedantic\>//g' \
|
||||
@@ -2196,8 +2233,6 @@
|
||||
CLANG_LIBDIR=${LLVM_LIBDIR}
|
||||
fi
|
||||
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
|
||||
- AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
|
||||
- [AC_MSG_ERROR([Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries.])])
|
||||
fi
|
||||
else
|
||||
MESA_LLVM=0
|
||||
@@ -2061,8 +2071,6 @@ if test "x$enable_opencl" = xyes; then
|
||||
CLANG_LIBDIR=${LLVM_LIBDIR}
|
||||
fi
|
||||
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
|
||||
- AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"],
|
||||
- [AC_MSG_ERROR([Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries.])])
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes)
|
||||
AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes)
|
||||
|
||||
@@ -1,34 +1,54 @@
|
||||
--- configure.orig 2017-01-05 15:52:21 UTC
|
||||
--- configure.orig 2017-04-01 15:33:50 UTC
|
||||
+++ configure
|
||||
@@ -21955,7 +21955,7 @@ fi
|
||||
@@ -22351,18 +22351,19 @@ llvm_add_target() {
|
||||
# $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' \
|
||||
+ echo " `$1`" | sed -E \
|
||||
+ -e 's/[[[:space:]]]+-m[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-DNDEBUG\>//g' \
|
||||
+ -e 's/[[[:space:]]]+-D_GNU_SOURCE\>//g' \
|
||||
+ -e 's/[[[:space:]]]+-pedantic\>//g' \
|
||||
+ -e 's/[[[:space:]]]+-W[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-O[[^[:space:]]]*//g' \
|
||||
+ -e 's/[[[:space:]]]+-g[[^[:space:]]]*//g' \
|
||||
-e 's/-fno-rtti\>/-Fno-rtti/g' \
|
||||
- -e 's/\s\+-f\S*//g' \
|
||||
+ -e 's/[[[:space:]]]+-f[[^[:space:]]]*//g' \
|
||||
-e 's/-Fno-rtti\>/-fno-rtti/g' \
|
||||
- -e 's/^ //'
|
||||
+ -e 's/-fno-exceptions\>//g' \
|
||||
+ -e 's/^[[[:space:]]]//'
|
||||
}
|
||||
|
||||
llvm_set_environment_variables() {
|
||||
@@ -22560,7 +22561,7 @@ fi
|
||||
|
||||
|
||||
case "$host_os" in
|
||||
-linux*)
|
||||
+linux*|freebsd*)
|
||||
+linux* | freebsd*)
|
||||
dri3_default=yes
|
||||
;;
|
||||
*)
|
||||
@@ -23968,6 +23968,18 @@ if test "x$enable_dri" = xyes; then
|
||||
;;
|
||||
*freebsd* | dragonfly* | *netbsd* | openbsd*)
|
||||
DEFINES="$DEFINES -DHAVE_ALIAS"
|
||||
+ if test "x$enable_dri3" = xyes; then
|
||||
+ DEFINES="$DEFINES -DHAVE_DRI3"
|
||||
+ fi
|
||||
+
|
||||
+ case "$host_cpu" in
|
||||
+ powerpc* | sparc*)
|
||||
+ # Build only the drivers for cards that exist on PowerPC/sparc
|
||||
+ if test "x$with_dri_drivers" = "xyes"; then
|
||||
+ with_dri_drivers="r200 radeon swrast"
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
;;
|
||||
gnu*)
|
||||
DEFINES="$DEFINES -DHAVE_ALIAS"
|
||||
@@ -25849,9 +25861,19 @@ if test "x$enable_opencl" = xyes; then
|
||||
@@ -24099,7 +24100,7 @@ fi
|
||||
if test "x$enable_dri" = xyes; then
|
||||
# Platform specific settings and drivers to build
|
||||
case "$host_os" in
|
||||
- linux*)
|
||||
+ linux* | freebsd*)
|
||||
if test "x$enable_dri3" = xyes; then
|
||||
DEFINES="$DEFINES -DHAVE_DRI3"
|
||||
fi
|
||||
@@ -25851,9 +25852,19 @@ if test "x$enable_opencl" = xyes; then
|
||||
as_fn_error $? "cannot enable OpenCL without Gallium" "$LINENO" 5
|
||||
fi
|
||||
|
||||
@@ -48,13 +68,13 @@
|
||||
|
||||
if test "x$have_libclc" = xno; then
|
||||
as_fn_error $? "pkg-config cannot find libclc.pc which is required to build clover.
|
||||
@@ -26670,9 +26692,6 @@ fi
|
||||
CLANG_LIBDIR=${LLVM_LIBDIR}
|
||||
fi
|
||||
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
|
||||
- if test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"; then :
|
||||
@@ -25916,9 +25927,6 @@ rm -f core conftest.err conftest.$ac_obj
|
||||
CLANG_LIBDIR=${LLVM_LIBDIR}
|
||||
fi
|
||||
CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
|
||||
- if test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"; then :
|
||||
- as_fn_error $? "Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries." "$LINENO" 5
|
||||
-fi
|
||||
fi
|
||||
else
|
||||
MESA_LLVM=0
|
||||
fi
|
||||
if test "x$enable_opencl" = xyes; then
|
||||
HAVE_CLOVER_TRUE=
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# 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
|
||||
@@ -1507,7 +1507,11 @@
|
||||
|
||||
if (!getenv("LIBGL_ALWAYS_SOFTWARE")) {
|
||||
#ifdef HAVE_DRI3
|
||||
+#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined (__DRM_NEXT__)
|
||||
+ if (getenv("LIBGL_DRI3_ENABLE") && !getenv("LIBGL_DRI3_DISABLE"))
|
||||
+#else
|
||||
if (!getenv("LIBGL_DRI3_DISABLE"))
|
||||
+#endif
|
||||
initialized = dri2_initialize_x11_dri3(drv, disp);
|
||||
#endif
|
||||
|
||||
+5
-5
@@ -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 2016-11-10 22:05:17 UTC
|
||||
--- 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
|
||||
@@ -215,6 +215,14 @@ pipe_loader_drm_probe_fd(struct pipe_loa
|
||||
@@ -225,6 +225,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];
|
||||
@@ -226,8 +234,15 @@ open_drm_render_node_minor(int minor)
|
||||
@@ -236,8 +244,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;
|
||||
@@ -241,6 +256,9 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
@@ -251,6 +266,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 {
|
||||
@@ -250,6 +268,46 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
@@ -260,6 +278,46 @@ pipe_loader_drm_probe(struct pipe_loader
|
||||
j++;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
ic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv' can not be used when making a shared object; recompile with -fPIC
|
||||
# /usr/bin/ld: final link failed: Bad value
|
||||
#
|
||||
--- src/gallium/state_trackers/clover/llvm/invocation.cpp.orig 2016-11-28 15:34:30 UTC
|
||||
--- src/gallium/state_trackers/clover/llvm/invocation.cpp.orig 2017-04-01 15:33:37 UTC
|
||||
+++ src/gallium/state_trackers/clover/llvm/invocation.cpp
|
||||
@@ -93,6 +93,8 @@ namespace {
|
||||
return ctx;
|
||||
@@ -17,7 +17,7 @@ ic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv' can not be used when
|
||||
std::unique_ptr<clang::CompilerInstance>
|
||||
create_compiler_instance(const target &target,
|
||||
const std::vector<std::string> &opts,
|
||||
@@ -104,8 +106,8 @@ namespace {
|
||||
@@ -105,8 +107,8 @@ namespace {
|
||||
// Parse the compiler options. A file name should be present at the end
|
||||
// and must have the .cl extension in order for the CompilerInvocation
|
||||
// class to recognize it as an OpenCL source file.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# work-around for https://bugs.freedesktop.org/show_bug.cgi?id=100627
|
||||
#
|
||||
--- src/glx/glxext.c.orig 2017-04-01 15:33:37 UTC
|
||||
+++ src/glx/glxext.c
|
||||
@@ -906,7 +906,11 @@ __glXInitialize(Display * dpy)
|
||||
#if defined(GLX_USE_DRM)
|
||||
if (glx_direct && glx_accel) {
|
||||
#if defined(HAVE_DRI3)
|
||||
+#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined (__DRM_NEXT__)
|
||||
+ if (getenv("LIBGL_DRI3_ENABLE") && !getenv("LIBGL_DRI3_DISABLE"))
|
||||
+#else
|
||||
if (!getenv("LIBGL_DRI3_DISABLE"))
|
||||
+#endif
|
||||
dpyPriv->dri3Display = dri3_create_display(dpy);
|
||||
#endif /* HAVE_DRI3 */
|
||||
dpyPriv->dri2Display = dri2CreateDisplay(dpy);
|
||||
@@ -1,11 +1,11 @@
|
||||
# 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 2016-11-28 15:34:30 UTC
|
||||
--- src/intel/tools/aubinator.c.orig 2017-04-01 15:33:37 UTC
|
||||
+++ src/intel/tools/aubinator.c
|
||||
@@ -1226,7 +1226,7 @@ int main(int argc, char *argv[])
|
||||
@@ -1299,7 +1299,7 @@ int main(int argc, char *argv[])
|
||||
/* mmap a terabyte for our gtt space. */
|
||||
gtt_size = 1ul << 40;
|
||||
gtt_size = 1ull << 40;
|
||||
gtt = mmap(NULL, gtt_size, PROT_READ | PROT_WRITE,
|
||||
- MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0);
|
||||
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_NOSYNC | MAP_NOCORE, -1, 0);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- src/util/ralloc.c.orig 2016-11-28 15:34:30 UTC
|
||||
--- src/util/ralloc.c.orig 2017-04-01 15:33:37 UTC
|
||||
+++ src/util/ralloc.c
|
||||
@@ -315,6 +315,7 @@ ralloc_parent(const void *ptr)
|
||||
@@ -338,6 +338,7 @@ ralloc_parent(const void *ptr)
|
||||
|
||||
static void *autofree_context = NULL;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
static void
|
||||
autofree(void)
|
||||
{
|
||||
@@ -326,7 +327,6 @@ ralloc_autofree_context(void)
|
||||
@@ -349,7 +350,6 @@ ralloc_autofree_context(void)
|
||||
{
|
||||
if (unlikely(autofree_context == NULL)) {
|
||||
autofree_context = ralloc_context(NULL);
|
||||
|
||||
@@ -11,7 +11,6 @@ COMMENT= Off-Screen Mesa implementation of the OpenGL API
|
||||
LIB_DEPENDS= libexpat.so:textproc/expat2 \
|
||||
libglapi.so:graphics/libglapi
|
||||
|
||||
USES= ssl
|
||||
USE_XORG= dri2proto dri3proto glproto presentproto x11 xau xcb xdmcp xvmc
|
||||
# libosmesa doesn't link agains libGL but osmesa.h needs GL/gl.h
|
||||
# and both headers are intalled by libGL ....
|
||||
|
||||
@@ -13,7 +13,6 @@ LIB_DEPENDS= libdrm.so:graphics/libdrm \
|
||||
libexpat.so:textproc/expat2
|
||||
RUN_DEPENDS= opencl>=0:devel/opencl
|
||||
|
||||
USES= ssl
|
||||
USE_XORG= dri2proto dri3proto glproto presentproto x11 xdamage xext \
|
||||
xfixes xshmfence xvmc xxf86vm
|
||||
|
||||
|
||||
Reference in New Issue
Block a user