[Bf-blender-cvs] [0fe3ff13c7b] mac_arm64: Revert "macOS: Enabled Embree on arm64."

Stefan Werner noreply at git.blender.org
Thu Jul 16 07:49:37 CEST 2020


Commit: 0fe3ff13c7b9ae9e55339ef8ecc2213f65619e87
Author: Stefan Werner
Date:   Wed Jul 15 23:24:54 2020 +0200
Branches: mac_arm64
https://developer.blender.org/rB0fe3ff13c7b9ae9e55339ef8ecc2213f65619e87

Revert "macOS: Enabled Embree on arm64."

This reverts commit 86f207f4fdc17fa5ed6b600c1df9f8ed2e44d569.

===================================================================

M	build_files/build_environment/CMakeLists.txt
M	build_files/build_environment/cmake/embree.cmake
M	build_files/build_environment/cmake/harvest.cmake
M	build_files/build_environment/cmake/versions.cmake
M	build_files/cmake/Modules/FindEmbree.cmake
M	build_files/cmake/platform/platform_apple.cmake
M	intern/cycles/bvh/bvh_embree.cpp
M	intern/cycles/util/util_defines.h

===================================================================

diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 05f3c7853fd..276311fe2d8 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -89,7 +89,6 @@ include(cmake/python_site_packages.cmake)
 include(cmake/package_python.cmake)
 include(cmake/numpy.cmake)
 include(cmake/usd.cmake)
-  include(cmake/embree.cmake)
 if(UNIX)
   # Rely on PugiXML compiled with OpenImageIO
 else()
@@ -98,6 +97,7 @@ endif()
 if((NOT APPLE) OR ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
   include(cmake/ispc.cmake)
   include(cmake/openimagedenoise.cmake)
+  include(cmake/embree.cmake)
 endif()
 if(NOT APPLE)
   include(cmake/xr_openxr.cmake)
diff --git a/build_files/build_environment/cmake/embree.cmake b/build_files/build_environment/cmake/embree.cmake
index f4e70bb41ee..66a86cd5dbd 100644
--- a/build_files/build_environment/cmake/embree.cmake
+++ b/build_files/build_environment/cmake/embree.cmake
@@ -19,12 +19,6 @@
 # Note the utility apps may use png/tiff/gif system libraries, but the
 # library itself does not depend on them, so should give no problems.
 
-if(APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
-  set(EMBREE_MAX_ISA SSE2)
-else()
-  set(EMBREE_MAX_ISA AVX2)
-endif()
-
 set(EMBREE_EXTRA_ARGS
   -DEMBREE_ISPC_SUPPORT=OFF
   -DEMBREE_TUTORIALS=OFF
@@ -32,7 +26,7 @@ set(EMBREE_EXTRA_ARGS
   -DEMBREE_RAY_MASK=ON
   -DEMBREE_FILTER_FUNCTION=ON
   -DEMBREE_BACKFACE_CULLING=OFF
-  -DEMBREE_MAX_ISA=${EMBREE_MAX_ISA}
+  -DEMBREE_MAX_ISA=AVX2
   -DEMBREE_TASKING_SYSTEM=TBB
   -DEMBREE_TBB_ROOT=${LIBDIR}/tbb
   -DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index 3d2d7e9a451..f860778a6a1 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -135,9 +135,9 @@ harvest(openimageio/lib openimageio/lib "*.a")
 if((NOT APPLE) OR ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
   harvest(openimagedenoise/include openimagedenoise/include "*")
   harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
+  harvest(embree/include embree/include "*.h")
+  harvest(embree/lib embree/lib "*.a")
 endif()
-harvest(embree/include embree/include "*.h")
-harvest(embree/lib embree/lib "*.a")
 harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h")
 harvest(openjpeg/lib openjpeg/lib "*.a")
 harvest(opensubdiv/include opensubdiv/include "*.h")
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 59a876e9668..ce2a1191f17 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -286,13 +286,8 @@ set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
 set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
 
 set(EMBREE_VERSION 3.10.0)
-if(APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
-  set(EMBREE_URI https://github.com/skwerner/embree-aarch64/archive/v${EMBREE_VERSION}.zip)
-  set(EMBREE_HASH 49da93253d03512c8ddba2de3b74e257)
-else()
-  set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
-  set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
-endif()
+set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
+set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
 
 set(USD_VERSION 20.05)
 set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
diff --git a/build_files/cmake/Modules/FindEmbree.cmake b/build_files/cmake/Modules/FindEmbree.cmake
index 1e39d6f5913..fa613f62308 100644
--- a/build_files/cmake/Modules/FindEmbree.cmake
+++ b/build_files/cmake/Modules/FindEmbree.cmake
@@ -41,29 +41,18 @@ FIND_PATH(EMBREE_INCLUDE_DIR
     include
 )
 
-if(APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
 
 SET(_embree_FIND_COMPONENTS
-    embree3
-    lexers
-    math
-    simd
-    sys
-    tasking
+  embree3
+  embree_avx
+  embree_avx2
+  embree_sse42
+  lexers
+  math
+  simd
+  sys
+  tasking
 )
-else()
-  SET(_embree_FIND_COMPONENTS
-    embree3
-    embree_avx
-    embree_avx2
-    embree_sse42
-    lexers
-    math
-    simd
-    sys
-    tasking
-  )
-endif()
 
 SET(_embree_LIBRARIES)
 FOREACH(COMPONENT ${_embree_FIND_COMPONENTS})
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index b80c66ebf36..a80b0b56901 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -383,6 +383,7 @@ if(WITH_CYCLES_OSL)
 endif()
 
 if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
+  set(WITH_CYCLES_EMBREE OFF)
   set(WITH_OPENIMAGEDENOISE OFF)
   set(WITH_CPU_SSE OFF)
 endif()
diff --git a/intern/cycles/bvh/bvh_embree.cpp b/intern/cycles/bvh/bvh_embree.cpp
index 35f233a2cbf..17e1f86a589 100644
--- a/intern/cycles/bvh/bvh_embree.cpp
+++ b/intern/cycles/bvh/bvh_embree.cpp
@@ -31,10 +31,8 @@
 #ifdef WITH_EMBREE
 
 #  include <embree3/rtcore_geometry.h>
-#  ifdef __SSE2__
-#    include <pmmintrin.h>
-#    include <xmmintrin.h>
-#  endif
+#  include <pmmintrin.h>
+#  include <xmmintrin.h>
 
 #  include "bvh/bvh_embree.h"
 
@@ -328,10 +326,8 @@ BVHEmbree::BVHEmbree(const BVHParams &params_,
       build_quality(RTC_BUILD_QUALITY_REFIT),
       dynamic_scene(true)
 {
-#  ifdef __SSE2__
   _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
   _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON);
-#  endif
   thread_scoped_lock lock(rtc_shared_mutex);
   if (rtc_shared_users == 0) {
     rtc_shared_device = rtcNewDevice("verbose=0");
diff --git a/intern/cycles/util/util_defines.h b/intern/cycles/util/util_defines.h
index 0a239a944a5..e8e414587fb 100644
--- a/intern/cycles/util/util_defines.h
+++ b/intern/cycles/util/util_defines.h
@@ -26,7 +26,7 @@
 /* Bitness */
 
 #if defined(__ppc64__) || defined(__PPC64__) || defined(__x86_64__) || defined(__ia64__) || \
-    defined(_M_X64) || defined(__aarch64__)
+    defined(_M_X64)
 #  define __KERNEL_64_BIT__
 #endif



More information about the Bf-blender-cvs mailing list