This also updates the configurations to build kernels for compute capability
5.0 cards, when using and older CUDA toolkit version this will be skipped.
Also includes tweaks to improve performance with this version:
* Increase max registers on sm_30, sm_35 and sm_50
* No longer use texture storage on sm_30
Issue is, looks like Debian testing's graphic backend now uses LLVM-3.4,
which conflicts with 3.3 in Blender and makes it crash.
So add support to handle 3.4, by both allowing to force a specific version for some libs,
and switching back to head of official repo for OSL.
Fixes T39423: Blender crashes on iv41 encoded videos in thumbnail display mode
Libraries are still being committed to the svn, so compilation might be broken
for a while. Sorry for this, but can't really be avoided.
Also, some typos in scons are possible.
Using unordered_map and unordered_set C++ container types currently
requires careful testing or usage of boost, due to the various confusing
C++ version differences in include paths and namespaces.
Libmv defines tests for these cases in cmake and scons, such that ceres
can use any available implementation, or fall back too std::map/std::set
if none can be found.
This patch generalizes this buildfile code by providing a Blender macro.
* cmake: defines both the variables used by libmv at them moment as well
as 2 variables UNORDERED_MAP_INCLUDE_PREFIX and UNORDERED_MAP_NAMESPACE,
which can later be used in other C++ parts for convenience.
* scons: adds a tool script returning the include prefix and namespace.
Libmv checks these to define the appropriate definitions for ceres.
Differential Revision: https://developer.blender.org/D425
The script ##cmake_linux_install.sh## is currently invoking ##make## in single-threaded mode; this patch changes it to take advantage of all available CPU threads.
Reviewers: mont29
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D358
This is a resubmission of the original patch from D255. Sorry, I didn’t understand that subsequent patches added to a diff are considered to //override// previous ones, rather than add to them.
Basically the comment for commit rB554eca1c288e has been applied to the wrong patch.
Reviewers: mont29
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D359
The file ##build_files/build_environment/install_deps.sh## contains the following line:
THREADS=`cat /proc/cpuinfo | grep processor | wc -l`
The command within the backticks is a [[ http://catb.org/jargon/html/U/UUOC.html | Useless Use Of Cat ]].
A more compact way of writing the same thing (saving two subprocesses) is
THREADS=`grep -c processor /proc/cpuinfo`
or (using POSIX-preferred command-substitution parentheses instead of backticks)
THREADS=$(grep -c processor /proc/cpuinfo)
But the most compact, and least Linux-specific, way is to use the ##nproc##(1) command from the [[ http://www.gnu.org/software/coreutils/manual/html_node/nproc-invocation.html | GNU coreutils package ]]:
THREADS=$(nproc)
Reviewers: sergey, mont29
Reviewed by: mont29
Differential Revision: https://developer.blender.org/D255