[Bf-blender-cvs] [2525f9c] : backport revisions from master for 2.70-rc2 tag
Sergey Sharybin
noreply at git.blender.org
Wed Mar 12 19:02:07 CET 2014
Commit: 2525f9c5f31e90bcb8f2e8c84558a2bc35e3207c
Author: Sergey Sharybin
Date: Wed Mar 12 23:57:33 2014 +0600
https://developer.blender.org/rB2525f9c5f31e90bcb8f2e8c84558a2bc35e3207c
backport revisions from master for 2.70-rc2 tag
This includes:
68ef679, d0ad48f, e913eab + 8d09ec6, 9630fa7, 4ce7d5c,
b839fb9, 43b5f0a, 4d47e75, 89c793f, b23a439, 0a3850f
de86b70, cfefc5d, 997b49a, 6919ffb, c1be7e1, 6ddd54f
7a9838b + 98abc80, 23fbc9f, 41dde55, 500088d, c2045ef
c31c8fa, 7461fea, d219312, 0844451 + c05896e, ef51b69
19935f0, b977cfd, 3c3c2cd, 9ecf73f, 20f7a34, f03df4f
2de9da6, ba81fb7, a7ab389, d7cff8f7
===================================================================
M build_files/cmake/buildinfo.cmake
M build_files/scons/tools/Blender.py
M extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp
M extern/bullet2/src/SConscript
M extern/carve/lib/intersect_face_division.cpp
A extern/carve/patches/msvc_fix.patch
M extern/carve/patches/series
M intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
M intern/cycles/render/scene.cpp
M intern/ghost/intern/GHOST_WindowCocoa.mm
M release/darwin/codesigning_rules_blender.plist
M release/darwin/codesigning_rules_player.plist
M release/scripts/startup/bl_ui/properties_data_camera.py
M release/scripts/startup/bl_ui/space_userpref.py
M source/blender/blenkernel/BKE_particle.h
M source/blender/blenkernel/BKE_pbvh.h
M source/blender/blenkernel/BKE_sound.h
M source/blender/blenkernel/intern/boids.c
M source/blender/blenkernel/intern/curve.c
M source/blender/blenkernel/intern/fmodifier.c
M source/blender/blenkernel/intern/movieclip.c
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/paint.c
M source/blender/blenkernel/intern/particle.c
M source/blender/blenkernel/intern/particle_system.c
M source/blender/blenkernel/intern/pbvh.c
M source/blender/blenkernel/intern/scene.c
M source/blender/blenkernel/intern/sound.c
M source/blender/blenloader/intern/readfile.c
M source/blender/compositor/operations/COM_DisplaceOperation.cpp
M source/blender/editors/animation/anim_filter.c
M source/blender/editors/interface/interface_ops.c
M source/blender/editors/mask/mask_shapekey.c
M source/blender/editors/mesh/editmesh_knife.c
M source/blender/editors/object/object_add.c
M source/blender/editors/sculpt_paint/paint_vertex.c
M source/blender/editors/sculpt_paint/sculpt.c
M source/blender/editors/sculpt_paint/sculpt_uv.c
M source/blender/editors/space_action/action_edit.c
M source/blender/editors/space_clip/clip_editor.c
M source/blender/editors/space_clip/clip_ops.c
M source/blender/editors/space_image/space_image.c
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/space_view3d/view3d_draw.c
M source/blender/editors/space_view3d/view3d_select.c
M source/blender/editors/transform/transform_conversions.c
M source/blender/gpu/shaders/gpu_shader_material.glsl
M source/blender/imbuf/intern/indexer.c
M source/blender/makesdna/DNA_particle_types.h
M source/blender/makesrna/intern/rna_nla.c
M source/blender/render/intern/source/convertblender.c
M source/blender/render/intern/source/pipeline.c
M source/blender/windowmanager/intern/wm_operators.c
M source/creator/creator.c
===================================================================
diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake
index 48e03ed..c1d21c4 100644
--- a/build_files/cmake/buildinfo.cmake
+++ b/build_files/cmake/buildinfo.cmake
@@ -35,8 +35,26 @@ if(EXISTS ${SOURCE_DIR}/.git)
STRING(REGEX REPLACE "^[ \t]+" "" _git_contains_check "${_git_contains_check}")
if(_git_contains_check STREQUAL "master")
set(MY_WC_BRANCH "master")
+ else()
+ execute_process(COMMAND git show-ref --tags -d
+ WORKING_DIRECTORY ${SOURCE_DIR}
+ OUTPUT_VARIABLE _git_tag_hashes
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ execute_process(COMMAND git rev-parse HEAD
+ WORKING_DIRECTORY ${SOURCE_DIR}
+ OUTPUT_VARIABLE _git_head_hash
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ if(_git_tag_hashes MATCHES "${_git_head_hash}")
+ set(MY_WC_BRANCH "master")
+ endif()
+
+ unset(_git_tag_hashes)
+ unset(_git_head_hashs)
endif()
+
unset(_git_contains_check)
else()
execute_process(COMMAND git log HEAD..@{u}
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
index fc4121a..4ceadc7 100644
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
@@ -430,6 +430,11 @@ def buildinfo(lenv, build_type):
master_check = os.popen('git branch --list master --contains ' + build_hash).read().strip()
if master_check == 'master':
build_branch = 'master'
+ else:
+ head_hash = os.popen('git rev-parse HEAD').read().strip()
+ tag_hashes = os.popen('git show-ref --tags -d').read()
+ if tag_hashes.find(head_hash) != -1:
+ build_branch = 'master'
if build_hash == '':
build_hash = os.popen('git rev-parse --short HEAD').read().strip()
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp b/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp
index cf73556..893453b 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp
@@ -354,11 +354,11 @@ double plNearestPoints(float p1[3], float p2[3], float p3[3], float q1[3], float
// btVoronoiSimplexSolver sGjkSimplexSolver;
// btGjkEpaPenetrationDepthSolver penSolverPtr;
- static btSimplexSolverInterface sGjkSimplexSolver;
+ /*static*/ btSimplexSolverInterface sGjkSimplexSolver;
sGjkSimplexSolver.reset();
- static btGjkEpaPenetrationDepthSolver Solver0;
- static btMinkowskiPenetrationDepthSolver Solver1;
+ /*static*/ btGjkEpaPenetrationDepthSolver Solver0;
+ /*static*/ btMinkowskiPenetrationDepthSolver Solver1;
btConvexPenetrationDepthSolver* Solver = NULL;
diff --git a/extern/bullet2/src/SConscript b/extern/bullet2/src/SConscript
index ff2e86a..69e5678 100644
--- a/extern/bullet2/src/SConscript
+++ b/extern/bullet2/src/SConscript
@@ -19,7 +19,8 @@ elif env['OURPLATFORM'] in ('linux', 'freebsd4', 'freebsd5'):
cflags += ['-O2']
elif sys.platform=='darwin':
defs += ' NDEBUG'
- cflags += ['-O2','-pipe', '-fPIC', '-funsigned-char', '-ffast-math']
+ bt_cc_flags = env['CCFLAGS'] + ['-O0', '-fPIC', '-msse','-msse2', '-msse3', '-mssse3', '-ffast-math']
+ bt_cxx_flags = env['CXXFLAGS'] + ['-O0', '-fPIC', '-msse','-msse2', '-msse3', '-mssse3', '-ffast-math']
bullet2_src = env.Glob("LinearMath/*.cpp")
bullet2_src += env.Glob("BulletCollision/BroadphaseCollision/*.cpp")
@@ -37,7 +38,7 @@ bullet2_src += env.Glob("BulletSoftBody/*.cpp")
incs = '. BulletCollision BulletDynamics LinearMath BulletSoftBody'
-if sys.platform=='darwin' and env['CC'][:-2].endswith('4.6'): # workaround for an gcc-4.6 compiler bug
- env.BlenderLib ( libname = 'extern_bullet2', sources=bullet2_src, includes=Split(incs), defines=Split(defs), libtype=['extern','player'], priority=[20,137], compileflags=cflags, cc_compilerchange='/usr/bin/gcc', cxx_compilerchange='/usr/bin/g++' )
+if sys.platform=='darwin':
+ env.BlenderLib ( libname = 'extern_bullet2', sources=bullet2_src, includes=Split(incs), defines=Split(defs), libtype=['extern','player'], priority=[20,137], cc_compileflags=bt_cc_flags, cxx_compileflags=bt_cxx_flags )
else:
env.BlenderLib ( libname = 'extern_bullet2', sources=bullet2_src, includes=Split(incs), defines=Split(defs), libtype=['extern','player'], priority=[20,137], compileflags=cflags )
diff --git a/extern/carve/lib/intersect_face_division.cpp b/extern/carve/lib/intersect_face_division.cpp
index ea82b7e..e826948 100644
--- a/extern/carve/lib/intersect_face_division.cpp
+++ b/extern/carve/lib/intersect_face_division.cpp
@@ -1121,7 +1121,9 @@ namespace {
}
// copy up to the end of the path.
- std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out));
+ if (pos < e1_1) {
+ std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out));
+ }
CARVE_ASSERT(base_loop[e1_1] == p1.back());
std::copy(p1.rbegin(), p1.rend() - 1, std::back_inserter(out));
diff --git a/extern/carve/patches/msvc_fix.patch b/extern/carve/patches/msvc_fix.patch
new file mode 100644
index 0000000..67431ec
--- /dev/null
+++ b/extern/carve/patches/msvc_fix.patch
@@ -0,0 +1,14 @@
+diff -r e82d852e4fb0 lib/intersect_face_division.cpp
+--- a/lib/intersect_face_division.cpp Wed Jan 15 13:16:14 2014 +1100
++++ b/lib/intersect_face_division.cpp Wed Mar 12 23:09:19 2014 +0600
+@@ -1121,7 +1121,9 @@
+ }
+
+ // copy up to the end of the path.
+- std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out));
++ if (pos < e1_1) {
++ std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out));
++ }
+
+ CARVE_ASSERT(base_loop[e1_1] == p1.back());
+ std::copy(p1.rbegin(), p1.rend() - 1, std::back_inserter(out));
diff --git a/extern/carve/patches/series b/extern/carve/patches/series
index b1254dd..62a24d9 100644
--- a/extern/carve/patches/series
+++ b/extern/carve/patches/series
@@ -8,3 +8,4 @@ strict_flags.patch
interpolator_reorder.patch
mesh_simplify_dissolve_edges.patch
memory_leak_fix.patch
+mavc_fix.patch
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
index c3877c2..d055c13 100644
--- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
+++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
@@ -994,7 +994,7 @@ void AUD_OpenALDevice::updateStreams()
if(info != AL_PLAYING)
{
// if it really stopped
- if(sound->m_eos)
+ if(sound->m_eos && info != AL_INITIAL)
{
if(sound->m_stop)
sound->m_stop(sound->m_stop_data);
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index 71f5a9d..daf22d9 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -137,6 +137,8 @@ void Scene::device_update(Device *device_, Progress& progress)
* - Camera may be used for adapative subdivison.
* - Displacement shader must have all shader data available.
* - Light manager needs lookup tables and final mesh data to compute emission CDF.
+ * - Film needs light manager to run for use_light_visibility
+ * - Lookup tables are done a second time to handle film tables
*/
image_manager->set_pack_images(device->info.pack_images);
@@ -171,11 +173,6 @@ void Scene::device_update(Device *device_, Progress& progress)
if(progress.get_cancel()) return;
- progress.set_status("Updating Film");
- film->device_update(device, &dscene, this);
-
- if(progress.get_cancel()) return;
-
progress.set_status("Updating Lookup Tables");
lookup_tables->device_update(device, &dscene);
@@ -196,11 +193,21 @@ void Scene::device_update(Device *device_, Progress& progress)
if(progress.get_cancel()) return;
+ progress.set_status("Updating Film");
+ film->device_update(device, &dscene, this);
+
+ if(progress.get_cancel()) return;
+
progress.set_status("Updating Integrator");
integrator->device_update(device, &dscene, this);
if(progress.get_cancel()) return;
+ progress.set_status("Updating Lookup Tables");
+ lookup_tables->device_update(device, &dscene);
+
+ if(progress.get_cancel()) return;
+
progress.set_status("Updating Device", "Writing constant memory");
device->const_copy_to("__data", &dscene.data, sizeof(dscene.data));
}
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index a1dcbe7..95bf060 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -598,7 +598,7 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
// Force software OpenGL, for debugging
if (getenv("BLENDER_SOFTWAREGL")) {
pixelFormatAttrsWindow[i++] = NSOpenGLPFARendererID;
- pixelFormatAttrsWindow[i++] = kCGLRendererGenericID;
+ pixelFormatAttrsWindow[i++] = kCGLRendererAppleSWID;
}
else
pixelFormatAttrsWindow[i++] = NSOpenGLPFAAccelerated;
@@ -643,7 +643,7 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
// Force software OpenGL, for debugging
if (getenv("BLENDER_SOFTWAREGL")) {
pixelFormatAttrsWindow[i++] = NSOpenGLPFARendererID;
- pixelFormatAttrsWindow[i++] = kCGLRendererGenericID;
+ pixelFormatAttrsWindow[i++] = kCGLRendererAppleSWID;
}
else
pixelFormatAttrsWindow[i++] = NSOpenGLPFAAccelerated;
diff --git a/release/darwin/codesigning_rules_blender.plist b/release/darwin/codesigning_rules_blender.plist
index b3baba8..aa5580d 100644
--- a/release/darwin/codesigning_rules_blender.plist
+++ b/release/darwin/codesigning_rules_blender.plist
@@ -5,7 +5,7 @@
<key>rules</key>
<dict>
<!-- Exclude datafiles, python and scripts -->
- <key>^MacOS/2.69</key>
+ <key>^MacOS/2.70</key>
<false/>
<key>^Resources/</key>
<true/>
diff --git a/release/darwin/codesigning_rules_player.plist b/release/darwin/codesigning_rules_player.plist
index 2a85041f..ff154df 100644
--- a/release/darwin/codesigning_rules_player.plist
+++ b/release/darwin/codesigning_rules_player.plist
@@ -5,7 +5,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list