Blender Git Commit Log

Git Commits -> Revision 6371fcc

Revision 6371fcc by Sergey Sharybin (master)
February 15, 2016, 10:46 (GMT)
Cycles: Fix guarded allocator issues on Windows

The issue was caused by static vectors allocating some internal
data using rebound element allocator for them, which was causing
access to a non-initialized statistics objects and was failing a
lot when switching Blender to a fully guarded allocation.

Additionally, we were not able to free that internal memory before
Blender exits, which was causing false-positive memory leak prints.

Now we're not using GuardedAllocator for those proxy containers.

Ideally this should be done as a GuardedAllocator::rebind, but
it didn't work for vector<bool> because it seems some internal
parts are converting bool to char32_t, which either makes it so
we can't use GuardedAllocator for those vectors or the compiler
get's confused when we're trying explicitly allow GuardedAllocator
for rebind<char32_t>.

This with current approach we should be fine for the release.

Commit Details:

Full Hash: 6371fccdbe34ac214f54a8843dc6d2c9f1e05d92
Parent Commit: 318d3b9
Lines Changed: +28, -0

1 Modified Path:

/intern/cycles/util/util_guarded_allocator.h (+28, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021