[Bf-blender-cvs] [9bf209f] depsgraph_refactor: Merge branch 'master' into depsgraph_refactor

Sergey Sharybin noreply at git.blender.org
Mon Mar 16 10:57:49 CET 2015


Commit: 9bf209f24ba5f45fdb4b417a5cb0d21183c6a431
Author: Sergey Sharybin
Date:   Mon Mar 16 14:36:24 2015 +0500
Branches: depsgraph_refactor
https://developer.blender.org/rB9bf209f24ba5f45fdb4b417a5cb0d21183c6a431

Merge branch 'master' into depsgraph_refactor

Conflicts:
	CMakeLists.txt
	build_files/scons/tools/btools.py
	intern/cycles/util/util_types.h
	source/blender/editors/object/object_constraint.c

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



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

diff --cc CMakeLists.txt
index f44fba7,8e54ddc..939df35
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -436,9 -440,10 +440,13 @@@ if(MSVC
  	set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${})
  endif()
  
+ # Experimental support of C++11
+ option(WITH_CPP11 "Build with C++11 standard enabled, for development use only!" OFF)
+ mark_as_advanced(WITH_CPP11)
+ 
 +# Dependency graph
 +option(WITH_LEGACY_DEPSGRAPH "Build Blender with legacy dependency graph" ON)
 +
  # avoid using again
  option_defaults_clear()
  
diff --cc build_files/scons/tools/btools.py
index 2ad6da4,c5342d6..6ec6459
--- a/build_files/scons/tools/btools.py
+++ b/build_files/scons/tools/btools.py
@@@ -198,7 -198,8 +198,8 @@@ def validate_arguments(args, bc)
              'C_WARN', 'CC_WARN', 'CXX_WARN',
              'LLIBS', 'PLATFORM_LINKFLAGS', 'MACOSX_ARCHITECTURE', 'MACOSX_SDK', 'XCODE_CUR_VER', 'C_COMPILER_ID',
              'BF_CYCLES_CUDA_BINARIES_ARCH', 'BF_PROGRAM_LINKFLAGS', 'MACOSX_DEPLOYMENT_TARGET',
-             'WITH_BF_CYCLES_DEBUG', 'WITH_BF_CYCLES_LOGGING', 'WITH_BF_LEGACY_DEPSGRAPH', 'WITH_BF_OGDF'
+             'WITH_BF_CYCLES_DEBUG', 'WITH_BF_CYCLES_LOGGING',
 -            'WITH_BF_CPP11'
++            'WITH_BF_CPP11', 'WITH_BF_LEGACY_DEPSGRAPH', 'WITH_BF_OGDF',
      ]
  
  
@@@ -655,8 -656,7 +656,10 @@@ def read_opts(env, cfg, args)
  
          ('BF_PROGRAM_LINKFLAGS', 'Link flags applied only to final binaries (blender and blenderplayer, not makesrna/makesdna)', ''),
  
+         (BoolVariable('WITH_BF_CPP11', '"Build with C++11 standard enabled, for development use only!', False)),
++
 +        (BoolVariable('WITH_BF_LEGACY_DEPSGRAPH', 'Build Blender with legacy dependency graph', True)),
 +        (BoolVariable('WITH_BF_OGDF', 'Build Blender with OGDF for debugging depsgraph', True)),
      ) # end of opts.AddOptions()
  
      return localopts
diff --cc source/blender/blenkernel/BKE_modifier.h
index fe2a3b3,1ec4e23..3afa931
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@@ -41,9 -41,9 +41,10 @@@ struct Scene
  struct ListBase;
  struct LinkNode;
  struct bArmature;
+ struct Main;
  struct ModifierData;
  struct BMEditMesh;
 +struct DepsNodeHandle;
  
  typedef enum {
  	/* Should not be used, only for None modifier type */
@@@ -257,16 -257,10 +258,17 @@@ typedef struct ModifierTypeInfo 
  	 *
  	 * This function is optional.
  	 */
- 	void (*updateDepgraph)(struct ModifierData *md, struct DagForest *forest, struct Scene *scene,
+ 	void (*updateDepgraph)(struct ModifierData *md, struct DagForest *forest,
+ 	                       struct Main *bmain, struct Scene *scene,
  	                       struct Object *ob, struct DagNode *obNode);
  
 +	/* Add the appropriate relations to the dependency graph.
 +	 *
 +	 * This function is optional.
 +	 */
 +	/* XXX DEPSGRAPH PORTING: remove the old callback above once porting is complete! */
 +	void (*updateDepsgraph)(struct ModifierData *md, struct Scene *scene, struct Object *ob, struct DepsNodeHandle *node);
 +
  	/* Should return true if the modifier needs to be recalculated on time
  	 * changes.
  	 *
diff --cc source/blender/editors/object/object_constraint.c
index 4aa5b45,231d23b..1653a7f
--- a/source/blender/editors/object/object_constraint.c
+++ b/source/blender/editors/object/object_constraint.c
@@@ -1165,7 -1165,17 +1165,17 @@@ void ED_object_constraint_dependency_up
  {
  	ED_object_constraint_update(ob);
  
- 	if (ob->pose) BKE_pose_tag_recalc(bmain, ob->pose);  // checks & sorts pose channels
+ 	if (ob->pose) {
 -		ob->pose->flag |= POSE_RECALC;    /* Checks & sort pose channels. */
++		BKE_pose_tag_recalc(bmain, ob->pose);    /* Checks & sort pose channels. */
+ 		if (ob->proxy && ob->adt) {
+ 			/* We need to make use of ugly POSE_ANIMATION_WORKAROUND here too, else anim data are not reloaded
+ 			 * after calling `BKE_pose_rebuild()`, which causes T43872.
+ 			 * Note that this is a bit wide here, since we cannot be sure whether there are some locked proxy bones
+ 			 * or not...
+ 			 * XXX Temp hack until new depsgraph hopefully solves this. */
+ 			ob->adt->recalc |= ADT_RECALC_ANIM;
+ 		}
+ 	}
  	DAG_relations_tag_update(bmain);
  }
  
@@@ -1727,7 -1734,13 +1737,13 @@@ static int constraint_add_exec(bContex
  	DAG_relations_tag_update(bmain);
  	
  	if ((ob->type == OB_ARMATURE) && (pchan)) {
 -		ob->pose->flag |= POSE_RECALC;  /* sort pose channels */
 +		BKE_pose_tag_recalc(bmain, ob->pose);  /* sort pose channels */
+ 		if (BKE_constraints_proxylocked_owner(ob, pchan) && ob->adt) {
+ 			/* We need to make use of ugly POSE_ANIMATION_WORKAROUND here too, else anim data are not reloaded
+ 			 * after calling `BKE_pose_rebuild()`, which causes T43872.
+ 			 * XXX Temp hack until new depsgraph hopefully solves this. */
+ 			ob->adt->recalc |= ADT_RECALC_ANIM;
+ 		}
  		DAG_id_tag_update(&ob->id, OB_RECALC_DATA | OB_RECALC_OB);
  	}
  	else




More information about the Bf-blender-cvs mailing list