[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47898] trunk/blender/extern/libmv/ third_party/ceres: Disable fixed-sized specializations for schur solver
Sergey Sharybin
sergey.vfx at gmail.com
Thu Jun 14 15:33:50 CEST 2012
Revision: 47898
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47898
Author: nazgul
Date: 2012-06-14 13:33:37 +0000 (Thu, 14 Jun 2012)
Log Message:
-----------
Disable fixed-sized specializations for schur solver
As far as i remember Keir, this should be safe for our usages of ceres
and it should save noticeable amount of time and used memory when
compiling blender with libmv support.
Quick tests with tracking went smooth after this.
Modified Paths:
--------------
trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt
trunk/blender/extern/libmv/third_party/ceres/SConscript
trunk/blender/extern/libmv/third_party/ceres/bundle.sh
Modified: trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt 2012-06-14 12:56:38 UTC (rev 47897)
+++ trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt 2012-06-14 13:33:37 UTC (rev 47898)
@@ -58,21 +58,6 @@
internal/ceres/detect_structure.cc
internal/ceres/evaluator.cc
internal/ceres/file.cc
- internal/ceres/generated/schur_eliminator_2_2_2.cc
- internal/ceres/generated/schur_eliminator_2_2_3.cc
- internal/ceres/generated/schur_eliminator_2_2_4.cc
- internal/ceres/generated/schur_eliminator_2_2_d.cc
- internal/ceres/generated/schur_eliminator_2_3_3.cc
- internal/ceres/generated/schur_eliminator_2_3_4.cc
- internal/ceres/generated/schur_eliminator_2_3_9.cc
- internal/ceres/generated/schur_eliminator_2_3_d.cc
- internal/ceres/generated/schur_eliminator_2_4_3.cc
- internal/ceres/generated/schur_eliminator_2_4_4.cc
- internal/ceres/generated/schur_eliminator_2_4_d.cc
- internal/ceres/generated/schur_eliminator_4_4_2.cc
- internal/ceres/generated/schur_eliminator_4_4_3.cc
- internal/ceres/generated/schur_eliminator_4_4_4.cc
- internal/ceres/generated/schur_eliminator_4_4_d.cc
internal/ceres/generated/schur_eliminator_d_d_d.cc
internal/ceres/gradient_checking_cost_function.cc
internal/ceres/implicit_schur_complement.cc
@@ -191,6 +176,26 @@
internal/ceres/visibility.h
)
+#if(FALSE)
+# list(APPEND SRC
+# internal/ceres/generated/schur_eliminator_2_2_2.cc
+# internal/ceres/generated/schur_eliminator_2_2_3.cc
+# internal/ceres/generated/schur_eliminator_2_2_4.cc
+# internal/ceres/generated/schur_eliminator_2_2_d.cc
+# internal/ceres/generated/schur_eliminator_2_3_3.cc
+# internal/ceres/generated/schur_eliminator_2_3_4.cc
+# internal/ceres/generated/schur_eliminator_2_3_9.cc
+# internal/ceres/generated/schur_eliminator_2_3_d.cc
+# internal/ceres/generated/schur_eliminator_2_4_3.cc
+# internal/ceres/generated/schur_eliminator_2_4_4.cc
+# internal/ceres/generated/schur_eliminator_2_4_d.cc
+# internal/ceres/generated/schur_eliminator_4_4_2.cc
+# internal/ceres/generated/schur_eliminator_4_4_3.cc
+# internal/ceres/generated/schur_eliminator_4_4_4.cc
+# internal/ceres/generated/schur_eliminator_4_4_d.cc
+# )
+#endif()
+
if(WIN32)
list(APPEND INC
../glog/src/windows
@@ -213,6 +218,7 @@
-D"CERES_HASH_NAMESPACE_END=}}"
-DCERES_NO_SUITESPARSE
-DCERES_DONT_HAVE_PROTOCOL_BUFFERS
+ -DCERES_RESTRICT_SCHUR_SPECIALIZATION
)
blender_add_lib(extern_ceres "${SRC}" "${INC}" "${INC_SYS}")
Modified: trunk/blender/extern/libmv/third_party/ceres/SConscript
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/SConscript 2012-06-14 12:56:38 UTC (rev 47897)
+++ trunk/blender/extern/libmv/third_party/ceres/SConscript 2012-06-14 13:33:37 UTC (rev 47898)
@@ -13,13 +13,15 @@
defs = []
src += env.Glob('internal/ceres/*.cc')
-src += env.Glob('internal/ceres/generated/*.cc')
+src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
+#src += env.Glob('internal/ceres/generated/*.cc')
defs.append('CERES_HAVE_PTHREAD')
defs.append('CERES_HASH_NAMESPACE_START=namespace std { namespace tr1 {')
defs.append('CERES_HASH_NAMESPACE_END=}}')
defs.append('CERES_NO_SUITESPARSE')
defs.append('CERES_DONT_HAVE_PROTOCOL_BUFFERS')
+defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags'
Modified: trunk/blender/extern/libmv/third_party/ceres/bundle.sh
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/bundle.sh 2012-06-14 12:56:38 UTC (rev 47897)
+++ trunk/blender/extern/libmv/third_party/ceres/bundle.sh 2012-06-14 13:33:37 UTC (rev 47898)
@@ -1,5 +1,6 @@
#!/bin/sh
+if false; then
if [ "x$1" = "x--i-really-know-what-im-doing" ] ; then
echo Proceeding as requested by command line ...
else
@@ -36,7 +37,10 @@
rm -rf $tmp
-sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t/' | sort -d`
+fi
+
+sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t/' | grep -v -E 'schur_eliminator_[0-9]_[0-9]_[0-9d].cc' | sort -d`
+generated_sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//#\t\t/' | grep -E 'schur_eliminator_[0-9]_[0-9]_[0-9d].cc' | sort -d`
headers=`find ./include ./internal -type f -iname '*.h' | sed -r 's/^\.\//\t/' | sort -d`
src_dir=`find ./internal -type f -iname '*.cc' -exec dirname {} \; -or -iname '*.cpp' -exec dirname {} \; -or -iname '*.c' -exec dirname {} \; | sed -r 's/^\.\//\t/' | sort -d | uniq`
@@ -48,6 +52,10 @@
continue;
fi
+ if test `echo "$x" | grep -c generated` -eq 1; then
+ continue;
+ fi
+
if stat $x/*.cpp > /dev/null 2>&1; then
t="src += env.Glob('`echo $x'/*.cpp'`')"
fi
@@ -121,6 +129,12 @@
${headers}
)
+#if(FALSE)
+# list(APPEND SRC
+${generated_sources}
+# )
+#endif()
+
if(WIN32)
list(APPEND INC
../glog/src/windows
@@ -143,6 +157,7 @@
-D"CERES_HASH_NAMESPACE_END=}}"
-DCERES_NO_SUITESPARSE
-DCERES_DONT_HAVE_PROTOCOL_BUFFERS
+ -DCERES_RESTRICT_SCHUR_SPECIALIZATION
)
blender_add_lib(extern_ceres "\${SRC}" "\${INC}" "\${INC_SYS}")
@@ -164,12 +179,15 @@
defs = []
$src
+src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
+#src += env.Glob('internal/ceres/generated/*.cc')
defs.append('CERES_HAVE_PTHREAD')
defs.append('CERES_HASH_NAMESPACE_START=namespace std { namespace tr1 {')
defs.append('CERES_HASH_NAMESPACE_END=}}')
defs.append('CERES_NO_SUITESPARSE')
defs.append('CERES_DONT_HAVE_PROTOCOL_BUFFERS')
+defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags'
More information about the Bf-blender-cvs
mailing list