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
2019-06-05GTests: BLI_task: Add basic tests for BLI_task_parallel_listbase(), and some ↵Bastien Montagne
performances benchmarks. Nothing special to mention about regression test itself, it basically mimics the one for `BLI_task_parallel_mempool()`... Basic performances benchmarks do not tell us much, besides the fact that for very light processing of listbase, even with 100k items, single-thread remains an order of magnitude faster than threaded code. Synchronization is just way too expensive in that case with current code. This should be partially solvable with much bigger (and configurable) chunk sizes though (current ones are just ridiculous for such cases ;) )...
2019-05-21CTest: Fix Bli_task_test failing on windows.Ray Molenkamp
The task_scheduler was not being explicitly freed, leading to unpredictable behavior when the process was exiting. The test would pass, but would sometimes segfault at process shutdown.
2019-04-29GTest: BLI_path_util testsCampbell Barton
Unit tests for: - BLI_path_extension_check - BLI_path_frame_check_chars - BLI_path_frame_range - BLI_path_frame_get D4749 by @zazizizou
2019-04-20Cleanup: comment line length (tests)Campbell Barton
2019-04-18Cleanup: add trailing commas to avoid right shiftCampbell Barton
2019-04-17Fix T63678 Link error of tests with MSVC.Ray Molenkamp
Ideally OCIO removes their log2 implementation from the global namespace but for now this linker tweak will have to do.
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16ClangFormat: add comments to ignore formattingCampbell Barton
2019-04-16CMake: remove BLENDER_SORTED_LIBSCampbell Barton
Use CMake's target_link_libraries instead of manually maintaining library dependencies in a single list. In practice adding new libraries often ended up being guess-work, now each library lists the libraries it uses. This was used for the game player executable so libraries could optionally link to stubs. If we need this functionality it can be done using target-properties as described in T46725.
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-03-20Cleanup: More C++ like nature for word split testSergey Sharybin
While it looks more longer, but also contains more comments about what's going on. Surely, this function almost never breaks and investing time into maintaining its tests is not that important, but we should have a good, clean, understandable tests so they act as a nice example of how they are to be written. Especially important to show correct language usage, without old school macros magic. Doing this at a lunch breaks, so will be series of some updates in the area.
2019-03-20Fix BLI_path_frame_stripSybren A. Stüvel
The `BLI_path_frame_strip` function was completely broken, unless the number of digits in the sequence number was the same as the length of the extension. In other words, it would work fine for `file.0001.abc` (4 digit `0001` and 4 char `.abc`), but other combinations would truncate to the shortest (`file.001.abc` would become `file.###.ab` and `file.00001.a` would become `file.##.a`). The dependency between the sequence number and the file extension is now removed. The behaviour has changed a little bit in the case where there are no numbers in the filename. Previously, `path="filename.abc"` would result in `path="filename.abc"` and `ext=""`, but now it results in `path="filename"` and `ext=".abc"`. This way `ext` always contains the extension, and the behaviour is consistent regardless of whether there were any numbers found. Furthermore, I've removed the `bool set_frame_char` parameter, because it was unclear, probably also buggy, and most importantly, never used. I've also added a unit test for the `BLI_path_frame_strip` function.
2019-03-14Tests: BLI_heap_simple test fix build error with MSVC.Ray Molenkamp
BLI_heap_simple.h uses types from BLI_sys_types.h causing a build error on windows.
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: manually remove header text not handled by automationCampbell Barton
2018-12-24Fix/cleanup typos and such in UI messages (and some comments).Bastien Montagne
2018-12-24Fix/cleanup another bunch of UI messages issues.Bastien Montagne
Also (mostly in comments): behaviour -> behavior (we use American English).
2018-12-13BLI: New Edgehash and EdgeSet implementationJacques Lucke
The new data structure uses open addressing instead of chaining to resolve collisions in the hash table. This new structure was never slower than the old implementation in my tests. Code that first inserts all edges and then iterates through all edges (e.g. to remove duplicates) benefits the most, because the `EdgeHashIterator` becomes a simple for loop over a continuous array. Reviewer: campbellbarton Differential Revision: D4050
2018-11-28Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blenderplayer/CMakeLists.txt tests/gtests/blenlib/CMakeLists.txt
2018-11-28Fix building gtests and bplayer after recent NumaAPI addition.Bastien Montagne
Seriously... like, seriously...
2018-11-07Cleanup/Refactor: move Main stuff into BKE's new main.c file (and header).Bastien Montagne
We already had a BKE_main.h header, no reason not to put there Main-specific functions, BKE_library has already more than enough to handle with IDs and library management!
2018-11-06BLI_kdopbvh: add an option to use a priority queue in find_nearest.Alexander Gavrilov
Simple find_nearest relies on a heuristic for efficient culling of the BVH tree, which involves a fast callback that always updates the result, and the caller reusing the result of the previous find_nearest to prime the process for the next vertex. If the callback is slow and/or applies significant restrictions on what kind of nodes can qualify for the result, the heuristic can't work. Thus for such tasks it is necessary to order and prune nodes before the callback at BVH tree level using a priority queue. Since, according to code history, for simple find_nearest the heuristic approach is faster, this mode has to be an option.
2018-11-06Proper fix for new 'SimpleHeap' gtests...Bastien Montagne
This reverts reverting commit rB55324b8a2e6799300, and do proper 'cleanup' (sigh) in gtest as well. Sorry for the noise, did not understood what had happened here immediately. :/
2018-11-06Revert rBfee6ab18e7e9 in BLI_heap_test.ccBastien Montagne
Most certainly commite by mistake, FastHeap is not in BLI yet!
2018-11-05BLI_heap: implement a limited but faster version of heap.Alexander Gavrilov
If the user only needs insertion and removal from top, there is no need to allocate and manage separate HeapNode objects: the data can be stored directly in the main tree array. This measured a 24% FPS increase on a ~50% heap-heavy workload. Reviewers: brecht Differential Revision: https://developer.blender.org/D3898
2018-11-04BLI_heap: add an API function to directly read the top node value.Alexander Gavrilov
It is very commonly needed in loop conditions to check if the items in the heap are good enough to continue.
2018-09-19BLI_utildefines: rename pointer conversion macrosCampbell Barton
Terms get/set don't make much sense when casting values. Name macros so the conversion is obvious, use common prefix for easier completion. - GET_INT_FROM_POINTER -> POINTER_AS_INT - SET_INT_IN_POINTER -> POINTER_FROM_INT - GET_UINT_FROM_POINTER -> POINTER_AS_UINT - SET_UINT_IN_POINTER -> POINTER_FROM_UINT
2018-09-19Merge branch 'master' into blender2.8Campbell Barton
2018-09-19Cleanup: BLI_expr_pylike argument orderingCampbell Barton
- Order array length after the array. - Put return argument last.
2018-09-19Cleanup: rename BLI_simple_expr -> BLI_expr_pylike_evalCampbell Barton
Simple isn't a good prefix for library names since lots of unrelated modules could be called 'simple'. Include 'py' in module name since this is a subset of Python, one of the main motivations for this is to be Python like/compatible.
2018-09-18Support evaluating simple driver expressions without Python interpreter.Alexander Gavrilov
Recently @sergey found that hard-coding evaluation of certain very common driver expressions without calling the Python interpreter produces a 30-40% performance improvement. Since hard-coding is obviously not suitable for production, I implemented a proper parser and interpreter for simple arithmetic expressions in C. The evaluator supports +, -, *, /, (), ==, !=, <, <=, >, >=, and, or, not, ternary if; driver variables, frame, pi, True, False, and a subset of standard math functions that seem most useful. Booleans are represented as numbers, since within the supported operation set it seems to be impossible to distinguish True/False from 1.0/0.0. Boolean operations properly implement lazy evaluation with jumps, and comparisons support chaining like 'a < b < c...'. Expressions are parsed into a very simple stack machine program that can then be safely evaluated in multiple threads. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D3698
2018-09-04Cleanup: overly polite/rude messagesCampbell Barton
2018-06-29Merge branch 'master' into blender2.8Campbell Barton
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-08Alembic unit tests: fixed compiler errorsSybren A. Stüvel
This doesn't mean the code is correct, but at least it builds.
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04Cleanup: strip tests trailing spaceCampbell Barton
2018-05-27Merge branch 'master' into blender2.8Campbell Barton
2018-05-25Add number and memory size formatting throughout the UIDiego Gangl
This commit adds number formatting (thousands separator) to the baking panel. It also adds a new function to format memory sizes (KB/GB/etc) and applies it to the baking panel and scene stats. The new function is unit tested. Reviewers: Severin Tags: #user_interface Differential Revision: https://developer.blender.org/D1248
2018-05-02Merge branch 'master' into blender2.8Campbell Barton
2018-04-30Fix build of Alembic test.Brecht Van Lommel
2018-04-30BLI Color: YUV to/from rgb colorspace optionAaron Carlisle
This commit does two things: - Adds an option to do the calculation in different color spaces (BT601 or BT709). - Changes the default caluclation from legacy BT601 to BT709. This affects several areas: - UI areas (mainly scopes) - ViewLevelsNode - Several other nodes that use `COM_ConvertOperation.h`
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-16Fix build errors after recent depsgraph changes.Brecht Van Lommel
2018-04-16Merge branch 'master' into blender2.8Sergey Sharybin
2018-04-16Added lock-free single linked list implementationSergey Sharybin
Only supports lock-free insertion for now, can not delete element or traverse the list at the same time.
2018-02-18Merge branch 'master' into blender2.8Campbell Barton
2018-02-18Cleanup: add 2d suffix to BLI filesCampbell Barton
Some of these API's can have 3D versions, explicitly name them 2D.