Blender Git Loki

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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021