Blender Git Loki
Git Commits -> Revision f4e491e
Revision f4e491e by Ton Roosendaal (master) February 11, 2006, 15:55 (GMT) |
Thread rendering stability commit. I noticed still several cases where the Imbuf library was called within a thread... and that whilst the Imbuf itself isn't threadsafe. Also the thread lock I added in rendering for loading images actually didn't work, because then it was still possible both threads were accessing the MEM_malloc function at same time. This commit nearly fully replaces ImBuf calls in compositor (giving another nice speedup btw, the way preview images in Nodes were calculated used clumsy imbuf scaling code). I've also centralized the 'mutex' locking for threading, which now only resides in BLI_threads.h. This is used to secure the last ImBuf calls I cannot replace, which is loading images and creating mipmaps. Really hope we get something more stable now! |
Commit Details:
Full Hash: f4e491e2f462618b039d31e0d39f2c0f37be1b17
SVN Revision: 6789
Parent Commit: 05166d0
Lines Changed: +196, -128
10 Modified Paths:
/source/blender/blenkernel/intern/image.c (+2, -1) (Diff)
/source/blender/blenkernel/intern/node_composite.c (+110, -16) (Diff)
/source/blender/blenlib/BLI_threads.h (+4, -1) (Diff)
/source/blender/blenlib/intern/threads.c (+11, -0) (Diff)
/source/blender/render/intern/include/renderpipeline.h (+0, -4) (Diff)
/source/blender/render/intern/source/envmap.c (+5, -8) (Diff)
/source/blender/render/intern/source/imagetexture.c (+7, -10) (Diff)
/source/blender/render/intern/source/pipeline.c (+22, -53) (Diff)
/source/blender/render/intern/source/rendercore.c (+23, -21) (Diff)
/source/blender/render/intern/source/zbuf.c (+12, -14) (Diff)
/source/blender/blenkernel/intern/node_composite.c (+110, -16) (Diff)
/source/blender/blenlib/BLI_threads.h (+4, -1) (Diff)
/source/blender/blenlib/intern/threads.c (+11, -0) (Diff)
/source/blender/render/intern/include/renderpipeline.h (+0, -4) (Diff)
/source/blender/render/intern/source/envmap.c (+5, -8) (Diff)
/source/blender/render/intern/source/imagetexture.c (+7, -10) (Diff)
/source/blender/render/intern/source/pipeline.c (+22, -53) (Diff)
/source/blender/render/intern/source/rendercore.c (+23, -21) (Diff)
/source/blender/render/intern/source/zbuf.c (+12, -14) (Diff)