Build: use TBB as Embree tasking system

This avoids launching additional threads and solves some console warnings on
Linux + AMD Ryzen CPU.
This commit is contained in:
Brecht Van Lommel 2020-06-04 15:12:31 +02:00
parent 0b28f0410c
commit c7329da14b
Notes: blender-bot 2023-10-25 18:04:32 +02:00
Referenced by commit 7d32a259bf, Installdeps: make embree use TBB.
Referenced by issue #71398, EEVEE: long background render times create sluggish viewport
Referenced by issue #73778, Cycles: Embree improvements
1 changed files with 17 additions and 1 deletions

View File

@ -26,10 +26,20 @@ set(EMBREE_EXTRA_ARGS
-DEMBREE_RAY_MASK=ON
-DEMBREE_FILTER_FUNCTION=ON
-DEMBREE_BACKFACE_CULLING=OFF
-DEMBREE_TASKING_SYSTEM=INTERNAL
-DEMBREE_MAX_ISA=AVX2
-DEMBREE_TASKING_SYSTEM=TBB
-DEMBREE_TBB_ROOT=${LIBDIR}/tbb
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
)
if(TBB_STATIC_LIBRARY)
set(EMBREE_EXTRA_ARGS
${EMBREE_EXTRA_ARGS}
-DEMBREE_TBB_LIBRARY_NAME=tbb_static
-DEMBREE_TBBMALLOC_LIBRARY_NAME=tbbmalloc_static
)
endif()
if(WIN32)
set(EMBREE_BUILD_DIR ${BUILD_MODE}/)
else()
@ -44,6 +54,12 @@ ExternalProject_Add(external_embree
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
INSTALL_DIR ${LIBDIR}/embree
)
add_dependencies(
external_embree
external_tbb
)
if(WIN32)
if(BUILD_MODE STREQUAL Release)