[Bf-blender-cvs] [af8722d0d08] fluid-mantaflow: added tbb support for mantaflow

Sebastián Barschkis noreply at git.blender.org
Sat Mar 11 15:50:48 CET 2017


Commit: af8722d0d08588ca5170782bc7bee186789348b5
Author: Sebastián Barschkis
Date:   Sat Mar 11 15:50:01 2017 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rBaf8722d0d08588ca5170782bc7bee186789348b5

added tbb support for mantaflow

if openmp is not present or disabled we now use tbb manta pp files as a fallback to provide at least some acceleration

===================================================================

M	build_files/cmake/macros.cmake
M	build_files/cmake/platform/platform_apple.cmake
M	build_files/cmake/platform/platform_win32_msvc.cmake
M	intern/mantaflow/CMakeLists.txt
R100	intern/mantaflow/intern/manta_pp/commonkernels.h	intern/mantaflow/intern/manta_pp/omp/commonkernels.h
R100	intern/mantaflow/intern/manta_pp/commonkernels.h.reg	intern/mantaflow/intern/manta_pp/omp/commonkernels.h.reg
R100	intern/mantaflow/intern/manta_pp/commonkernels.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/commonkernels.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/conjugategrad.cpp	intern/mantaflow/intern/manta_pp/omp/conjugategrad.cpp
R100	intern/mantaflow/intern/manta_pp/conjugategrad.h	intern/mantaflow/intern/manta_pp/omp/conjugategrad.h
R100	intern/mantaflow/intern/manta_pp/conjugategrad.h.reg	intern/mantaflow/intern/manta_pp/omp/conjugategrad.h.reg
R100	intern/mantaflow/intern/manta_pp/conjugategrad.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/conjugategrad.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/edgecollapse.cpp	intern/mantaflow/intern/manta_pp/omp/edgecollapse.cpp
R100	intern/mantaflow/intern/manta_pp/edgecollapse.h	intern/mantaflow/intern/manta_pp/omp/edgecollapse.h
R100	intern/mantaflow/intern/manta_pp/edgecollapse.h.reg	intern/mantaflow/intern/manta_pp/omp/edgecollapse.h.reg
R100	intern/mantaflow/intern/manta_pp/edgecollapse.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/edgecollapse.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/fastmarch.cpp	intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp
R100	intern/mantaflow/intern/manta_pp/fastmarch.h	intern/mantaflow/intern/manta_pp/omp/fastmarch.h
R100	intern/mantaflow/intern/manta_pp/fastmarch.h.reg	intern/mantaflow/intern/manta_pp/omp/fastmarch.h.reg
R100	intern/mantaflow/intern/manta_pp/fastmarch.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/fastmarch.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/fileio.cpp	intern/mantaflow/intern/manta_pp/omp/fileio.cpp
R100	intern/mantaflow/intern/manta_pp/fileio.h	intern/mantaflow/intern/manta_pp/omp/fileio.h
R100	intern/mantaflow/intern/manta_pp/fileio.h.reg	intern/mantaflow/intern/manta_pp/omp/fileio.h.reg
R100	intern/mantaflow/intern/manta_pp/fileio.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/fileio.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/fluidsolver.cpp	intern/mantaflow/intern/manta_pp/omp/fluidsolver.cpp
R100	intern/mantaflow/intern/manta_pp/fluidsolver.h	intern/mantaflow/intern/manta_pp/omp/fluidsolver.h
R100	intern/mantaflow/intern/manta_pp/fluidsolver.h.reg	intern/mantaflow/intern/manta_pp/omp/fluidsolver.h.reg
R100	intern/mantaflow/intern/manta_pp/fluidsolver.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/fluidsolver.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/general.cpp	intern/mantaflow/intern/manta_pp/omp/general.cpp
R100	intern/mantaflow/intern/manta_pp/general.h	intern/mantaflow/intern/manta_pp/omp/general.h
R100	intern/mantaflow/intern/manta_pp/general.h.reg	intern/mantaflow/intern/manta_pp/omp/general.h.reg
R100	intern/mantaflow/intern/manta_pp/general.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/general.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/gitinfo.h	intern/mantaflow/intern/manta_pp/omp/gitinfo.h
R100	intern/mantaflow/intern/manta_pp/grid.cpp	intern/mantaflow/intern/manta_pp/omp/grid.cpp
R100	intern/mantaflow/intern/manta_pp/grid.h	intern/mantaflow/intern/manta_pp/omp/grid.h
R100	intern/mantaflow/intern/manta_pp/grid.h.reg	intern/mantaflow/intern/manta_pp/omp/grid.h.reg
R100	intern/mantaflow/intern/manta_pp/grid.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/grid.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/grid4d.cpp	intern/mantaflow/intern/manta_pp/omp/grid4d.cpp
R100	intern/mantaflow/intern/manta_pp/grid4d.h	intern/mantaflow/intern/manta_pp/omp/grid4d.h
R100	intern/mantaflow/intern/manta_pp/grid4d.h.reg	intern/mantaflow/intern/manta_pp/omp/grid4d.h.reg
R100	intern/mantaflow/intern/manta_pp/grid4d.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/grid4d.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/kernel.cpp	intern/mantaflow/intern/manta_pp/omp/kernel.cpp
R100	intern/mantaflow/intern/manta_pp/kernel.h	intern/mantaflow/intern/manta_pp/omp/kernel.h
R100	intern/mantaflow/intern/manta_pp/kernel.h.reg	intern/mantaflow/intern/manta_pp/omp/kernel.h.reg
R100	intern/mantaflow/intern/manta_pp/kernel.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/kernel.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/levelset.cpp	intern/mantaflow/intern/manta_pp/omp/levelset.cpp
R100	intern/mantaflow/intern/manta_pp/levelset.h	intern/mantaflow/intern/manta_pp/omp/levelset.h
R100	intern/mantaflow/intern/manta_pp/levelset.h.reg	intern/mantaflow/intern/manta_pp/omp/levelset.h.reg
R100	intern/mantaflow/intern/manta_pp/levelset.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/levelset.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/mesh.cpp	intern/mantaflow/intern/manta_pp/omp/mesh.cpp
R100	intern/mantaflow/intern/manta_pp/mesh.h	intern/mantaflow/intern/manta_pp/omp/mesh.h
R100	intern/mantaflow/intern/manta_pp/mesh.h.reg	intern/mantaflow/intern/manta_pp/omp/mesh.h.reg
R100	intern/mantaflow/intern/manta_pp/mesh.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/mesh.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/movingobs.cpp	intern/mantaflow/intern/manta_pp/omp/movingobs.cpp
R100	intern/mantaflow/intern/manta_pp/movingobs.h	intern/mantaflow/intern/manta_pp/omp/movingobs.h
R100	intern/mantaflow/intern/manta_pp/movingobs.h.reg	intern/mantaflow/intern/manta_pp/omp/movingobs.h.reg
R100	intern/mantaflow/intern/manta_pp/movingobs.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/movingobs.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/multigrid.cpp	intern/mantaflow/intern/manta_pp/omp/multigrid.cpp
R100	intern/mantaflow/intern/manta_pp/multigrid.h	intern/mantaflow/intern/manta_pp/omp/multigrid.h
R100	intern/mantaflow/intern/manta_pp/multigrid.h.reg	intern/mantaflow/intern/manta_pp/omp/multigrid.h.reg
R100	intern/mantaflow/intern/manta_pp/multigrid.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/multigrid.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/noisefield.cpp	intern/mantaflow/intern/manta_pp/omp/noisefield.cpp
R100	intern/mantaflow/intern/manta_pp/noisefield.h	intern/mantaflow/intern/manta_pp/omp/noisefield.h
R100	intern/mantaflow/intern/manta_pp/noisefield.h.reg	intern/mantaflow/intern/manta_pp/omp/noisefield.h.reg
R100	intern/mantaflow/intern/manta_pp/noisefield.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/noisefield.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/particle.cpp	intern/mantaflow/intern/manta_pp/omp/particle.cpp
R100	intern/mantaflow/intern/manta_pp/particle.h	intern/mantaflow/intern/manta_pp/omp/particle.h
R100	intern/mantaflow/intern/manta_pp/particle.h.reg	intern/mantaflow/intern/manta_pp/omp/particle.h.reg
R100	intern/mantaflow/intern/manta_pp/particle.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/particle.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/advection.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/advection.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/extforces.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/fire.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/fire.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/flip.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/flip.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/fluidguiding.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/initplugins.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/initplugins.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/kepsilon.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/kepsilon.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/meshplugins.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/meshplugins.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/pressure.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/pressure.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/surfaceturbulence.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/surfaceturbulence.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/vortexplugins.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/vortexplugins.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/waveletturbulence.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/waveletturbulence.cpp
R100	intern/mantaflow/intern/manta_pp/plugin/waves.cpp	intern/mantaflow/intern/manta_pp/omp/plugin/waves.cpp
R100	intern/mantaflow/intern/manta_pp/pwrapper/manta.h	intern/mantaflow/intern/manta_pp/omp/pwrapper/manta.h
R100	intern/mantaflow/intern/manta_pp/pwrapper/pclass.cpp	intern/mantaflow/intern/manta_pp/omp/pwrapper/pclass.cpp
R100	intern/mantaflow/intern/manta_pp/pwrapper/pclass.h	intern/mantaflow/intern/manta_pp/omp/pwrapper/pclass.h
R100	intern/mantaflow/intern/manta_pp/pwrapper/pconvert.cpp	intern/mantaflow/intern/manta_pp/omp/pwrapper/pconvert.cpp
R100	intern/mantaflow/intern/manta_pp/pwrapper/pconvert.h	intern/mantaflow/intern/manta_pp/omp/pwrapper/pconvert.h
R100	intern/mantaflow/intern/manta_pp/pwrapper/pvec3.cpp	intern/mantaflow/intern/manta_pp/omp/pwrapper/pvec3.cpp
R100	intern/mantaflow/intern/manta_pp/pwrapper/pymain.cpp	intern/mantaflow/intern/manta_pp/omp/pwrapper/pymain.cpp
R100	intern/mantaflow/intern/manta_pp/pwrapper/pythonInclude.h	intern/mantaflow/intern/manta_pp/omp/pwrapper/pythonInclude.h
R100	intern/mantaflow/intern/manta_pp/pwrapper/registry.cpp	intern/mantaflow/intern/manta_pp/omp/pwrapper/registry.cpp
R100	intern/mantaflow/intern/manta_pp/pwrapper/registry.h	intern/mantaflow/intern/manta_pp/omp/pwrapper/registry.h
R100	intern/mantaflow/intern/manta_pp/python/defines.py	intern/mantaflow/intern/manta_pp/omp/python/defines.py
R100	intern/mantaflow/intern/manta_pp/python/defines.py.reg	intern/mantaflow/intern/manta_pp/omp/python/defines.py.reg
R100	intern/mantaflow/intern/manta_pp/python/defines.py.reg.cpp	intern/mantaflow/intern/manta_pp/omp/python/defines.py.reg.cpp
R100	intern/mantaflow/intern/manta_pp/registration.cpp	intern/mantaflow/intern/manta_pp/omp/registration.cpp
R100	intern/mantaflow/intern/manta_pp/shapes.cpp	intern/mantaflow/intern/manta_pp/omp/shapes.cpp
R100	intern/mantaflow/intern/manta_pp/shapes.h	intern/mantaflow/intern/manta_pp/omp/shapes.h
R100	intern/mantaflow/intern/manta_pp/shapes.h.reg	intern/mantaflow/intern/manta_pp/omp/shapes.h.reg
R100	intern/mantaflow/intern/manta_pp/shapes.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/shapes.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/test.cpp	intern/mantaflow/intern/manta_pp/omp/test.cpp
R100	intern/mantaflow/intern/manta_pp/timing.cpp	intern/mantaflow/intern/manta_pp/omp/timing.cpp
R100	intern/mantaflow/intern/manta_pp/timing.h	intern/mantaflow/intern/manta_pp/omp/timing.h
R100	intern/mantaflow/intern/manta_pp/timing.h.reg	intern/mantaflow/intern/manta_pp/omp/timing.h.reg
R100	intern/mantaflow/intern/manta_pp/timing.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/timing.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/turbulencepart.cpp	intern/mantaflow/intern/manta_pp/omp/turbulencepart.cpp
R100	intern/mantaflow/intern/manta_pp/turbulencepart.h	intern/mantaflow/intern/manta_pp/omp/turbulencepart.h
R100	intern/mantaflow/intern/manta_pp/turbulencepart.h.reg	intern/mantaflow/intern/manta_pp/omp/turbulencepart.h.reg
R100	intern/mantaflow/intern/manta_pp/turbulencepart.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/turbulencepart.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/util/integrator.h	intern/mantaflow/intern/manta_pp/omp/util/integrator.h
R100	intern/mantaflow/intern/manta_pp/util/interpol.h	intern/mantaflow/intern/manta_pp/omp/util/interpol.h
R100	intern/mantaflow/intern/manta_pp/util/interpolHigh.h	intern/mantaflow/intern/manta_pp/omp/util/interpolHigh.h
R100	intern/mantaflow/intern/manta_pp/util/mcubes.h	intern/mantaflow/intern/manta_pp/omp/util/mcubes.h
R100	intern/mantaflow/intern/manta_pp/util/quaternion.h	intern/mantaflow/intern/manta_pp/omp/util/quaternion.h
R100	intern/mantaflow/intern/manta_pp/util/randomstream.h	intern/mantaflow/intern/manta_pp/omp/util/randomstream.h
R100	intern/mantaflow/intern/manta_pp/util/rcmatrix.h	intern/mantaflow/intern/manta_pp/omp/util/rcmatrix.h
R100	intern/mantaflow/intern/manta_pp/util/simpleimage.cpp	intern/mantaflow/intern/manta_pp/omp/util/simpleimage.cpp
R100	intern/mantaflow/intern/manta_pp/util/simpleimage.h	intern/mantaflow/intern/manta_pp/omp/util/simpleimage.h
R100	intern/mantaflow/intern/manta_pp/util/solvana.h	intern/mantaflow/intern/manta_pp/omp/util/solvana.h
R100	intern/mantaflow/intern/manta_pp/util/vector4d.cpp	intern/mantaflow/intern/manta_pp/omp/util/vector4d.cpp
R100	intern/mantaflow/intern/manta_pp/util/vector4d.h	intern/mantaflow/intern/manta_pp/omp/util/vector4d.h
R100	intern/mantaflow/intern/manta_pp/util/vectorbase.cpp	intern/mantaflow/intern/manta_pp/omp/util/vectorbase.cpp
R100	intern/mantaflow/intern/manta_pp/util/vectorbase.h	intern/mantaflow/intern/manta_pp/omp/util/vectorbase.h
R100	intern/mantaflow/intern/manta_pp/vortexpart.cpp	intern/mantaflow/intern/manta_pp/omp/vortexpart.cpp
R100	intern/mantaflow/intern/manta_pp/vortexpart.h	intern/mantaflow/intern/manta_pp/omp/vortexpart.h
R100	intern/mantaflow/intern/manta_pp/vortexpart.h.reg	intern/mantaflow/intern/manta_pp/omp/vortexpart.h.reg
R100	intern/mantaflow/intern/manta_pp/vortexpart.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/vortexpart.h.reg.cpp
R100	intern/mantaflow/intern/manta_pp/vortexsheet.cpp	intern/mantaflow/intern/manta_pp/omp/vortexsheet.cpp
R100	intern/mantaflow/intern/manta_pp/vortexsheet.h	intern/mantaflow/intern/manta_pp/omp/vortexsheet.h
R100	intern/mantaflow/intern/manta_pp/vortexsheet.h.reg	intern/mantaflow/intern/manta_pp/omp/vortexsheet.h.reg
R100	intern/mantaflow/intern/manta_pp/vortexsheet.h.reg.cpp	intern/mantaflow/intern/manta_pp/omp/vortexsheet.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/commonkernels.h
A	intern/mantaflow/intern/manta_pp/tbb/commonkernels.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/commonkernels.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/conjugategrad.cpp
A	intern/mantaflow/intern/manta_pp/tbb/conjugategrad.h
A	intern/mantaflow/intern/manta_pp/tbb/conjugategrad.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/conjugategrad.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/edgecollapse.cpp
A	intern/mantaflow/intern/manta_pp/tbb/edgecollapse.h
A	intern/mantaflow/intern/manta_pp/tbb/edgecollapse.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/edgecollapse.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fastmarch.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fastmarch.h
A	intern/mantaflow/intern/manta_pp/tbb/fastmarch.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/fastmarch.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fileio.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fileio.h
A	intern/mantaflow/intern/manta_pp/tbb/fileio.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/fileio.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fluidsolver.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fluidsolver.h
A	intern/mantaflow/intern/manta_pp/tbb/fluidsolver.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/fluidsolver.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/general.cpp
A	intern/mantaflow/intern/manta_pp/tbb/general.h
A	intern/mantaflow/intern/manta_pp/tbb/general.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/general.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
A	intern/mantaflow/intern/manta_pp/tbb/grid.cpp
A	intern/mantaflow/intern/manta_pp/tbb/grid.h
A	intern/mantaflow/intern/manta_pp/tbb/grid.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/grid.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/grid4d.cpp
A	intern/mantaflow/intern/manta_pp/tbb/grid4d.h
A	intern/mantaflow/intern/manta_pp/tbb/grid4d.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/grid4d.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/kernel.cpp
A	intern/mantaflow/intern/manta_pp/tbb/kernel.h
A	intern/mantaflow/intern/manta_pp/tbb/kernel.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/kernel.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/levelset.cpp
A	intern/mantaflow/intern/manta_pp/tbb/levelset.h
A	intern/mantaflow/intern/manta_pp/tbb/levelset.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/levelset.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/mesh.cpp
A	intern/mantaflow/intern/manta_pp/tbb/mesh.h
A	intern/mantaflow/intern/manta_pp/tbb/mesh.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/mesh.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/movingobs.cpp
A	intern/mantaflow/intern/manta_pp/tbb/movingobs.h
A	intern/mantaflow/intern/manta_pp/tbb/movingobs.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/movingobs.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/multigrid.cpp
A	intern/mantaflow/intern/manta_pp/tbb/multigrid.h
A	intern/mantaflow/intern/manta_pp/tbb/multigrid.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/multigrid.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/noisefield.cpp
A	intern/mantaflow/intern/manta_pp/tbb/noisefield.h
A	intern/mantaflow/intern/manta_pp/tbb/noisefield.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/noisefield.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/particle.cpp
A	intern/mantaflow/intern/manta_pp/tbb/particle.h
A	intern/mantaflow/intern/manta_pp/tbb/particle.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/particle.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/advection.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/fire.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/flip.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/initplugins.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/kepsilon.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/meshplugins.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/pressure.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/surfaceturbulence.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/vortexplugins.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/waveletturbulence.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/waves.cpp
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/manta.h
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pclass.cpp
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pclass.h
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pconvert.cpp
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pconvert.h
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pvec3.cpp
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pymain.cpp
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/pythonInclude.h
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/registry.cpp
A	intern/mantaflow/intern/manta_pp/tbb/pwrapper/registry.h
A	intern/mantaflow/intern/manta_pp/tbb/python/defines.py
A	intern/mantaflow/intern/manta_pp/tbb/python/defines.py.reg
A	intern/mantaflow/intern/manta_pp/tbb/python/defines.py.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/registration.cpp
A	intern/mantaflow/intern/manta_pp/tbb/shapes.cpp
A	intern/mantaflow/intern/manta_pp/tbb/shapes.h
A	intern/mantaflow/intern/manta_pp/tbb/shapes.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/shapes.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/test.cpp
A	intern/mantaflow/intern/manta_pp/tbb/timing.cpp
A	intern/mantaflow/intern/manta_pp/tbb/timing.h
A	intern/mantaflow/intern/manta_pp/tbb/timing.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/timing.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/turbulencepart.cpp
A	intern/mantaflow/intern/manta_pp/tbb/turbulencepart.h
A	intern/mantaflow/intern/manta_pp/tbb/turbulencepart.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/turbulencepart.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/util/integrator.h
A	intern/mantaflow/intern/manta_pp/tbb/util/interpol.h
A	intern/mantaflow/intern/manta_pp/tbb/util/interpolHigh.h
A	intern/mantaflow/intern/manta_pp/tbb/util/mcubes.h
A	intern/mantaflow/intern/manta_pp/tbb/util/quaternion.h
A	intern/mantaflow/intern/manta_pp/tbb/util/randomstream.h
A	intern/mantaflow/intern/manta_pp/tbb/util/rcmatrix.h
A	intern/mantaflow/intern/manta_pp/tbb/util/simpleimage.cpp
A	intern/mantaflow/intern/manta_pp/tbb/util/simpleimage.h
A	intern/mantaflow/intern/manta_pp/tbb/util/solvana.h
A	intern/mantaflow/intern/manta_pp/tbb/util/vector4d.cpp
A	intern/mantaflow/intern/manta_pp/tbb/util/vector4d.h
A	intern/mantaflow/intern/manta_pp/tbb/util/vectorbase.cpp
A	intern/mantaflow/intern/manta_pp/tbb/util/vectorbase.h
A	intern/mantaflow/intern/manta_pp/tbb/vortexpart.cpp
A	intern/mantaflow/intern/manta_pp/tbb/vortexpart.h
A	intern/mantaflow/intern/manta_pp/tbb/vortexpart.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/vortexpart.h.reg.cpp
A	intern/mantaflow/intern/manta_pp/tbb/vortexsheet.cpp
A	intern/mantaflow/intern/manta_pp/tbb/vortexsheet.h
A	intern/mantaflow/intern/manta_pp/tbb/vortexsheet.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/vortexsheet.h.reg.cpp

