Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-15Cleanup: rename BLI_thread.h APICampbell Barton
- Use BLI_threadpool_ prefix for (deprecated) thread/listbase API. - Use BLI_thread as prefix for other functions. See P614 to apply instead of manually resolving conflicts.
2018-02-15Cleanup: use '_len' instead of '_size' w/ BLI APICampbell Barton
- When returning the number of items in a collection use BLI_*_len() - Keep _size() for size in bytes. - Keep _count() for data structures that don't store length (hint this isn't a simple getter). See P611 to apply instead of manually resolving conflicts.
2018-02-15Cleanup: Style, braces with macrosSergey Sharybin
See https://wiki.blender.org/index.php/Dev:Doc/Code_Style#Braces_with_Macros
2018-02-15Cleanup: Remove BLI_ prefix from listbase macroSergey Sharybin
This is kind of doesn't matter where macro itself is defined. We should stick to the following: - If some macro is actually more an inline function, follow regular function name conventions. - If macro is a macro, type it in capitals. Use module prefix if that helps readability or it if helps avoiding accidents.
2018-02-15Blenlib: Assert when attempting to rotate point around vector and store ↵Sergey Sharybin
result in the point This isn't supported since there are subsequent reads to all point coordinates after modification started. Probably we need to create a temp copy of point, but that's like extra CPU ticks.
2018-02-15Cleanup: styleCampbell Barton
2018-02-14Cycles: change Index output of Hair and Particle Info to Random, in 0..1 range.Brecht Van Lommel
These are used for randomization, so it's convenient if the index is already hashed and consistent with the Object Info node.
2018-02-14Math utils: Add clamping functionsSergey Sharybin
2018-02-08Mesh: concave quad supportCampbell Barton
Previously quads always split along first-third vertices. This is still the default, to avoid flickering with animated deformation however concave quads that would create two opposing triangles now use second-fourth split. Reported as T53999 although this issue has been known limitation for a long time.
2018-02-01Fix: msvc build error with bli_fileops.hRay Molenkamp
bli_fileops.h was using uint64_t without including the proper header. issue triggered by rBb0af44fa4d7a2e134b315c49a4fbdf573f781004
2018-02-01Cleanup: rename BLI_*_empty() -> clear()Campbell Barton
Consistent with other BLI API's
2018-01-22Fix windows building (log10)Dalai Felinto
Error: math_base_inline.c(402): error C2668: 'log10' : ambiguous call to overloaded function
2018-01-21Cleanup: BLI_kdopbvh avoid negative array accessCampbell Barton
It's harder to reason about array access with negative indices.
2018-01-21Cleanup: styleCampbell Barton
2018-01-19Fixup for integer digits commitDalai Felinto
2018-01-19Util function to determine number of digits from an integerDalai Felinto
2018-01-19Cleanup: reaname LINKLIST_FOREACH -> LISTBASECampbell Barton
LinkList's are a different API, no need to confuse things.
2018-01-19Cleanup: typosCampbell Barton
2018-01-14Cleanup: BLI_ghashCampbell Barton
Improve hashsizes comment too.
2018-01-11Cleanup typo in comment.Bastien Montagne
2018-01-10Task scheduler: Use restrict pointer qualifierSergey Sharybin
Those pointers are never to be aliased, so let's be explicit about this and hope compiler does save some CPU ticks.
2018-01-10Task scheduler: Use more const qualifiersSergey Sharybin
2018-01-10math utils: Add size_t version of min and max functionsSergey Sharybin
2018-01-10Cleanup: comment block alignmentCampbell Barton
2018-01-09Task scheduler: Use single thread branch when range fits into single chunkSergey Sharybin
2018-01-09Task scheduler: Fix wrong tasks calculation when chunk size is too bigSergey Sharybin
2018-01-09Task scheduler: Use const qualifiers in parallel rangeSergey Sharybin
2018-01-09Task scheduler: Avoid over-allocation of tasks for parallel rangesSergey Sharybin
This seems to only cause extra rthreading overhead on systems with 10s of threads, without actually solving anything.
2018-01-09Task scheduler: Add minimum number of iterations per thread in parallel rangeSergey Sharybin
The idea is to support following: allow doing parallel for on a small range, each iteration of which takes lots of compute power, but limit such range to a subset of threads. For example, on a machine with 44 threads we can occupy 4 threads to handle range of 64 elements, 16 elements per thread, where each block of 16 elements is very complex to compute. The idea should be to use this setting instead of global use_threading flag, which is only based on size of array. Proper use of the new flag will improve threadability. This commit only contains internal task scheduler changes, this setting is not used yet by any areas.
2018-01-09Task scheduler: Simplify parallel range functionSergey Sharybin
Basically, split it up and avoid extra abstraction level.
2018-01-09Task scheduler: Use single parallel range function with more flexible functionSergey Sharybin
Now all the fine-tuning is happening using parallel range settings structure, which avoid passing long lists of arguments, allows extend fine-tuning further, avoid having lots of various functions which basically does the same thing.
2018-01-09Task scheduler: Get rid of extended version of parallel range callbackSergey Sharybin
Wrap all arguments into TLS type of argument. Avoids some branching and also makes it easier to extend things in the future.
2017-12-22Task scheduler: Clarify why do we need an atomic add of 0Sergey Sharybin
2017-12-22Task scheduler: Start with suspended pool to avoid threading overhead on pushSergey Sharybin
The idea is to avoid any threading overhead when we start pushing tasks in a loop. Similarly to how we do it from the new dependency graph. Gives couple of percent of speedup here, but also improves scalability.
2017-12-20Fix MSVSC2017 errorAntonio Vazquez
The last compiler version needs this include
2017-12-19Math Lib: signed versions of quaternion angleCampbell Barton
There was no simple way to get the shortest quaternion angle.
2017-12-15math utils: Add utilities to scan bit and clear itSergey Sharybin
2017-12-15Math utils: Go away form naive code for highest_order_bit_uintSergey Sharybin
2017-12-15Math utils: Add bit scan operationsSergey Sharybin
2017-12-15Math utils: Make it more clear what the functions are returningSergey Sharybin
2017-12-15Math utils: Cleanup, use _uint suffix for function which operates on uintSergey Sharybin
2017-12-02BLI_ghash: Description of GHash, GSetCampbell Barton
Also some re-indenting.
2017-11-30Haiku OS SupportCampbell Barton
D2860 by @miqlas Even though Haiku is a niche OS, only minor changes are needed.
2017-11-29Fix paint float color blending bugs with alpha 1.0 and vivid light.Brecht Van Lommel
For some blend modes there would be no effect with factor 1.0, even if factor 0.999 would give a very different image. Now the result should have no discontinuity. Differential Revision: https://developer.blender.org/D2925
2017-11-24Minor cleanup for own recent commits.Bastien Montagne
2017-11-23Add a new parallel looper for MemPool items to BLI_task.Bastien Montagne
It merely uses the new thread-safe iterators system of mempool, quite straight forward. Note that to avoid possible confusion with two void pointers as parameters of the callback, a dummy opaque struct pointer is used instead for the second parameter (pointer generated by iteration over mempool), callback functions must explicitely convert it to expected real type. Also added a basic gtest for this new feature.
2017-11-23Add ability to use more than one mempool iterator simultaneously.Bastien Montagne
This will allow threaded tasks to 'consume' all mempool items in parallel tasks, each one working on a whole chunk at once (to reduce concurrency managing overhead).
2017-11-23Add non-gcc variant of static assert macro.Bastien Montagne
Adapted from http://www.pixelbeat.org/programming/gcc/static_assert.html. Note that this macro just discards error message, so error when building is much less nice than with gcc's _Static_assert... But error log will point to right place in code, so should still be OK.
2017-11-23Cleanup: use signed atomic ops when needed.Bastien Montagne
2017-11-23Revert "BLI_utildefines: Support SWAP macro with two args"Campbell Barton
This reverts commit d749320e3b10161430bc4cb7dd92edb63712bf8c. It's possible the container struct is larger, we could do sizeof checks that falls back to memmove but rather avoid complicating things.