[Bf-blender-cvs] [828c0e98139] blender2.8: Depsgraph: Ensure shading update order

Sergey Sharybin noreply at git.blender.org
Wed Sep 19 17:16:08 CEST 2018


Commit: 828c0e98139e81fea2ce0e40b0d1f95dd1d44eed
Author: Sergey Sharybin
Date:   Wed Sep 19 17:14:27 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB828c0e98139e81fea2ce0e40b0d1f95dd1d44eed

Depsgraph: Ensure shading update order

Previously it was possible to have geometry component to
tag batch for DIRTY_ALL and shading to tag with SHADING_UPDATE.

Now there is a relation between uber eval and shading, which
solves this issue.

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

M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 002369b7910..ae95d32ea40 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1899,6 +1899,11 @@ void DepsgraphRelationBuilder::build_object_data_geometry(Object *object)
 		add_relation(geom_init_key,
 		             obdata_ubereval_key,
 		             "Object Geometry UberEval");
+		ComponentKey object_shading_key(&object->id, DEG_NODE_TYPE_SHADING);
+		DepsRelation *rel = add_relation(obdata_ubereval_key,
+		                                 object_shading_key,
+		                                 "Object Geometry batch Update");
+		rel->flag |= DEPSREL_FLAG_NO_FLUSH;
 	}
 	if (object->type == OB_MBALL) {
 		Object *mom = BKE_mball_basis_find(scene_, object);



More information about the Bf-blender-cvs mailing list