Merge branch 'master' into blender2.8
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 25 Oct 2017 09:48:20 +0000 (11:48 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 25 Oct 2017 09:48:20 +0000 (11:48 +0200)
1  2 
source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
source/blender/depsgraph/intern/depsgraph_type_defines.cc
source/blender/depsgraph/intern/depsgraph_types.h

index a4c3c11d9224e37230e670575a7d02c49d14481a,0228e619f5491888608a84169a7c2eb47d3cc78e..d7ef1c19c612409df88b629934d0974a85b6ac90
@@@ -839,10 -706,9 +840,9 @@@ void DepsgraphNodeBuilder::build_cloth(
        add_operation_node(cache_comp,
                           function_bind(BKE_object_eval_cloth,
                                         _1,
 -                                       scene,
 -                                       object),
 +                                       scene_cow,
 +                                       object_cow),
-                          DEG_OPCODE_PLACEHOLDER,
-                          "Cloth Modifier");
+                          DEG_OPCODE_GEOMETRY_CLOTH_MODIFIER);
  }
  
  /* Shapekeys */
@@@ -1277,35 -1109,15 +1274,40 @@@ void DepsgraphNodeBuilder::build_mask(M
                           DEG_OPCODE_MASK_EVAL);
  }
  
 -void DepsgraphNodeBuilder::build_movieclip(MovieClip *clip) {
 +void DepsgraphNodeBuilder::build_movieclip(MovieClip *clip)
 +{
        ID *clip_id = &clip->id;
-       add_id_node(clip_id);
+       /* Animation. */
        build_animdata(clip_id);
+       /* Movie clip evaluation. */
+       add_operation_node(clip_id,
+                          DEG_NODE_TYPE_PARAMETERS,
+                          function_bind(BKE_movieclip_eval_update, _1, clip),
+                          DEG_OPCODE_MOVIECLIP_EVAL);
  }
  
 +void DepsgraphNodeBuilder::build_lightprobe(Object *object)
 +{
 +      LightProbe *probe = (LightProbe *)object->data;
 +      ID *probe_id = &probe->id;
 +      if (probe_id->tag & LIB_TAG_DOIT) {
 +              return;
 +      }
 +      probe_id->tag |= LIB_TAG_DOIT;
 +      /* Placeholder so we can add relations and tag ID node for update. */
 +      add_operation_node(probe_id,
 +                         DEG_NODE_TYPE_PARAMETERS,
 +                         NULL,
 +                         DEG_OPCODE_PLACEHOLDER,
 +                         "LightProbe Eval");
 +
 +      add_operation_node(&object->id,
 +                         DEG_NODE_TYPE_PARAMETERS,
 +                         NULL,
 +                         DEG_OPCODE_PLACEHOLDER,
 +                         "LightProbe Eval");
 +
 +      build_animdata(probe_id);
 +}
 +
  }  // namespace DEG
index 0d42acf382ac3c65c7d69546e73c713f6dfe498b,e5bdaf793662fc90b041e76790b9b402ee485774..6dfe1565bb195d00c8b7fcdbc081ee5b4c952f9a
@@@ -137,16 -137,10 +139,18 @@@ static const char *stringify_opcode(eDe
                /* Masks. */
                STRINGIFY_OPCODE(MASK_ANIMATION);
                STRINGIFY_OPCODE(MASK_EVAL);
 +              /* Collections. */
 +              STRINGIFY_OPCODE(SCENE_LAYER_INIT);
 +              STRINGIFY_OPCODE(SCENE_LAYER_EVAL);
 +              STRINGIFY_OPCODE(SCENE_LAYER_DONE);
 +              /* Copy on write. */
 +              STRINGIFY_OPCODE(COPY_ON_WRITE);
                /* Shading. */
                STRINGIFY_OPCODE(SHADING);
 +              STRINGIFY_OPCODE(MATERIAL_UPDATE);
 +              STRINGIFY_OPCODE(WORLD_UPDATE);
+               /* Movie clip. */
+               STRINGIFY_OPCODE(MOVIECLIP_EVAL);
  
                case DEG_NUM_OPCODES: return "SpecialCase";
  #undef STRINGIFY_OPCODE
index abdedd8adb6006b0f0def0c352d9fe52af0b6078,03d98c85148d90ef2799f07017733ffa187360a8..6f5eeff43dff4282afaa77a53df6826729d38ecb
@@@ -226,10 -209,8 +228,10 @@@ typedef enum eDepsOperation_Code 
  
        /* Shading. ------------------------------------------- */
        DEG_OPCODE_SHADING,
 +      DEG_OPCODE_MATERIAL_UPDATE,
 +      DEG_OPCODE_WORLD_UPDATE,
  
-       /* Masks ------------------------------------------- */
+       /* Masks------------------------------------------ */
        DEG_OPCODE_MASK_ANIMATION,
        DEG_OPCODE_MASK_EVAL,