https://github.com/PixarAnimationStudios/OpenSubdiv/pull/1234 https://bugs.gentoo.org/820824 From 7375c99a4d1337f9b79775fb2c753e7865968642 Mon Sep 17 00:00:00 2001 From: Artur Sinila Date: Sun, 25 Jul 2021 20:34:48 +0300 Subject: [PATCH 1/2] Fix typo: schedular -> scheduler --- a/opensubdiv/osd/tbbEvaluator.h +++ b/opensubdiv/osd/tbbEvaluator.h @@ -1226,7 +1226,7 @@ class TbbEvaluator { /// \brief synchronize all asynchronous computation invoked on this device. static void Synchronize(void *deviceContext = NULL); - /// \brief initialize tbb task schedular + /// \brief initialize tbb task scheduler /// (optional: client may use tbb::task_scheduler_init) /// /// @param numThreads how many threads From 9079a517f406afba9ea50657b0a0786ad7a7bdcb Mon Sep 17 00:00:00 2001 From: Artur Sinila Date: Sun, 25 Jul 2021 20:58:27 +0300 Subject: [PATCH 2/2] Support oneTBB 2021 --- a/opensubdiv/osd/tbbEvaluator.cpp +++ b/opensubdiv/osd/tbbEvaluator.cpp @@ -25,7 +25,8 @@ #include "../osd/tbbEvaluator.h" #include "../osd/tbbKernel.h" -#include +#define TBB_PREVIEW_GLOBAL_CONTROL true +#include namespace OpenSubdiv { namespace OPENSUBDIV_VERSION { @@ -215,10 +216,11 @@ TbbEvaluator::Synchronize(void *) { /* static */ void TbbEvaluator::SetNumThreads(int numThreads) { - if (numThreads == -1) { - tbb::task_scheduler_init init; - } else { - tbb::task_scheduler_init init(numThreads); + if (numThreads != -1) { + tbb::global_control tbb_global_control( + tbb::global_control::max_allowed_parallelism, + numThreads + ); } }