Blender Git Commit Log
Git Commits -> Revision 688858d
Revision 688858d by Bastien Montagne (master) May 16, 2016, 15:15 (GMT) |
BLI_task: Add new 'BLI_task_parallel_range_finalize()'. Together with the extended loop callback and userdata_chunk, this allows to perform cumulative tasks (like aggregation) in a lockfree way using local userdata_chunk to store temp data, and once all workers have finished, to merge those userdata_chunks in the finalize callback (from calling thread, so no need to lock here either). Note that this changes how userdata_chunk is handled (now fully from 'main' thread, which means a given worker thread will always get the same userdata_chunk, without being re-initialized anymore to init value at start of each iter chunk). |
Commit Details:
Full Hash: 688858d3a807536d2bdcead7b50fc4d0496dab44
Parent Commit: 5a7429c
Lines Changed: +77, -22