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.
This commit is contained in:
2018-09-19 17:14:27 +02:00
parent 63c636518f
commit 828c0e9813

View File

@@ -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);