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:
authorBrecht Van Lommel <brecht>2021-02-10 20:17:23 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-02-10 21:32:24 +0300
commit677e63d51869bb89f2ca1adee2e8350ed379005d (patch)
tree70509efd6a2620f6dbebfd5e3f169a0bfe87e4d3
parent69c7ffff8bbdaa585b51fe3e4e36a7f37b5759b7 (diff)
TBB: fix deprecation warnings with newer TBB versions
* USD and OpenVDB headers use deprecated TBB headers, suppress all deprecation warnings there since we have no control over them. * For our own TBB includes, use the individual headers rather than the tbb.h that includes everything to avoid warnings, rather than suppressing all. This is in anticipation of the TBB 2020 upgrade in D10359. Ref D10361.
-rw-r--r--CMakeLists.txt3
-rw-r--r--extern/mantaflow/CMakeLists.txt2
-rw-r--r--intern/cycles/util/util_tbb.h7
-rw-r--r--source/blender/blenlib/BLI_task.hh6
-rw-r--r--source/blender/blenlib/intern/task_graph.cc3
-rw-r--r--source/blender/blenlib/intern/task_pool.cc6
-rw-r--r--source/blender/blenlib/intern/task_range.cc7
-rw-r--r--source/blender/blenlib/intern/task_scheduler.cc6
-rw-r--r--source/blender/io/usd/CMakeLists.txt3
9 files changed, 26 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 00674809095..44385d81ff6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1026,6 +1026,9 @@ if(WITH_OPENVDB)
list(APPEND OPENVDB_DEFINITIONS -DOPENVDB_3_ABI_COMPATIBLE)
endif()
+ # OpenVDB headers use deprecated TBB headers, silence warning.
+ list(APPEND OPENVDB_DEFINITIONS -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1)
+
list(APPEND OPENVDB_INCLUDE_DIRS
${BOOST_INCLUDE_DIR}
${TBB_INCLUDE_DIRS}
diff --git a/extern/mantaflow/CMakeLists.txt b/extern/mantaflow/CMakeLists.txt
index 82bf95a9742..c1fa13420b8 100644
--- a/extern/mantaflow/CMakeLists.txt
+++ b/extern/mantaflow/CMakeLists.txt
@@ -75,6 +75,8 @@ endif()
if(WITH_OPENVDB)
add_definitions(-DOPENVDB=1)
+ # OpenVDB headers use deprecated TBB headers, silence warning.
+ add_definitions(-DTBB_SUPPRESS_DEPRECATED_MESSAGES=1)
endif()
if(WITH_OPENVDB_BLOSC)
diff --git a/intern/cycles/util/util_tbb.h b/intern/cycles/util/util_tbb.h
index 168bd5db961..73e0f92d19c 100644
--- a/intern/cycles/util/util_tbb.h
+++ b/intern/cycles/util/util_tbb.h
@@ -21,11 +21,14 @@
* WIN32_LEAN_AND_MEAN and similar are defined beforehand. */
#include "util_windows.h"
-#define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
-#include <tbb/tbb.h>
+#include <tbb/enumerable_thread_specific.h>
+#include <tbb/parallel_for.h>
+#include <tbb/task_arena.h>
+#include <tbb/task_group.h>
#if TBB_INTERFACE_VERSION_MAJOR >= 10
# define WITH_TBB_GLOBAL_CONTROL
+# include <tbb/global_control.h>
#endif
CCL_NAMESPACE_BEGIN
diff --git a/source/blender/blenlib/BLI_task.hh b/source/blender/blenlib/BLI_task.hh
index 0da03d84793..8e963c958b2 100644
--- a/source/blender/blenlib/BLI_task.hh
+++ b/source/blender/blenlib/BLI_task.hh
@@ -22,15 +22,15 @@
#ifdef WITH_TBB
/* Quiet top level deprecation message, unrelated to API usage here. */
-# define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
-
# if defined(WIN32) && !defined(NOMINMAX)
/* TBB includes Windows.h which will define min/max macros causing issues
* when we try to use std::min and std::max later on. */
# define NOMINMAX
# define TBB_MIN_MAX_CLEANUP
# endif
-# include <tbb/tbb.h>
+# include <tbb/blocked_range.h>
+# include <tbb/parallel_for.h>
+# include <tbb/parallel_for_each.h>
# ifdef WIN32
/* We cannot keep this defined, since other parts of the code deal with this on their own, leading
* to multiple define warnings unless we un-define this, however we can only undefine this if we
diff --git a/source/blender/blenlib/intern/task_graph.cc b/source/blender/blenlib/intern/task_graph.cc
index 5b804cd1df8..32450c16630 100644
--- a/source/blender/blenlib/intern/task_graph.cc
+++ b/source/blender/blenlib/intern/task_graph.cc
@@ -28,10 +28,7 @@
#include <vector>
#ifdef WITH_TBB
-/* Quiet top level deprecation message, unrelated to API usage here. */
-# define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
# include <tbb/flow_graph.h>
-# include <tbb/tbb.h>
#endif
/* Task Graph */
diff --git a/source/blender/blenlib/intern/task_pool.cc b/source/blender/blenlib/intern/task_pool.cc
index 10f15f8749c..00ba659a9c8 100644
--- a/source/blender/blenlib/intern/task_pool.cc
+++ b/source/blender/blenlib/intern/task_pool.cc
@@ -34,9 +34,9 @@
#include "BLI_threads.h"
#ifdef WITH_TBB
-/* Quiet top level deprecation message, unrelated to API usage here. */
-# define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
-# include <tbb/tbb.h>
+# include <tbb/blocked_range.h>
+# include <tbb/task_arena.h>
+# include <tbb/task_group.h>
#endif
/* Task
diff --git a/source/blender/blenlib/intern/task_range.cc b/source/blender/blenlib/intern/task_range.cc
index c2498de1af8..a27241e91dd 100644
--- a/source/blender/blenlib/intern/task_range.cc
+++ b/source/blender/blenlib/intern/task_range.cc
@@ -32,9 +32,10 @@
#include "atomic_ops.h"
#ifdef WITH_TBB
-/* Quiet top level deprecation message, unrelated to API usage here. */
-# define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
-# include <tbb/tbb.h>
+# include <tbb/blocked_range.h>
+# include <tbb/enumerable_thread_specific.h>
+# include <tbb/parallel_for.h>
+# include <tbb/parallel_reduce.h>
#endif
#ifdef WITH_TBB
diff --git a/source/blender/blenlib/intern/task_scheduler.cc b/source/blender/blenlib/intern/task_scheduler.cc
index b0245da0385..b22334a5676 100644
--- a/source/blender/blenlib/intern/task_scheduler.cc
+++ b/source/blender/blenlib/intern/task_scheduler.cc
@@ -26,10 +26,10 @@
#include "BLI_threads.h"
#ifdef WITH_TBB
-/* Quiet top level deprecation message, unrelated to API usage here. */
-# define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
-# include <tbb/tbb.h>
+/* Need to include at least one header to get the version define. */
+# include <tbb/blocked_range.h>
# if TBB_INTERFACE_VERSION_MAJOR >= 10
+# include <tbb/global_control.h>
# define WITH_TBB_GLOBAL_CONTROL
# endif
#endif
diff --git a/source/blender/io/usd/CMakeLists.txt b/source/blender/io/usd/CMakeLists.txt
index 79b15c60b94..6ea30f48a13 100644
--- a/source/blender/io/usd/CMakeLists.txt
+++ b/source/blender/io/usd/CMakeLists.txt
@@ -30,6 +30,9 @@ if(WIN32)
endif()
add_definitions(-DPXR_STATIC)
+# USD headers use deprecated TBB headers, silence warning.
+add_definitions(-DTBB_SUPPRESS_DEPRECATED_MESSAGES=1)
+
set(INC
.
../common