Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2021-08-06 14:32:19 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-08-06 14:59:25 +0300
commitf4adb35f28ece4096f19489273601e5327a08e99 (patch)
tree682a944ed9586e65d2d963356d89fc84ae73f07f
parentb0df8f53ba62e769944dff66db29de374008ba8a (diff)
Fix T90476: intermittent wrong generated texture coordinates with modifiers
This caused Cycles texture_space_mesh_modifier and panorama_dicing tests to randomly fail. The issue was introduced with D11377, due to a missing dependency. Now ensure we first copy the texture space parameters, and only then use or recompute then. In general it seems like this dependency should have already been there, since parameter evaluation includes animation and drivers, and geometry evaluation may depend on that (even if you would not typically animate e.g. an autosmooth angle). Thanks Campbell for tracking this one down.
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index c7c6fafa512..7da3d2e25f0 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -2224,6 +2224,11 @@ void DepsgraphRelationBuilder::build_object_data_geometry_datablock(ID *obdata)
OperationKey obdata_geom_eval_key(obdata, NodeType::GEOMETRY, OperationCode::GEOMETRY_EVAL);
OperationKey obdata_geom_done_key(obdata, NodeType::GEOMETRY, OperationCode::GEOMETRY_EVAL_DONE);
add_relation(obdata_geom_eval_key, obdata_geom_done_key, "ObData Geom Eval Done");
+
+ /* Link object data evaluation to parameter evaluation. */
+ ComponentKey parameters_key(obdata, NodeType::PARAMETERS);
+ add_relation(parameters_key, obdata_geom_eval_key, "ObData Geom Params");
+
/* Type-specific links. */
const ID_Type id_type = GS(obdata->name);
switch (id_type) {