Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/cycles/util/util_tbb.h7
-rw-r--r--source/blender/blenlib/BLI_index_range.hh11
-rw-r--r--source/blender/blenlib/intern/task_pool.cc7
-rw-r--r--source/blender/editors/object/object_bake_api.c4
4 files changed, 16 insertions, 13 deletions
diff --git a/intern/cycles/util/util_tbb.h b/intern/cycles/util/util_tbb.h
index 206ba106ca6..168bd5db961 100644
--- a/intern/cycles/util/util_tbb.h
+++ b/intern/cycles/util/util_tbb.h
@@ -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
diff --git a/source/blender/blenlib/BLI_index_range.hh b/source/blender/blenlib/BLI_index_range.hh
index 4121542c887..61a8088edea 100644
--- a/source/blender/blenlib/BLI_index_range.hh
+++ b/source/blender/blenlib/BLI_index_range.hh
@@ -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_;
diff --git a/source/blender/blenlib/intern/task_pool.cc b/source/blender/blenlib/intern/task_pool.cc
index 4b545c5647e..10f15f8749c 100644
--- a/source/blender/blenlib/intern/task_pool.cc
+++ b/source/blender/blenlib/intern/task_pool.cc
@@ -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()
diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c
index 113a0395e8c..db9e51a490d 100644
--- a/source/blender/editors/object/object_bake_api.c
+++ b/source/blender/editors/object/object_bake_api.c
@@ -1062,10 +1062,10 @@ static bool bake_targets_output_vertex_colors(BakeTargets *targets, Object *ob)
bake_result_to_rgba(rgba, &result[mloop->v * num_channels], num_channels);
if (is_noncolor) {
- linearrgb_to_srgb_uchar4(&mloopcol->r, rgba);
+ unit_float_to_uchar_clamp_v4(&mloopcol->r, rgba);
}
else {
- unit_float_to_uchar_clamp_v4(&mloopcol->r, rgba);
+ linearrgb_to_srgb_uchar4(&mloopcol->r, rgba);
}
}
}