Index: graphics/dri/Makefile =================================================================== --- graphics/dri/Makefile +++ graphics/dri/Makefile @@ -11,15 +11,22 @@ 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 Index: graphics/dri/pkg-help =================================================================== --- graphics/dri/pkg-help +++ graphics/dri/pkg-help @@ -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 Index: graphics/dri/pkg-plist =================================================================== --- graphics/dri/pkg-plist +++ graphics/dri/pkg-plist @@ -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 @@ %%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 @@ @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 Index: graphics/libGL/Makefile.common =================================================================== --- graphics/libGL/Makefile.common +++ graphics/libGL/Makefile.common @@ -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 @@ 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+= --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 Index: graphics/libGL/Makefile.targets =================================================================== --- graphics/libGL/Makefile.targets +++ graphics/libGL/Makefile.targets @@ -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 @@ .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' \ Index: graphics/libGL/distinfo =================================================================== --- graphics/libGL/distinfo +++ graphics/libGL/distinfo @@ -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 Index: graphics/libGL/files/configure.ac =================================================================== --- graphics/libGL/files/configure.ac +++ graphics/libGL/files/configure.ac @@ -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) Index: graphics/libGL/files/patch-configure =================================================================== --- graphics/libGL/files/patch-configure +++ graphics/libGL/files/patch-configure @@ -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= Index: graphics/libosmesa/Makefile =================================================================== --- graphics/libosmesa/Makefile +++ graphics/libosmesa/Makefile @@ -11,7 +11,6 @@ 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 .... Index: lang/clover/Makefile =================================================================== --- lang/clover/Makefile +++ lang/clover/Makefile @@ -13,7 +13,6 @@ 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