Merge branch 'master' into blender2.8
[blender.git] / source / blender / depsgraph / intern / nodes / deg_node_component.h
index eddef3f6635450ae9c25c5ee23c350d1396b12bd..3fef313b1e4dffee33e36bdb88a1b70def637fa6 100644 (file)
@@ -131,7 +131,7 @@ struct ComponentDepsNode : public DepsNode {
        OperationDepsNode *get_entry_operation();
        OperationDepsNode *get_exit_operation();
 
-       void finalize_build();
+       void finalize_build(Depsgraph *graph);
 
        IDDepsNode *owner;
 
@@ -151,9 +151,7 @@ struct ComponentDepsNode : public DepsNode {
        OperationDepsNode *exit_operation;
 
        // XXX: a poll() callback to check if component's first node can be started?
-
-       /* Temporary bitmask, used during graph construction. */
-       unsigned int layers;
+       virtual bool depends_on_cow() { return true; }
 };
 
 /* ---------------------------------------- */
@@ -165,13 +163,16 @@ struct ComponentDepsNode : public DepsNode {
 
 DEG_COMPONENT_DECLARE_GENERIC(Animation);
 DEG_COMPONENT_DECLARE_GENERIC(Cache);
+DEG_COMPONENT_DECLARE_GENERIC(CopyOnWrite);
 DEG_COMPONENT_DECLARE_GENERIC(Geometry);
+DEG_COMPONENT_DECLARE_GENERIC(LayerCollections);
 DEG_COMPONENT_DECLARE_GENERIC(Parameters);
 DEG_COMPONENT_DECLARE_GENERIC(Particles);
 DEG_COMPONENT_DECLARE_GENERIC(Proxy);
 DEG_COMPONENT_DECLARE_GENERIC(Pose);
 DEG_COMPONENT_DECLARE_GENERIC(Sequencer);
 DEG_COMPONENT_DECLARE_GENERIC(Shading);
+DEG_COMPONENT_DECLARE_GENERIC(ShadingParameters);
 DEG_COMPONENT_DECLARE_GENERIC(Transform);
 
 /* Bone Component */