blender/source
Lukas Tönne 08444518e6 Removing ParticleSystem->frand arrays to avoid memory corruption issues
in threaded depgraph updates and effector list construction.

Gathering effectors during depgraph updates will call the
psys_check_enabled function. This in turn contained a DNA alloc call
for the psys->frand RNG arrays, which is really bad because data must be
immutable during these effector constructions.

To avoid such allocs the frand array is now global for all particle
systems. To avoid correlation of pseudo-random numbers the psys->seed
value is complemented with random offset and multiplier for the actual
float array. This is not ideal, but work sufficiently well (given that
random numbers were already really limited and show repetition quite
easily for particle counts > PSYS_FRAND_COUNT).
2014-03-07 11:20:45 +01:00
..
blender Removing ParticleSystem->frand arrays to avoid memory corruption issues 2014-03-07 11:20:45 +01:00
blenderplayer BSP was still hanging around in CMake 2014-02-19 16:07:49 +06:00
creator Removing ParticleSystem->frand arrays to avoid memory corruption issues 2014-03-07 11:20:45 +01:00
gameengine Partial fix for T3817: BGE crashing when using LibNew. 2014-02-23 12:44:33 -08:00
icons Added GPL header to sconscripts! 2012-12-17 08:01:43 +00:00
tests Code cleanup: style 2014-02-13 08:52:12 +11:00
CMakeLists.txt remove WINDOWS checks in cmake, this variable isn't defined on windows and checks weren't needed. 2013-09-03 03:04:44 +00:00
SConscript Added GPL header to sconscripts! 2012-12-17 08:01:43 +00:00