[Bf-blender-cvs] [3d10343] master: Code cleanup: remove WIP code came from the GSoC branch

Sergey Sharybin noreply at git.blender.org
Thu Jan 9 20:27:35 CET 2014


Commit: 3d10343888325b4fcf3ca45c76e3a418594e9767
Author: Sergey Sharybin
Date:   Fri Jan 10 01:23:49 2014 +0600
https://developer.blender.org/rB3d10343888325b4fcf3ca45c76e3a418594e9767

Code cleanup: remove WIP code came from the GSoC branch

DAG node tagging was rather an experiment to make derived render working.
However, it ended up in a whole can of worms and need to be re-considered.
It is likely that regular object update tagging and scene update routines
are to be used for this.

Meanwhile no need to keep extra field in dag node. Would save us the whole
byte of the struct which we can use for other purposes meanwhile.

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

M	source/blender/blenkernel/BKE_depsgraph.h
M	source/blender/blenkernel/depsgraph_private.h
M	source/blender/blenkernel/intern/depsgraph.c

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

diff --git a/source/blender/blenkernel/BKE_depsgraph.h b/source/blender/blenkernel/BKE_depsgraph.h
index be5ae7f..76ce8c3 100644
--- a/source/blender/blenkernel/BKE_depsgraph.h
+++ b/source/blender/blenkernel/BKE_depsgraph.h
@@ -145,14 +145,10 @@ void DAG_threaded_update_handle_node_updated(void *node_v,
 
 void DAG_print_dependencies(struct Main *bmain, struct Scene *scene, struct Object *ob);
 
-/* Tagging and querying */
-void DAG_tag_clear_nodes(struct Scene *scene);
-void DAG_tag_node_for_object(struct Scene *scene, void *object);
-void DAG_tag_flush_nodes(struct Scene *scene);
+/* ************************ DAG querying ********************* */
 
 struct Object *DAG_get_node_object(void *node_v);
 const char *DAG_get_node_name(void *node_v);
-bool DAG_get_node_tag(void *node_v);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/depsgraph_private.h b/source/blender/blenkernel/depsgraph_private.h
index f4a6e44..8aa929c 100644
--- a/source/blender/blenkernel/depsgraph_private.h
+++ b/source/blender/blenkernel/depsgraph_private.h
@@ -99,7 +99,7 @@ typedef struct DagNode {
 	                                * Used by threaded update for faster detect whether node could be
 	                                * updated aready.
 	                                */
-	bool tag, scheduled;
+	bool scheduled;
 } DagNode;
 
 typedef struct DagNodeQueueElem {
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index cdbf59d..7200ec1 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -2819,74 +2819,7 @@ void DAG_print_dependencies(Main *bmain, Scene *scene, Object *ob)
 	dag_print_dependencies = 0;
 }
 
-/* ************************ DAG tagging and querying ********************* */
-
-void DAG_tag_clear_nodes(Scene *scene)
-{
-	DagNode *node;
-
-	for (node = scene->theDag->DagNode.first; node; node = node->next) {
-		node->tag = false;
-	}
-}
-
-void DAG_tag_node_for_object(Scene *scene, void *object)
-{
-	DagNode *node = dag_get_node(scene->theDag, object);
-
-	node->tag = true;
-}
-
-void DAG_tag_flush_nodes(Scene *scene)
-{
-	DagNodeQueue *node_queue;
-	DagNode *node, *root_node;
-
-	node_queue = queue_create(DAGQUEUEALLOC);
-
-	for (node = scene->theDag->DagNode.first; node; node = node->next) {
-		node->color = DAG_WHITE;
-	}
-
-	root_node = scene->theDag->DagNode.first;
-	root_node->color = DAG_GRAY;
-	push_stack(node_queue, root_node);
-
-	while (node_queue->count) {
-		DagAdjList *itA;
-		bool has_new_nodes = false;
-
-		node = get_top_node_queue(node_queue);
-
-		/* Schedule all child nodes. */
-		for (itA = node->child; itA; itA = itA->next) {
-			if (itA->node->color == DAG_WHITE) {
-				itA->node->color = DAG_GRAY;
-				push_stack(node_queue, itA->node);
-				has_new_nodes = true;
-			}
-		}
-
-		if (!has_new_nodes) {
-			node = pop_queue(node_queue);
-			if (node->ob == scene) {
-				break;
-			}
-
-			/* Flush tag from child to current node. */
-			for (itA = node->child; itA; itA = itA->next) {
-				if (itA->node->tag) {
-					node->tag = true;
-					break;
-				}
-			}
-
-			node->color = DAG_BLACK;
-		}
-	}
-
-	queue_delete(node_queue);
-}
+/* ************************ DAG querying ********************* */
 
 /* Will return Object ID if node represents Object,
  * and will return NULL otherwise.
@@ -2909,10 +2842,3 @@ const char *DAG_get_node_name(void *node_v)
 
 	return dag_node_name(node);
 }
-
-bool DAG_get_node_tag(void *node_v)
-{
-	DagNode *node = node_v;
-
-	return node->tag;
-}




More information about the Bf-blender-cvs mailing list