bdk-blender/source/blender/depsgraph
Sergey Sharybin 954c262a96 Fix #108778: Crash when rendering multiple view layers
The rendering pipeline will re-use dependency graph and request
for re-building its relations for every new view layer, and try
to re-use as much evaluation as possible.

This could potentially run into situation when a content of
collection is changed: due to the difference in the per-view
layer visibility. If the evaluated collection has an object cache
this will make the cache to get out-of-sync with the actual
content. The cache on the evaluated collection might be created
when instancing system iterates over the collection.

This change makes it so the cache is freed when the dependency
graph relations are updated. This might be a bit too intrusive.
There might be ways to somehow ensure the content of the collection
is still the same as it was before the relations update, but this
is much more complicated task. Perhaps the performance is already
good enough.

This is a collaboration with Jacques Lucke, who was looking into
the same report, bouncing some ideas back and forth, and helped
testing the patch.

Pull Request: blender/blender#108816
2023-06-20 11:39:38 +02:00
..
intern Fix #108778: Crash when rendering multiple view layers 2023-06-20 11:39:38 +02:00
CMakeLists.txt Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
DEG_depsgraph_build.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
DEG_depsgraph_debug.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
DEG_depsgraph_physics.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
DEG_depsgraph_query.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00
DEG_depsgraph.h Remove "All Rights Reserved" from Blender Foundation copyright code 2023-03-30 10:51:59 +02:00