From 0fe3ff13c7b9ae9e55339ef8ecc2213f65619e87 Mon Sep 17 00:00:00 2001 From: Stefan Werner Date: Wed, 15 Jul 2020 23:24:54 +0200 Subject: Revert "macOS: Enabled Embree on arm64." This reverts commit 86f207f4fdc17fa5ed6b600c1df9f8ed2e44d569. --- build_files/build_environment/CMakeLists.txt | 2 +- build_files/build_environment/cmake/embree.cmake | 8 +----- build_files/build_environment/cmake/harvest.cmake | 4 +-- build_files/build_environment/cmake/versions.cmake | 9 ++----- build_files/cmake/Modules/FindEmbree.cmake | 29 +++++++--------------- build_files/cmake/platform/platform_apple.cmake | 1 + intern/cycles/bvh/bvh_embree.cpp | 8 ++---- intern/cycles/util/util_defines.h | 2 +- 8 files changed, 19 insertions(+), 44 deletions(-) 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 -# ifdef __SSE2__ -# include -# include -# endif +# include +# include # include "bvh/bvh_embree.h" @@ -328,10 +326,8 @@ BVHEmbree::BVHEmbree(const BVHParams ¶ms_, 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 -- cgit v1.2.3