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:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-04-04 16:47:58 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-04-04 16:47:58 +0300
commit7fc84d4e32e9188cd3c4b7b732f700a632099001 (patch)
treeebcaad453138c11c64d4dd0d7bf7c058327e6ca9
parentc8cff31922a1e1138929b8ccfdab744b106f8b09 (diff)
parent92aeb84fde6402c0d2e337b030c06cfd171f5ba1 (diff)
Merge branch 'master' into blender2.8
-rwxr-xr-xbuild_files/build_environment/install_deps.sh13
-rw-r--r--build_files/buildbot/master.cfg32
-rw-r--r--intern/cycles/blender/blender_shader.cpp22
-rw-r--r--intern/cycles/blender/blender_sync.h1
-rw-r--r--intern/cycles/blender/blender_util.h17
-rw-r--r--source/blender/blenlib/intern/task.c2
6 files changed, 50 insertions, 37 deletions
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index 261f7594d68..5fc059c5c15 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -355,7 +355,7 @@ OPENVDB_FORCE_REBUILD=false
OPENVDB_SKIP=false
# Alembic needs to be compiled for now
-ALEMBIC_VERSION="1.6.0"
+ALEMBIC_VERSION="1.7.1"
ALEMBIC_VERSION_MIN=$ALEMBIC_VERSION
ALEMBIC_FORCE_BUILD=false
ALEMBIC_FORCE_REBUILD=false
@@ -2228,9 +2228,6 @@ compile_ALEMBIC() {
return
fi
- compile_HDF5
- PRINT ""
-
# To be changed each time we make edits that would modify the compiled result!
alembic_magic=2
_init_alembic
@@ -2258,6 +2255,12 @@ compile_ALEMBIC() {
cmake_d="-D CMAKE_INSTALL_PREFIX=$_inst"
+ # Without Boost or TR1, Alembic requires C++11.
+ if [ "$USE_CXX11" != true ]; then
+ cmake_d="$cmake_d -D ALEMBIC_LIB_USES_BOOST=ON"
+ cmake_d="$cmake_d -D ALEMBIC_LIB_USES_TR1=OFF"
+ fi
+
if [ -d $INST/boost ]; then
cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost"
cmake_d="$cmake_d -D USE_STATIC_BOOST=ON"
@@ -2277,8 +2280,6 @@ compile_ALEMBIC() {
cmake_d="$cmake_d -D USE_STATIC_HDF5=OFF"
cmake_d="$cmake_d -D ALEMBIC_ILMBASE_LINK_STATIC=OFF"
cmake_d="$cmake_d -D ALEMBIC_SHARED_LIBS=OFF"
- cmake_d="$cmake_d -D ALEMBIC_LIB_USES_BOOST=ON"
- cmake_d="$cmake_d -D ALEMBIC_LIB_USES_TR1=OFF"
INFO "ILMBASE_ROOT=$INST/openexr"
fi
diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index 387e53593b3..c650cb8c302 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -4,10 +4,10 @@
# <pep8 compliant>
# List of the branches being built automatically overnight
-NIGHT_SCHEDULE_BRANCHES = [None]
+NIGHT_SCHEDULE_BRANCHES = [None, "blender2.8"]
# List of the branches available for force build
-FORCE_SCHEDULE_BRANCHES = ["master", "gooseberry", "experimental-build"]
+FORCE_SCHEDULE_BRANCHES = ["master", "blender2.8", "experimental-build"]
"""
Stock Twisted directory lister doesn't provide any information about last file
@@ -127,7 +127,14 @@ def schedule_force_build(name):
project=forcesched.FixedParameter(name="project", default="", hide=True)),
# For now, hide other codebases.
forcesched.CodebaseParameter(hide=True, codebase="blender-translations"),
- forcesched.CodebaseParameter(hide=True, codebase="blender-addons"),
+ forcesched.CodebaseParameter(
+ codebase="blender-addons",
+ branch=forcesched.ChoiceStringParameter(
+ name="branch", choices=["master", "blender2.8"], default="master"),
+ repository=forcesched.FixedParameter(name="repository", default="", hide=True),
+ project=forcesched.FixedParameter(name="project", default="", hide=True),
+ revision=forcesched.FixedParameter(name="revision", default="", hide=True),
+ ),
forcesched.CodebaseParameter(hide=True, codebase="blender-addons-contrib"),
forcesched.CodebaseParameter(hide=True, codebase="blender-dev-tools"),
forcesched.CodebaseParameter(hide=True, codebase="lib svn")],
@@ -139,11 +146,15 @@ def schedule_build(name, hour, minute=0):
scheduler_name = "nightly " + name
if current_branch:
scheduler_name += ' ' + current_branch
+ # Use special addons submodule branch when building blender2.8 branch.
+ addons_branch = "master"
+ if current_branch == "blender2.8":
+ addons_branch = "blender2.8"
c['schedulers'].append(timed.Nightly(name=scheduler_name,
codebases={
"blender": {"repository": ""},
"blender-translations": {"repository": "", "branch": "master"},
- "blender-addons": {"repository": "", "branch": "master"},
+ "blender-addons": {"repository": "", "branch": addons_branch},
"blender-addons-contrib": {"repository": "", "branch": "master"},
"blender-dev-tools": {"repository": "", "branch": "master"},
"lib svn": {"repository": "", "branch": "trunk"}},
@@ -225,8 +236,7 @@ def git_step(branch=''):
def git_submodules_update():
- command = ['git', 'submodule', 'foreach', '--recursive',
- 'git', 'pull', 'origin', 'master']
+ command = ['git', 'submodule', 'update', '--remote']
return ShellCommand(name='Submodules Update',
command=command,
description='updating',
@@ -235,7 +245,10 @@ def git_submodules_update():
def lib_svn_step(dir):
- return SVN(name='lib svn',
+ name = "lib svn"
+ if dir == "darwin":
+ name = "C++11 lib svn"
+ return SVN(name=name,
baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/lib/' + dir,
codebase='lib svn',
mode='update',
@@ -264,6 +277,9 @@ def generic_builder(id, libdir='', branch='', rsync=False):
f = BuildFactory()
if libdir != '':
f.addStep(lib_svn_step(libdir))
+ # Special trick to make sure we always have all the libs.
+ if libdir.startswith("darwin"):
+ f.addStep(lib_svn_step("darwin"))
for submodule in ('blender-translations',
'blender-addons',
@@ -286,7 +302,7 @@ def generic_builder(id, libdir='', branch='', rsync=False):
f.addStep(FileUpload(name='upload',
slavesrc='buildbot_upload.zip',
masterdest=filename,
- maxsize=150 * 1024 * 1024,
+ maxsize=180 * 1024 * 1024,
workdir='install'))
f.addStep(MasterShellCommand(name='unpack',
command=['python2.7', unpack_script, filename],
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index df21e2640bd..3f04f11aab4 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -27,7 +27,9 @@
#include "blender/blender_util.h"
#include "util/util_debug.h"
+#include "util/util_foreach.h"
#include "util/util_string.h"
+#include "util/util_set.h"
#include "util/util_task.h"
CCL_NAMESPACE_BEGIN
@@ -1158,13 +1160,6 @@ static void add_nodes(Scene *scene,
/* Sync Materials */
-void BlenderSync::sync_materials_simpligy(Shader *shader)
-{
- ShaderGraph *graph = shader->graph;
- graph->simplify(scene);
- shader->tag_update(scene);
-}
-
void BlenderSync::sync_materials(bool update_all)
{
shader_map.set_default(scene->default_surface);
@@ -1173,6 +1168,7 @@ void BlenderSync::sync_materials(bool update_all)
BL::BlendData::materials_iterator b_mat;
TaskPool pool;
+ set<Shader*> updated_shaders;
for(b_data.materials.begin(b_mat); b_mat != b_data.materials.end(); ++b_mat) {
Shader *shader;
@@ -1220,9 +1216,11 @@ void BlenderSync::sync_materials(bool update_all)
* right before compiling.
*/
if(!preview) {
- pool.push(function_bind(&BlenderSync::sync_materials_simpligy,
- this,
- shader));
+ pool.push(function_bind(&ShaderGraph::simplify, graph, scene));
+ /* NOTE: Update shaders out of the threads since those routines
+ * are accessing and writing to a global context.
+ */
+ updated_shaders.insert(shader);
}
else {
/* NOTE: Update tagging can access links which are being
@@ -1234,6 +1232,10 @@ void BlenderSync::sync_materials(bool update_all)
}
pool.wait_work();
+
+ foreach(Shader *shader, updated_shaders) {
+ shader->tag_update(scene);
+ }
}
/* Sync World */
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h
index 62e2f8f563a..36bedc505af 100644
--- a/intern/cycles/blender/blender_sync.h
+++ b/intern/cycles/blender/blender_sync.h
@@ -96,7 +96,6 @@ public:
private:
/* sync */
void sync_lamps(bool update_all);
- void sync_materials_simpligy(Shader *shader);
void sync_materials(bool update_all);
void sync_objects(BL::SpaceView3D& b_v3d, float motion_time = 0.0f);
void sync_motion(BL::RenderSettings& b_render,
diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h
index 4d575330520..abdbb6be0fd 100644
--- a/intern/cycles/blender/blender_util.h
+++ b/intern/cycles/blender/blender_util.h
@@ -174,22 +174,19 @@ static inline void curvemapping_color_to_array(BL::CurveMapping& cumap,
if(rgb_curve) {
BL::CurveMap mapI = cumap.curves[3];
-
for(int i = 0; i < size; i++) {
- float t = min_x + (float)i/(float)(size-1) * range_x;
-
- data[i][0] = mapR.evaluate(mapI.evaluate(t));
- data[i][1] = mapG.evaluate(mapI.evaluate(t));
- data[i][2] = mapB.evaluate(mapI.evaluate(t));
+ const float t = min_x + (float)i/(float)(size-1) * range_x;
+ data[i] = make_float3(mapR.evaluate(mapI.evaluate(t)),
+ mapG.evaluate(mapI.evaluate(t)),
+ mapB.evaluate(mapI.evaluate(t)));
}
}
else {
for(int i = 0; i < size; i++) {
float t = min_x + (float)i/(float)(size-1) * range_x;
-
- data[i][0] = mapR.evaluate(t);
- data[i][1] = mapG.evaluate(t);
- data[i][2] = mapB.evaluate(t);
+ data[i] = make_float3(mapR.evaluate(t),
+ mapG.evaluate(t),
+ mapB.evaluate(t));
}
}
}
diff --git a/source/blender/blenlib/intern/task.c b/source/blender/blenlib/intern/task.c
index 17e20f8fa18..297d0f0b310 100644
--- a/source/blender/blenlib/intern/task.c
+++ b/source/blender/blenlib/intern/task.c
@@ -743,9 +743,7 @@ void BLI_task_pool_work_and_wait(TaskPool *pool)
BLI_condition_notify_all(&scheduler->queue_cond);
BLI_mutex_unlock(&scheduler->queue_mutex);
-
}
- pool->is_suspended = false;
}
pool->do_work = true;