===================================================================

diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index d9849d1b079..d0dd7aa59d7 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -434,6 +434,9 @@ function(setup_liblinks
 	if(WITH_ALEMBIC)
 		target_link_libraries(${target} ${ALEMBIC_LIBRARIES} ${HDF5_LIBRARIES})
 	endif()
+	if(WITH_MOD_MANTA)
+		target_link_libraries(${target} ${TBB_LIBRARIES})
+	endif()
 	if(WITH_IMAGE_OPENEXR)
 		target_link_libraries(${target} ${OPENEXR_LIBRARIES})
 	endif()
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 04485e31d98..ffb467df5e4 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -431,6 +431,12 @@ if(WITH_OPENMP)
 	endif()
 endif()
 
+if(WITH_MOD_MANTA)
+	message(STATUS "Using TBB as fallback for Mantaflow since OpenMP was not found!")
+	set(TBB_INCLUDE_DIRS ${LIBDIR}/tbb/include)
+	set(TBB_LIBRARIES ${LIBDIR}/tbb/lib/libtbb.a)
+endif()
+
 set(EXETYPE MACOSX_BUNDLE)
 
 set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g")
diff --git a/build_files/cmake/platform/platform_win32_msvc.cmake b/build_files/cmake/platform/platform_win32_msvc.cmake
index 45a44596e61..5089a92d188 100644
--- a/build_files/cmake/platform/platform_win32_msvc.cmake
+++ b/build_files/cmake/platform/platform_win32_msvc.cmake
@@ -484,6 +484,11 @@ if(WITH_SYSTEM_AUDASPACE)
 	set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib)
 endif()
 
