svn commit: r415924 - in head/graphics/embree: . files

Alexey Dokuchaev danfe at FreeBSD.org
Fri May 27 05:41:29 UTC 2016


Author: danfe
Date: Fri May 27 05:41:27 2016
New Revision: 415924
URL: https://svnweb.freebsd.org/changeset/ports/415924

Log:
  - Update to version 2.10.0
  - Remove `compiler:c++11-lang' from USES, it is not needed (the port does
    not build on 9.x with any of c++11-lang/c++11-lib/USE_GCC=yes anyways)
  - Make image format support in helper programs optional (and off by default)

Added:
  head/graphics/embree/files/patch-common_math_math.h   (contents, props changed)
  head/graphics/embree/files/patch-kernels_xeon_bvh_bvh__rotate.cpp
     - copied, changed from r415923, head/graphics/embree/files/patch-kernels_xeon_bvh4_bvh4__rotate.cpp
Deleted:
  head/graphics/embree/files/patch-common_cmake_clang.cmake
  head/graphics/embree/files/patch-common_cmake_gcc.cmake
  head/graphics/embree/files/patch-kernels_xeon_bvh4_bvh4__rotate.cpp
Modified:
  head/graphics/embree/Makefile
  head/graphics/embree/distinfo
  head/graphics/embree/files/patch-common_sys_intrinsics.h
  head/graphics/embree/files/patch-common_sys_thread.cpp
  head/graphics/embree/pkg-plist

Modified: head/graphics/embree/Makefile
==============================================================================
--- head/graphics/embree/Makefile	Fri May 27 04:35:40 2016	(r415923)
+++ head/graphics/embree/Makefile	Fri May 27 05:41:27 2016	(r415924)
@@ -3,8 +3,7 @@
 
 PORTNAME=	embree
 DISTVERSIONPREFIX=	v
-DISTVERSION=	2.7.0
-PORTREVISION=	1
+DISTVERSION=	2.10.0
 CATEGORIES=	graphics
 
 MAINTAINER=	danfe at FreeBSD.org
@@ -12,9 +11,6 @@ COMMENT=	Collection of high-performance 
 
 LICENSE=	APACHE20
 
-LIB_DEPENDS=	libMagick++-6.so:graphics/ImageMagick \
-		libIlmImf.so:graphics/OpenEXR
-
 ONLY_FOR_ARCHS=	i386 amd64
 ONLY_FOR_ARCHS_REASON=	heavy use of SSE instructions
 
@@ -22,7 +18,7 @@ BROKEN_FreeBSD_9=	does not build (insuff
 
 USE_GITHUB=	yes
 
-USES=		cmake compiler:c++11-lang
+USES=		cmake
 USE_GL=		glut
 USE_XORG=	xmu
 USE_LDCONFIG=	yes
@@ -33,25 +29,33 @@ CMAKE_ARGS=	-DRTCORE_TASKING_SYSTEM:STRI
 
 CXXFLAGS+=	-msse2					# required on i386
 
+DOCSDIR=	${PREFIX}/share/doc/${PORTNAME}2
 PLIST_SUB+=	VERSION=${DISTVERSION}
 
+OPTIONS_DEFINE=	IMAGE_MAGICK JPEG OPENEXR PNG
+IMAGE_MAGICK_DESC=	BMP, GIF, PNG, TGA, TIFF image formats support
+
+IMAGE_MAGICK_LIB_DEPENDS=	libMagick++-6.so:graphics/ImageMagick
+IMAGE_MAGICK_CMAKE_ON=	-DUSE_IMAGE_MAGICK:BOOL=ON
+
+JPEG_USES=		jpeg
+JPEG_CMAKE_OFF=		-DUSE_LIBJPEG:BOOL=OFF
+
+OPENEXR_LIB_DEPENDS=	libIlmImf.so:graphics/OpenEXR
+OPENEXR_CMAKE_OFF=	-DUSE_OPENEXR:BOOL=OFF
+
+PNG_LIB_DEPENDS=	libpng.so:graphics/png
+PNG_CMAKE_OFF=		-DUSE_LIBPNG:BOOL=OFF
+
 post-patch:
-# MAP_NORESERVE was never implemented in FreeBSD and retired in r273250
-	@${REINPLACE_CMD} -e 's,MAP_NORESERVE,0,' \
+	@${REINPLACE_CMD} -e 's,MAP_HUGETLB,MAP_ALIGNED_SUPER,' \
 		${WRKSRC}/common/sys/alloc.cpp
 	@${REINPLACE_CMD} -e '/__aligned/s,^,//,' \
 		${WRKSRC}/common/sys/platform.h
-	@${REINPLACE_CMD} -e 's,__UNIX__) &&.*,__LINUX__),' \
+	@${REINPLACE_CMD} -e 's,MAP_POPULATE,MAP_PREFAULT_READ,' \
 		${WRKSRC}/tests/benchmark.cpp
-	@${REINPLACE_CMD} -e '/share\/doc/,+2 { \
-		s,share/doc/embree-[^)]*,${DOCSDIR_REL}, ; \
-		s,bin/,, ; } ' ${WRKSRC}/common/cmake/package.cmake
 	@${REINPLACE_CMD} -e '/encodeRGB8_to_JPEG/s,size_t \*,unsigned \
 		long *,' ${WRKSRC}/tutorials/common/image/image.h \
 		${WRKSRC}/tutorials/common/image/jpeg.cpp
 
-post-install:
-	${LN} -sf libembree.so.${DISTVERSION} \
-		${STAGEDIR}${PREFIX}/lib/libembree.so
-
 .include <bsd.port.mk>

Modified: head/graphics/embree/distinfo
==============================================================================
--- head/graphics/embree/distinfo	Fri May 27 04:35:40 2016	(r415923)
+++ head/graphics/embree/distinfo	Fri May 27 05:41:27 2016	(r415924)
@@ -1,2 +1,2 @@
-SHA256 (embree-embree-v2.7.0_GH0.tar.gz) = 2b5dacbf1c94a2e6568661eae7cdb91abbdc65feaccd8aec03c8fd4b32fca6aa
-SIZE (embree-embree-v2.7.0_GH0.tar.gz) = 1697062
+SHA256 (embree-embree-v2.10.0_GH0.tar.gz) = c011dc3c035c9618733a2e256ca24efe54aea937f86069e24ff87b02af2d50e4
+SIZE (embree-embree-v2.10.0_GH0.tar.gz) = 1774006

Added: head/graphics/embree/files/patch-common_math_math.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/embree/files/patch-common_math_math.h	Fri May 27 05:41:27 2016	(r415924)
@@ -0,0 +1,11 @@
+--- common/math/math.h.orig	2016-05-20 05:45:13 UTC
++++ common/math/math.h
+@@ -179,7 +179,7 @@ namespace embree
+   }
+ #endif
+ 
+-#if defined(__WIN32__)
++#if defined(__WIN32__) || defined(__FreeBSD__)
+   __forceinline void sincosf(float x, float *s, float *c) {
+     *s = sinf(x); *c = cosf(x);
+   }

Modified: head/graphics/embree/files/patch-common_sys_intrinsics.h
==============================================================================
--- head/graphics/embree/files/patch-common_sys_intrinsics.h	Fri May 27 04:35:40 2016	(r415923)
+++ head/graphics/embree/files/patch-common_sys_intrinsics.h	Fri May 27 05:41:27 2016	(r415924)
@@ -1,6 +1,6 @@
---- common/sys/intrinsics.h.orig	2015-09-17 06:11:18 UTC
+--- common/sys/intrinsics.h.orig	2016-05-20 05:45:13 UTC
 +++ common/sys/intrinsics.h
-@@ -361,6 +361,7 @@ namespace embree
+@@ -268,6 +268,7 @@ namespace embree
  #endif
    }
    
@@ -8,7 +8,7 @@
    __forceinline unsigned __bsf(unsigned v) 
    {
  #if defined(__AVX2__) 
-@@ -369,6 +370,7 @@ namespace embree
+@@ -276,6 +277,7 @@ namespace embree
      unsigned r = 0; asm ("bsf %1,%0" : "=r"(r) : "r"(v)); return r;
  #endif
    }
@@ -16,7 +16,7 @@
    
    __forceinline size_t __bsf(size_t v) {
  #if defined(__AVX2__)
-@@ -389,12 +391,14 @@ namespace embree
+@@ -306,12 +308,14 @@ namespace embree
      return i;
    }
    
@@ -31,7 +31,7 @@
    
    __forceinline size_t __bscf(size_t& v) 
    {
-@@ -411,6 +415,7 @@ namespace embree
+@@ -328,6 +332,7 @@ namespace embree
  #endif
    }
    
@@ -39,7 +39,7 @@
    __forceinline unsigned __bsr(unsigned v) {
  #if defined(__AVX2__) 
      return 31 - _lzcnt_u32(v);
-@@ -418,6 +423,7 @@ namespace embree
+@@ -335,6 +340,7 @@ namespace embree
      unsigned r = 0; asm ("bsr %1,%0" : "=r"(r) : "r"(v)); return r;
  #endif
    }
@@ -47,16 +47,15 @@
    
    __forceinline size_t __bsr(size_t v) {
  #if defined(__AVX2__)
-@@ -443,7 +449,11 @@ namespace embree
- 
-   __forceinline size_t __blsr(size_t v) {
- #if defined(__AVX2__) 
--    return _blsr_u64(v);
+@@ -363,7 +369,11 @@ namespace embree
+ #if defined(__INTEL_COMPILER)
+     return _blsr_u64(v);
+ #else
 +#if defined(__X86_64__)
-+    return __blsr_u64(v);
+     return __blsr_u64(v);
 +#else
 +    return __blsr_u32(v);
 +#endif
+ #endif
  #else
      return v & (v-1);
- #endif

Modified: head/graphics/embree/files/patch-common_sys_thread.cpp
==============================================================================
--- head/graphics/embree/files/patch-common_sys_thread.cpp	Fri May 27 04:35:40 2016	(r415923)
+++ head/graphics/embree/files/patch-common_sys_thread.cpp	Fri May 27 05:41:27 2016	(r415924)
@@ -1,21 +1,59 @@
---- common/sys/thread.cpp.orig	2015-09-17 06:11:18 UTC
+--- common/sys/thread.cpp.orig	2016-05-20 05:45:13 UTC
 +++ common/sys/thread.cpp
-@@ -171,13 +171,16 @@ namespace embree
- /// Linux Platform
- ////////////////////////////////////////////////////////////////////////////////
+@@ -239,6 +239,29 @@ namespace embree
+ #endif
  
--#if defined(__LINUX__)
-+#if defined(__LINUX__) || defined(__FreeBSD__)
+ ////////////////////////////////////////////////////////////////////////////////
++/// FreeBSD Platform
++////////////////////////////////////////////////////////////////////////////////
++
++#if defined(__FreeBSD__)
 +
 +#include <pthread_np.h>
 +
- namespace embree
- {
-   /*! set affinity of the calling thread */
-   void setAffinity(ssize_t affinity)
-   {
--    cpu_set_t cset;
++namespace embree
++{
++  /*! set affinity of the calling thread */
++  void setAffinity(ssize_t affinity)
++  {
 +    cpuset_t cset;
-     CPU_ZERO(&cset);
-     CPU_SET(affinity, &cset);
++    CPU_ZERO(&cset);
++    CPU_SET(affinity, &cset);
++
++    if (pthread_setaffinity_np(pthread_self(), sizeof(cset), &cset) != 0)
++      WARNING("pthread_setaffinity_np failed"); // on purpose only a warning
++  }
++}
++#endif
++
++////////////////////////////////////////////////////////////////////////////////
+ /// MacOSX Platform
+ ////////////////////////////////////////////////////////////////////////////////
+ 
+@@ -291,7 +314,8 @@ namespace embree
+   {
+     _mm_setcsr(_mm_getcsr() | /*FTZ:*/ (1<<15) | /*DAZ:*/ (1<<6));
  
+-#if !defined(__LINUX__)
++#if defined(__MACOSX__)
++    /*! Mac OS X does not support setting affinity at thread creation time */
+     if (parg->affinity >= 0)
+ 	setAffinity(parg->affinity);
+ #endif
+@@ -320,7 +344,15 @@ namespace embree
+       cpu_set_t cset;
+       CPU_ZERO(&cset);
+       CPU_SET(mapThreadID(threadID), &cset);
+-      if (pthread_setaffinity_np(*tid,sizeof(cpu_set_t),&cset))
++      if (pthread_setaffinity_np(*tid, sizeof(cset), &cset))
++        WARNING("pthread_setaffinity_np failed"); // on purpose only a warning
++    }
++#elif defined(__FreeBSD__)
++    if (threadID >= 0) {
++      cpuset_t cset;
++      CPU_ZERO(&cset);
++      CPU_SET(threadID, &cset);
++      if (pthread_setaffinity_np(*tid, sizeof(cset), &cset))
+         WARNING("pthread_setaffinity_np failed"); // on purpose only a warning
+     }
+ #endif

Copied and modified: head/graphics/embree/files/patch-kernels_xeon_bvh_bvh__rotate.cpp (from r415923, head/graphics/embree/files/patch-kernels_xeon_bvh4_bvh4__rotate.cpp)
==============================================================================
--- head/graphics/embree/files/patch-kernels_xeon_bvh4_bvh4__rotate.cpp	Fri May 27 04:35:40 2016	(r415923, copy source)
+++ head/graphics/embree/files/patch-kernels_xeon_bvh_bvh__rotate.cpp	Fri May 27 05:41:27 2016	(r415924)
@@ -1,15 +1,15 @@
---- kernels/xeon/bvh4/bvh4_rotate.cpp.orig	2015-09-17 06:11:18 UTC
-+++ kernels/xeon/bvh4/bvh4_rotate.cpp
+--- kernels/xeon/bvh/bvh_rotate.cpp.orig	2016-05-20 05:45:13 UTC
++++ kernels/xeon/bvh/bvh_rotate.cpp
 @@ -104,7 +104,11 @@ namespace embree
  	/*! find best other child */
- 	float4 area0123 = float4(extract<0>(min0),extract<0>(min1),extract<0>(min2),extract<0>(min3)) - float4(childArea[c2]);
+ 	vfloat4 area0123 = vfloat4(extract<0>(min0),extract<0>(min1),extract<0>(min2),extract<0>(min3)) - vfloat4(childArea[c2]);
  	int pos[4] = { pos0,pos1,pos2,pos3 };
--	bool4 valid = int4(int(depth+1))+cdepth <= int4(BVH4::maxBuildDepth); // only select swaps that fulfill depth constraints
+-	vbool4 valid = vint4(int(depth+1))+cdepth <= vint4(BVH4::maxBuildDepth); // only select swaps that fulfill depth constraints
 +	// Ensure that we have a variable to avoid linking problems on i386.
 +	// On amd64 sizeof(size_t) == 8, so previously temporary was created
-+	// for the int4(BVH4::maxBuildDepth) call.
++	// for the vint4(BVH4::maxBuildDepth) call.
 +	const size_t mbd = BVH4::maxBuildDepth;
-+	bool4 valid = int4(int(depth+1))+cdepth <= int4(mbd); // only select swaps that fulfill depth constraints
- 	valid &= int4(c2) != int4(step);
++	vbool4 valid = vint4(int(depth+1))+cdepth <= vint4(mbd); // only select swaps that fulfill depth constraints
+ 	valid &= vint4(c2) != vint4(step);
  	if (none(valid)) continue;
  	size_t c1 = select_min(valid,area0123);

Modified: head/graphics/embree/pkg-plist
==============================================================================
--- head/graphics/embree/pkg-plist	Fri May 27 04:35:40 2016	(r415923)
+++ head/graphics/embree/pkg-plist	Fri May 27 05:41:27 2016	(r415924)
@@ -1,33 +1,41 @@
-embree-%%VERSION%%/benchmark
-embree-%%VERSION%%/bvh_builder
-embree-%%VERSION%%/displacement_geometry
-embree-%%VERSION%%/dynamic_scene
-embree-%%VERSION%%/hair_geometry
-embree-%%VERSION%%/instanced_geometry
-embree-%%VERSION%%/interpolation
-embree-%%VERSION%%/intersection_filter
-embree-%%VERSION%%/lazy_geometry
-embree-%%VERSION%%/models/cornell_box.ecs
-embree-%%VERSION%%/models/cornell_box.mtl
-embree-%%VERSION%%/models/cornell_box.obj
-embree-%%VERSION%%/models/subdiv0.xml
-embree-%%VERSION%%/models/subdiv1.xml
-embree-%%VERSION%%/models/subdiv2.xml
-embree-%%VERSION%%/models/subdiv3.xml
-embree-%%VERSION%%/models/subdiv4.xml
-embree-%%VERSION%%/models/subdiv5.xml
-embree-%%VERSION%%/models/subdiv6.xml
-embree-%%VERSION%%/models/subdiv7.xml
-embree-%%VERSION%%/models/subdiv8.xml
-embree-%%VERSION%%/models/subdiv9.xml
-embree-%%VERSION%%/motion_blur_geometry
-embree-%%VERSION%%/pathtracer
-embree-%%VERSION%%/retrace
-embree-%%VERSION%%/subdivision_geometry
-embree-%%VERSION%%/triangle_geometry
-embree-%%VERSION%%/user_geometry
-embree-%%VERSION%%/verify
-embree-%%VERSION%%/viewer
+bin/embree2/benchmark
+bin/embree2/bvh_access
+bin/embree2/bvh_builder
+bin/embree2/convert
+bin/embree2/curve_geometry
+bin/embree2/displacement_geometry
+bin/embree2/dynamic_scene
+bin/embree2/hair_geometry
+bin/embree2/instanced_geometry
+bin/embree2/interpolation
+bin/embree2/intersection_filter
+bin/embree2/lazy_geometry
+bin/embree2/models/cornell_box.ecs
+bin/embree2/models/cornell_box.mtl
+bin/embree2/models/cornell_box.obj
+bin/embree2/models/curve0.xml
+bin/embree2/models/curve1.xml
+bin/embree2/models/linesegments.ecs
+bin/embree2/models/linesegments.xml
+bin/embree2/models/subdiv0.xml
+bin/embree2/models/subdiv1.xml
+bin/embree2/models/subdiv2.xml
+bin/embree2/models/subdiv3.xml
+bin/embree2/models/subdiv4.xml
+bin/embree2/models/subdiv5.xml
+bin/embree2/models/subdiv6.xml
+bin/embree2/models/subdiv7.xml
+bin/embree2/models/subdiv8.xml
+bin/embree2/models/subdiv9.xml
+bin/embree2/motion_blur_geometry
+bin/embree2/pathtracer
+bin/embree2/retrace
+bin/embree2/subdivision_geometry
+bin/embree2/triangle_geometry
+bin/embree2/user_geometry
+bin/embree2/verify
+bin/embree2/viewer
+bin/embree2/viewer_stream
 include/embree2/rtcore.h
 include/embree2/rtcore.isph
 include/embree2/rtcore_geometry.h
@@ -38,6 +46,7 @@ include/embree2/rtcore_ray.h
 include/embree2/rtcore_ray.isph
 include/embree2/rtcore_scene.h
 include/embree2/rtcore_scene.isph
+lib/cmake/embree-%%VERSION%%/embree-config-default.cmake
 lib/cmake/embree-%%VERSION%%/embree-config-version.cmake
 lib/cmake/embree-%%VERSION%%/embree-config.cmake
 lib/libembree.so


More information about the svn-ports-all mailing list