Fix T84745: more build errors with TBB 2021

* tbb::blocked_range moved to a different namespace and since the fix is
  non-trivial, remove some unused code that used this.
* Task group priorities are no longer supported. It's unclear if they are
  useful at all right now and even set correctly, for now all tasks are equal
  priority with TBB 2021.
This commit is contained in:
Brecht Van Lommel 2021-01-22 18:14:04 +01:00
parent 5d6e5a9076
commit a1f44e43a2
Notes: blender-bot 2023-02-14 08:06:35 +01:00
Referenced by issue #84745, Incompatible withwith tbb 2021.1.1
3 changed files with 14 additions and 11 deletions

View File

@ -36,7 +36,14 @@ using tbb::parallel_for;
static inline void parallel_for_cancel()
{
#if TBB_INTERFACE_VERSION_MAJOR >= 12
tbb::task_group_context *ctx = tbb::task::current_context();
if (ctx) {
ctx->cancel_group_execution();
}
#else
tbb::task::self().cancel_group_execution();
#endif
}
CCL_NAMESPACE_END

View File

@ -58,11 +58,6 @@
#include "BLI_utildefines.h"
/* Forward declare tbb::blocked_range for conversion operations. */
namespace tbb {
template<typename Value> class blocked_range;
}
namespace blender {
template<typename T> class Span;
@ -86,12 +81,6 @@ class IndexRange {
BLI_assert(size >= 0);
}
template<typename T>
constexpr IndexRange(const tbb::blocked_range<T> &range)
: start_(range.begin()), size_(range.size())
{
}
class Iterator {
private:
int64_t current_;

View File

@ -131,6 +131,12 @@ class TBBTaskGroup : public tbb::task_group {
public:
TBBTaskGroup(TaskPriority priority)
{
# if TBB_INTERFACE_VERSION_MAJOR >= 12
/* TODO: support priorities in TBB 2021, where they are only available as
* part of task arenas, no longer for task groups. Or remove support for
* task priorities if they are no longer useful. */
UNUSED_VARS(priority);
# else
switch (priority) {
case TASK_PRIORITY_LOW:
my_context.set_priority(tbb::priority_low);
@ -139,6 +145,7 @@ class TBBTaskGroup : public tbb::task_group {
my_context.set_priority(tbb::priority_normal);
break;
}
# endif
}
~TBBTaskGroup()