summaryrefslogtreecommitdiff
blob: e14780ec139cc0c542086996fe40e6bb9ec69936 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
https://github.com/PixarAnimationStudios/OpenSubdiv/pull/1234
https://bugs.gentoo.org/820824

From 7375c99a4d1337f9b79775fb2c753e7865968642 Mon Sep 17 00:00:00 2001
From: Artur Sinila <freesoftware@logarithmus.dev>
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 <freesoftware@logarithmus.dev>
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 <tbb/task_scheduler_init.h>
+#define TBB_PREVIEW_GLOBAL_CONTROL true
+#include <tbb/global_control.h>
 
 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
+		);
     }
 }