Blender Git Commit Log
Git Commits -> Revision 415b5a4
Revision 415b5a4 by Sergey Sharybin (master) November 25, 2015, 12:43 (GMT) |
Fix T46646: Point Cloud Density crashes on real time rendering The issue was caused by possible use of object->derivedFinal from the render thread, The patch tries to eliminate (or at least minimize, huh) amount of access to the derivedFinal of a source object. It's still possible that in the case of particle source derived mesh will be still unsafely used, but with the patch applied we can easily change runtime part of the code and cache derived mesh on the preparation stage. Some ideas for the future: - Check whether cache() was called on the point density node when calling calc(). - Cache derivedMesh in the runtime part of point density node to avoid possible remained thread conflicts. - NULL the runtime part of the node on .blend load Reviewers: campbellbarton, plasmasolutions Reviewed By: plasmasolutions Differential Revision: https://developer.blender.org/D1614 |
Commit Details:
Full Hash: 415b5a43690b3b823506871335281df717309f72
Parent Commit: 328208a
Lines Changed: +77, -27
5 Modified Paths:
/intern/cycles/blender/blender_shader.cpp (+11, -3) (Diff)
/source/blender/makesdna/DNA_node_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+41, -19) (Diff)
/source/blender/render/extern/include/RE_render_ext.h (+4, -0) (Diff)
/source/blender/render/intern/source/pointdensity.c (+20, -5) (Diff)
/source/blender/makesdna/DNA_node_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+41, -19) (Diff)
/source/blender/render/extern/include/RE_render_ext.h (+4, -0) (Diff)
/source/blender/render/intern/source/pointdensity.c (+20, -5) (Diff)