[Bf-blender-cvs] [025f4a046f6] blender2.8: Depsgraph: Remove driver evaluation from object update

Sergey Sharybin noreply at git.blender.org
Wed Oct 25 15:50:40 CEST 2017


Commit: 025f4a046f69c96504d3aa6bfb7b8c57b3ab6714
Author: Sergey Sharybin
Date:   Wed Oct 25 15:38:03 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB025f4a046f69c96504d3aa6bfb7b8c57b3ab6714

Depsgraph: Remove driver evaluation from object update

With new dependency graph this direct call to driver/animation update should
not be needed,

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

M	source/blender/blenkernel/intern/object_update.c

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

diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c
index 3495804f743..230a14796ac 100644
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@ -38,7 +38,6 @@
 #include "BLI_blenlib.h"
 #include "BLI_utildefines.h"
 #include "BLI_math.h"
-#include "BLI_threads.h"
 
 #include "BKE_global.h"
 #include "BKE_armature.h"
@@ -67,8 +66,6 @@
 
 #define DEBUG_PRINT if (G.debug & G_DEBUG_DEPSGRAPH) printf
 
-static ThreadMutex material_lock = BLI_MUTEX_INITIALIZER;
-
 void BKE_object_eval_local_transform(const EvaluationContext *UNUSED(eval_ctx),
                                      Scene *UNUSED(scene),
                                      Object *ob)
@@ -225,28 +222,6 @@ void BKE_object_handle_data_update(
 			break;
 	}
 
-	/* related materials */
-	/* XXX: without depsgraph tagging, this will always need to be run, which will be slow!
-	 * However, not doing anything (or trying to hack around this lack) is not an option
-	 * anymore, especially due to Cycles [#31834]
-	 */
-	if (ob->totcol) {
-		int a;
-		if (ob->totcol != 0) {
-			BLI_mutex_lock(&material_lock);
-			for (a = 1; a <= ob->totcol; a++) {
-				Material *ma = give_current_material(ob, a);
-				if (ma) {
-					/* recursively update drivers for this material */
-					material_drivers_update(scene, ma, ctime);
-				}
-			}
-			BLI_mutex_unlock(&material_lock);
-		}
-	}
-	else if (ob->type == OB_LAMP)
-		lamp_drivers_update(scene, ob->data, ctime);
-
 	/* particles */
 	if (ob != scene->obedit && ob->particlesystem.first) {
 		ParticleSystem *tpsys, *psys;



More information about the Bf-blender-cvs mailing list