+if(WITH_MOD_MANTA)
+	set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
+	set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
+endif()
+
 # used in many places so include globally, like OpenGL
 blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}")
 
diff --git a/intern/mantaflow/CMakeLists.txt b/intern/mantaflow/CMakeLists.txt
index 9dbeab1394f..1c89fffb6b1 100644
--- a/intern/mantaflow/CMakeLists.txt
+++ b/intern/mantaflow/CMakeLists.txt
@@ -23,14 +23,26 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
+if(WITH_OPENMP)
+	set(MANTA_PP
+		intern/manta_pp/omp
+	)
+	add_definitions(-DOPENMP=1)
+else()
+	set(MANTA_PP
+		intern/manta_pp/tbb
+	)
+	add_definitions(-DTBB=1)
+endif()
+
 set(INC
 	extern
 	intern/strings
-	intern/manta_pp
-	intern/manta_pp/python
-	intern/manta_pp/plugin
-	intern/manta_pp/pwrapper
-	intern/manta_pp/util
+	${MANTA_PP}
+	${MANTA_PP}/python
+	${MANTA_PP}/plugin
+	${MANTA_PP}/pwrapper
+	${MANTA_PP}/util
 	../../source/blender/makesdna
 	../../source/blender/blenlib
 )
@@ -40,6 +52,12 @@ set(INC_SYS
 	${ZLIB_INCLUDE_DIRS}
 )
 
