[Bf-blender-cvs] [b0e61f2] depsgraph_refactor: Sneaky injection of new depsgraph tagging into the existing DAG_id_tag_update function.

Lukas Tönne noreply at git.blender.org
Wed Apr 16 08:58:45 CEST 2014


Commit: b0e61f269d7dbed4d09790fa564a76a33a13d794
Author: Lukas Tönne
Date:   Mon Apr 14 15:43:53 2014 +0200
https://developer.blender.org/rBb0e61f269d7dbed4d09790fa564a76a33a13d794

Sneaky injection of new depsgraph tagging into the existing
DAG_id_tag_update function.

This way we can test flushing and scheduling for the new depsgraph
without having to touch hundreds of occurences. These will be changed
eventually once the new API reaches a stable level.

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

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

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

diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index df1695d..947f978 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -84,6 +84,9 @@
 
 #include "depsgraph_private.h"
 
+#pragma message("DEPSGRAPH PORTING XXX: only needed to hijack existing tagging functions until new depsgraph API is stabilized")
+#include "DEG_depsgraph.h"
+
 static SpinLock threaded_update_lock;
 
 void DAG_init(void)
@@ -2761,6 +2764,16 @@ void DAG_id_tag_update_ex(Main *bmain, ID *id, short flag)
 			/* BLI_assert(!"invalid flag for this 'idtype'"); */
 		}
 	}
+	
+	/* XXX sneaky update for testing new depsgraph */
+	{
+		/* for now Depsgraph is stored in Scene, so just tag all of them ... */
+		Scene *scene;
+		for (scene = G.main->scene.first; scene; scene = scene->id.next) {
+			if (scene->depsgraph)
+				DEG_id_tag_update(scene->depsgraph, id);
+		}
+	}
 }
 
 void DAG_id_tag_update(ID *id, short flag)




More information about the Bf-blender-cvs mailing list