Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/DerivedMesh.c
| Show First 20 Lines • Show All 1,946 Lines • ▼ Show 20 Lines | |||||
| /***/ | /***/ | ||||
| Mesh *mesh_get_eval_final(struct Depsgraph *depsgraph, | Mesh *mesh_get_eval_final(struct Depsgraph *depsgraph, | ||||
| Scene *scene, | Scene *scene, | ||||
| Object *ob, | Object *ob, | ||||
| const CustomData_MeshMasks *dataMask) | const CustomData_MeshMasks *dataMask) | ||||
| { | { | ||||
| /* This function isn't thread-safe and can't be used during evaluation. */ | /* This function isn't thread-safe and can't be used during evaluation. */ | ||||
| BLI_assert(DEG_debug_is_evaluating(depsgraph) == false); | BLI_assert(DEG_is_evaluating(depsgraph) == false); | ||||
| /* Evaluated meshes aren't supposed to be created on original instances. If you do, | /* Evaluated meshes aren't supposed to be created on original instances. If you do, | ||||
| * they aren't cleaned up properly on mode switch, causing crashes, e.g T58150. */ | * they aren't cleaned up properly on mode switch, causing crashes, e.g T58150. */ | ||||
| BLI_assert(ob->id.tag & LIB_TAG_COPIED_ON_WRITE); | BLI_assert(ob->id.tag & LIB_TAG_COPIED_ON_WRITE); | ||||
| /* if there's no evaluated mesh or the last data mask used doesn't include | /* if there's no evaluated mesh or the last data mask used doesn't include | ||||
| * the data we need, rebuild the derived mesh | * the data we need, rebuild the derived mesh | ||||
| */ | */ | ||||
| Show All 16 Lines | |||||
| } | } | ||||
| Mesh *mesh_get_eval_deform(struct Depsgraph *depsgraph, | Mesh *mesh_get_eval_deform(struct Depsgraph *depsgraph, | ||||
| Scene *scene, | Scene *scene, | ||||
| Object *ob, | Object *ob, | ||||
| const CustomData_MeshMasks *dataMask) | const CustomData_MeshMasks *dataMask) | ||||
| { | { | ||||
| /* This function isn't thread-safe and can't be used during evaluation. */ | /* This function isn't thread-safe and can't be used during evaluation. */ | ||||
| BLI_assert(DEG_debug_is_evaluating(depsgraph) == false); | BLI_assert(DEG_is_evaluating(depsgraph) == false); | ||||
| /* Evaluated meshes aren't supposed to be created on original instances. If you do, | /* Evaluated meshes aren't supposed to be created on original instances. If you do, | ||||
| * they aren't cleaned up properly on mode switch, causing crashes, e.g T58150. */ | * they aren't cleaned up properly on mode switch, causing crashes, e.g T58150. */ | ||||
| BLI_assert(ob->id.tag & LIB_TAG_COPIED_ON_WRITE); | BLI_assert(ob->id.tag & LIB_TAG_COPIED_ON_WRITE); | ||||
| /* if there's no derived mesh or the last data mask used doesn't include | /* if there's no derived mesh or the last data mask used doesn't include | ||||
| * the data we need, rebuild the derived mesh | * the data we need, rebuild the derived mesh | ||||
| */ | */ | ||||
| ▲ Show 20 Lines • Show All 457 Lines • Show Last 20 Lines | |||||