+if(NOT WITH_OPENMP)
+	list(APPEND INC_SYS
+		${TBB_INCLUDE_DIRS}
+	)
+endif()
+
 set(SRC
 	intern/manta_python_API.cpp
 	intern/manta_fluid_API.cpp
@@ -54,138 +72,132 @@ set(SRC
 	intern/strings/smoke_script.h
 	intern/strings/liquid_script.h
 
-	intern/manta_pp/commonkernels.h
-	intern/manta_pp/commonkernels.h.reg
-	intern/manta_pp/commonkernels.h.reg.cpp
-	intern/manta_pp/conjugategrad.cpp
-	intern/manta_pp/conjugategrad.h
-	intern/manta_pp/conjugategrad.h.reg
-	intern/manta_pp/conjugategrad.h.reg.cpp
-	intern/manta_pp/edgecollapse.cpp
-	intern/manta_pp/edgecollapse.h
-	intern/manta_pp/edgecollapse.h.reg
-	intern/manta_pp/edgecollapse.h.reg.cpp
-	intern/manta_pp/fastmarch.cpp
-	intern/manta_pp/fastmarch.h
-	intern/manta_pp/fastmarch.h.reg
-	intern/manta_pp/fastmarch.h.reg.cpp
-	intern/manta_pp/fileio.cpp
-	intern/manta_pp/fileio.h
-	intern/manta_pp/fileio.h.reg
-	intern/manta_pp/fileio.h.reg.cpp
-	intern/manta_pp/fluidsolver.cpp
-	intern/manta_pp/fluidsolver.h
-	intern/manta_pp/fluidsolver.h.reg
-	intern/manta_pp/fluidsolver.h.reg.cpp
-	intern/manta_pp/general.cpp
-	intern/manta_pp/general.h
-	intern/manta_pp/general.h.reg
-	intern/manta_pp/general.h.reg.cpp
-	intern/manta_pp/gitinfo.h
-	intern/manta_pp/grid.cpp
-	intern/manta_pp/grid.h
-	intern/manta_pp/grid.h.reg
-	intern/manta_pp/grid.h.reg.cpp
-	intern/manta_pp/grid4d.cpp
-	intern/manta_pp/grid4d.h
-	intern/manta_pp/grid4d.h.reg
-	intern/manta_pp/grid4d.h.reg.cpp
-	intern/manta_pp/kernel.cpp
-	intern/manta_pp/kernel.h
-	intern/manta_pp/kernel.h.reg
-	intern/manta_pp/kernel.h.reg.cpp
-	intern/manta_pp/levelset.cpp
-	intern/manta_pp/levelset.h
-	intern/manta_pp/levelset.h.reg
-	intern/manta_pp/levelset.h.reg.cpp
-	intern/manta_pp/mesh.cpp
-	intern/manta_pp/mesh.h
-	intern/manta_pp/mesh.h.reg
-	intern/manta_pp/mesh.h.reg.cpp
-	intern/manta_pp/movingobs.cpp
-	intern/manta_pp/movingobs.h
-	intern/manta_pp/movingobs.h.reg
-	intern/manta_pp/movingobs.h.reg.cpp
-	intern/manta_pp/multigrid.cpp
-	intern/manta_pp/multigrid.h
-	intern/manta_pp/multigrid.h.reg
-	intern/manta_pp/multigrid.h.reg.cpp
-	intern/manta_pp/noisefield.cpp
-	intern/manta_pp/noisefield.h
-	intern/manta_pp/noisefield.h.reg
-	intern/manta_pp/noisefield.h.reg.cpp
-	intern/manta_pp/particle.cpp
-	intern/manta_pp/particle.h
-	intern/manta_pp/particle.h.reg
-	intern/manta_pp/particle.h.reg.cpp
-	intern/manta_pp/plugin/advection.cpp
-	intern/manta_pp/plugin/extforces.cpp
-	intern/manta_pp/plugin/fire.cpp
-	intern/manta_pp/plugin/flip.cpp
-	intern/manta_pp/plugin/fluidguiding.cpp
-	intern/manta_pp/plugin/initplugins.cpp
-	intern/manta_pp/plugin/kepsilon.cpp
-	intern/manta_pp/plugin/meshplugins.cpp
-	intern/manta_pp/plugin/pressure.cpp
-	intern/manta_pp/plugin/surfaceturbulence.cpp
-	intern/manta_pp/plugin/vortexplugins.cpp
-	intern/manta_pp/plugin/waveletturbulence.cpp
-	intern/manta_pp/plugin/waves.cpp
-	intern/manta_pp/pwrapper/manta.h
-	intern/manta_pp/pwrapper/pclass.cpp
-	intern/manta_pp/pwrapper/pclass.h
-	intern/manta_pp/pwrapper/pconvert.cpp
-	intern/manta_pp/pwrapper/pconvert.h
-	intern/manta_pp/pwrapper/pvec3.cpp
-	intern/manta_pp/pwrapper/pythonInclude.h
-	intern/manta_pp/pwrapper/registry.cpp
-	intern/manta_pp/pwrapper/registry.h
-	intern/manta_pp/python/defines.py
-	intern/manta_pp/python/defines.py.reg
-	intern/manta_pp/python/defines.py.reg.cpp
-	intern/manta_pp/registration.cpp
-	intern/manta_pp/shapes.cpp
-	intern/manta_pp/shapes.h
-	intern/manta_pp/shapes.h.reg
-	intern/manta_pp/shapes.h.reg.cpp
-	intern/manta_pp/test.cpp
-	intern/manta_pp/timing.cpp
-	intern/manta_pp/timing.h
-	intern/manta_pp/timing.h.reg
-	intern/manta_pp/timing.h.reg.cpp
-	intern/manta_pp/turbulencepart.cpp
-	intern/manta_pp/turbulencepart.h
-	intern/manta_pp/turbulencepart.h.reg
-	intern/manta_pp/turbulencepart.h.reg.cpp
-	intern/manta_pp/util/integrator.h
-	intern/manta_pp/util/interpol.h
-	intern/manta_pp/util/interpolHigh.h
-	intern/manta_pp/util/mcubes.h
-	intern/manta_pp/util/quaternion.h
-	intern/manta_pp/util/randomstream.h
-	intern/manta_pp/util/rcmatrix.h
-	intern/manta_pp/util/simpleimage.cpp
-	intern/manta_pp/util/simpleimage.h
-	intern/manta_pp/util/solvana.h
-	intern/manta_pp/util/vector4d.cpp
-	intern/manta_pp/util/vector4d.h
-	intern/manta_pp/util/vectorbase.cpp
-	intern/manta_pp/util/vectorbase.h
-	intern/manta_pp/vortexpart.cpp
-	intern/manta_pp/vortexpart.h
-	intern/manta_pp/vortexpart.h.reg
-	intern/manta_pp/vortexpart.h.reg.cpp
-	intern/manta_pp/vortexsheet.cpp
-	intern/manta_pp/vortexsheet.h
-	intern/manta_pp/vortexsheet.h.reg
-	intern/manta_pp/vortexsheet.h.reg.cpp
+	${MANTA_PP}/commonkernels.h
+	${MANTA_PP}/commonkernels.h.reg
+	${MANTA_PP}/commonkernels.h.reg.cpp
+	${MANTA_PP}/conjugategrad.cpp
+	${MANTA_PP}/conjugategrad.h
+	${MANTA_PP}/conjugategrad.h.reg
+	${MANTA_PP}/conjugategrad.h.reg.cpp
+	${MANTA_PP}/edgecollapse.cpp
+	${MANTA_PP}/edgecollapse.h
+	${MANTA_PP}/edgecollapse.h.reg
+	${MANTA_PP}/edgecollapse.h.reg.cpp
+	${MANTA_PP}/fastmarch.cpp
+	${MANTA_PP}/fastmarch.h
+	${MANTA_PP}/fastmarch.h.reg
+	${MANTA_PP}/fastmarch.h.reg.cpp
+	${MANTA_PP}/fileio.cpp
+	${MANTA_PP}/fileio.h
+	${MANTA_PP}/fileio.h.reg
+	${MANTA_PP}/fileio.h.reg.cpp
+	${MANTA_PP}/fluidsolver.cpp
+	${MANTA_PP}/fluidsolver.h
+	${MANTA_PP}/fluidsolver.h.reg
+	${MANTA_PP}/fluidsolver.h.reg.cpp
+	${MANTA_PP}/general.cpp
+	${MANTA_PP}/general.h
+	${MANTA_PP}/general.h.reg
+	${MANTA_PP}/general.h.reg.cpp
+	${MANTA_PP}/gitinfo.h
+	${MANTA_PP}/grid.cpp
+	${MANTA_PP}/grid.h
+	${MANTA_PP}/grid.h.reg
+	${MANTA_PP}/grid.h.reg.cpp
+	${MANTA_PP}/grid4d.cpp
+	${MANTA_PP}/grid4d.h
+	${MANTA_PP}/grid4d.h.reg
+	${MANTA_PP}/grid4d.h.reg.cpp
+	${MANTA_PP}/kernel.cpp
+	${MANTA_PP}/kernel.h
+	${MANTA_PP}/kernel.h.reg
+	${MANTA_PP}/kernel.h.reg.cpp
+	${MANTA_PP}/levelset.cpp
+	${MANTA_PP}/levelset.h
+	${MANTA_PP}/levelset.h.reg
+	${MANTA_PP}/levelset.h.reg.cpp
+	${MANTA_PP}/mesh.cpp
+	${MANTA_PP}/mesh.h
+	${MANTA_PP}/mesh.h.reg
+	${MANTA_PP}/mesh.h.reg.cpp
+	${MANTA_PP}/movingobs.cpp
+	${MANTA_PP}/movingobs.h
+	${MANTA_PP}/movingobs.h.reg
+	${MANTA_PP}/movingobs.h.reg.cpp
+	${MANTA_PP}/multigrid.cpp
+	${MANTA_PP}/multigrid.h
+	${MANTA_PP}/multigrid.h.reg
+	${MANTA_PP}/multigrid.h.reg.cpp
+	${MANTA_PP}/noisefield.cpp
+	${MANTA_PP}/noisefield.h
+	${MANTA_PP}/noisefield.h.reg
+	${MANTA_PP}/noisefield.h.reg.cpp
+	${MANTA_PP}/particle.cpp
+	${MANTA_PP}/particle.h
+	${MANTA_PP}/particle.h.reg
+	${MANTA_PP}/particle.h.reg.cpp
+	${MANTA_PP}/plugin/advection.cpp
+	${MANTA_PP}/plugin/extforces.cpp
+	${MANTA_PP}/plugin/fire.cpp
+	${MANTA_PP}/plugin/flip.cpp
+	${MANTA_PP}/plugin/fluidguiding.cpp
+	${MANTA_PP}/plugin/initplugins.cpp
+	${MANTA_PP}/plugin/kepsilon.cpp
+	${MANTA_PP}/plugin/meshplugins.cpp
+	${MANTA_PP}/plugin/pressure.cpp
+	${MANTA_PP}/plugin/surfaceturbulence.cpp
+	${MANTA_PP}/plugin/vortexplugins.cpp
+	${MANTA_PP}/plugin/waveletturbulence.cpp
+	${MANTA_PP}/plugin/waves.cpp
+	${MANTA_PP}/pwrapper/manta.h
+	${MANTA_PP}/pwrapper/pclass.cpp
+	${MANTA_PP}/pwrapper/pclass.h
+	${MANTA_PP}/pwrapper/pconvert.cpp
+	${MANTA_PP}/pwrapper/pconvert.h
+	${MANTA_PP}/pwrapper/pvec3.cpp
+	${MANTA_PP}/pwrapper/pythonInclude.h
+	${MANTA_PP}/pwrapper/registry.cpp
+	${MANTA_PP}/pwrapper/registry.h
+	${MANTA_PP}/python/defines.py
+	${MANTA_PP}/python/defines.py.reg
+	${MANTA_PP}/python/defines.py.reg.cpp
+	${MANTA_PP}/registration.cpp
+	${MANTA_PP}/shapes.cpp
+	${MANTA_PP}/shapes.h
+	${MANTA_PP}/shapes.h.reg
+	${MANTA_PP}/shapes.h.reg.cpp
+	${MANTA_PP}/test.cpp
+	${MANTA_PP}/timing.cpp
+	${MANTA_PP}/timing.h
+	${MANTA_PP}/timing.h.reg
+	${MANTA_PP}/timing.h.reg.cpp
+	${MANTA_PP}/turbulencepart.cpp
+	${MANTA_PP}/turbulencepart

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list