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-12-12Docs: correct doxy commentsCampbell Barton
2018-12-09Simplified #ifdef to not silently fail on certain platformsSybren A. Stüvel
2018-12-08Cleanup: styleCampbell Barton
2018-12-07Move static `get_hostname()` to `BLI_hostname()` in `system.c`Sybren A. Stüvel
This makes the `#include <Windows.h>` use more localised and out of the `image.c` file. Reviewers: LazyDodo Reviewed by: LazyDodo Differential revision: https://developer.blender.org/D4049
2018-12-04BLI_task: fix queue in work_and_wait, and support resetting.Alexander Gavrilov
To make the pool more usable for running multiple stages of tasks, fix local queue handling in BLI_task_pool_work_and_wait. Specifically, after the wait loop the local queue should be empty, or the wait part of the function contract isn't fulfilled. Instead, check and run any tasks in queue before the wait loop. Also, add a new function that resets the suspended state of the pool.
2018-12-04Merge branch 'master' into blender2.8Sergey Sharybin
2018-12-04Cleanup: SpellingSergey Sharybin
2018-12-01Merge branch 'master' into blender2.8Campbell Barton
2018-12-01Cleanup: styleCampbell Barton
2018-11-30PyAPI: add load_factory_startup_post handlerCampbell Barton
Needed so we can apply changes to the startup file, only in the case when it's load loaded from a user-saved startup.
2018-11-29Fix leak in CPU brand checkCampbell Barton
2018-11-29Fix leak in CPU brand checkCampbell Barton
2018-11-28Merge branch 'master' into blender2.8Sergey Sharybin
2018-11-28Tweaks for threading schedule for Threadripper2 and EPYCSergey Sharybin
The idea is to make main thread and job threads to be scheduled on CPU dies which has direct access to memory (those are NUMA nodes 0 and 2). We also do this for new EPYC CPUs since their NUMA nodes 1 and 3 do have access but only to a higher range DDR slots. By preferring nodes 0 and 2 on EPYC we make it so users with partially filled DDR slots has fast memory access. One thing which is not really solved yet is localization of memory allocation: we do not guarantee that memory is allocated on the closest to the NUMA node DDR slot and hope that memory manager of OS is acting in favor of us.
2018-11-28Add utility function to query CPU brand stringSergey Sharybin
2018-11-28Cleanup: correct function signaturesCampbell Barton
2018-11-27Cleanup: style, includesCampbell Barton
2018-11-26Timer: Generic BLI_timer with Python wrapperJacques Lucke
There is a new `bpy.app.timers` api. For more details, look in the Python API documentation. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3994
2018-11-23Python API: bpy.app.handlers.depsgraph_update_pre/postJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D3978
2018-11-21Cleanup: warningsCampbell Barton
2018-11-21Fix T57884: Triangle count is incorrect when above around 2 billionPhilipp Oeser
Maniphest Tasks: T57884 Differential Revision: https://developer.blender.org/D3962
2018-11-20Merge branch 'master' into blender2.8Sergey Sharybin
2018-11-20Task scheduler: Optimize parallel loop over listsSergey Sharybin
The goal is to address performance regression when going from few threads to 10s of threads. On a systems with more than 32 CPU threads the benefit of threaded loop was actually harmful. There are following tweaks now: - The chunk size is adaptive for the number of threads, which minimizes scheduling overhead. - The number of tasks is adaptive to the list size and chunk size. Here comes performance comparison on the production shot: Number of threads DEG time before DEG time after 44 0.09 0.02 32 0.055 0.025 16 0.025 0.025 8 0.035 0.033
2018-11-17BLI: Math: Add normal_float_to_short_v4Clément Foucault
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-08Cleanup, spellingSergey Sharybin
2018-11-07Merge branch 'master' into blender2.8Campbell Barton
2018-11-07Cleanup: use BLI_compiler_compat.h for BLI_INLINECampbell Barton
2018-11-06Shrinkwrap: new mode that projects along the target normal.Alexander Gavrilov
The Nearest Surface Point shrink method, while fast, is neither smooth nor continuous: as the source point moves, the projected point can both stop and jump. This causes distortions in the deformation of the shrinkwrap modifier, and the motion of an animated object with a shrinkwrap constraint. This patch implements a new mode, which, instead of using the simple nearest point search, iteratively solves an equation for each triangle to find a point which has its interpolated normal point to or from the original vertex. Non-manifold boundary edges are treated as infinitely thin cylinders that cast normals in all perpendicular directions. Since this is useful for the constraint, and having multiple objects with constraints targeting the same guide mesh is a quite reasonable use case, rather than calculating the mesh boundary edge data over and over again, it is precomputed and cached in the mesh. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3836
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-06Implement an Armature constraint that mimics the modifier.Alexander Gavrilov
The main use one can imagine for this is adding tweak controls to parts of a model that are already deformed by multiple other major bones. It is natural to expect such locations to deform as if the tweaks aren't there by default; however currently there is no easy way to make a bone follow multiple other bones. This adds a new constraint that implements the math behind the Armature modifier, with support for explicit weights, bone envelopes, and dual quaternion blending. It can also access bones from multiple armatures at the same time (mainly because it's easier to code it that way.) This also fixes dquat_to_mat4, which wasn't used anywhere before. Differential Revision: https://developer.blender.org/D3664
2018-11-06Cleanup: rename fast-heap -> heap-simpleCampbell Barton
In general prefer API names don't start with adjectives since it causes grouping of unrelated API's for completion.
2018-11-06Cleanup: move fast heap into own source & headerCampbell Barton
2018-11-06Cleanup: styleCampbell Barton
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-05BLI_kdopbvh: reduce branching in calc_nearest_point_squared.Alexander Gavrilov
This lets the compiler use min/max instructions for 4.5% FPS improvement in Shrinkwrap to Nearest Surface Point.
2018-11-05BLI_heap: optimize heap_swap, heap_down and heap_up.Alexander Gavrilov
The index field of nodes is supposed to be its actual index, so there is no need to read it in swap. On a 64-bit processor i and j are already in registers, so this removes two memory reads. In addition, cache the tree pointer, use branch hints, and put the most frequently accessed 'value' field at 0 offset. Produced a 20% FPS improvement for a 50% heap-heavy workload.
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-11-04Merge branch 'master' into blender2.8Campbell Barton
2018-11-04Fix ghash masking out upper bits on 64bit systemsCampbell Barton
The code this was taken from assumes a 'size_t' result, which isn't the case here. In practice the bucket distribution wasn't bad, even so this was a nop so best fix.
2018-11-01Fix T57529: 2D image paint fill tool not taking into account alpha.Brecht Van Lommel
2018-10-28BLI: Add comment about to orthogonalize_m3/4Clément Foucault
2018-10-19Partial revert '#if 0' cleanupCampbell Barton
Partially revert 41216d5ad4c722e2ad9f15c968af454fc7566d5e Some of this code had comments to be left as is for readability, or comment the code should be kept. Other functions were only for debugging.
2018-10-18Cleanup: Remove more #if 0 blocksJacques Lucke
Continuation of https://developer.blender.org/D3802 Reviewers: brecht Differential Revision: https://developer.blender.org/D3808
2018-10-12DRW: Add DRW_shgroup_create_sub to create children shgroupClément Foucault
This makes is easy to create nested drawcalls that will inherit all the parents properties. This is usefull if only a few uniforms changes for that drawcall.
2018-10-11Merge branch 'master' into blender2.8Campbell Barton
2018-10-11Fix incorrect strncpy useCampbell Barton
Didn't ensure null terminated.
2018-10-01BLI: Add mul_v2_v2v2 functionClément Foucault
2018-10-01BLI_math: add `isect_seg_seg_v3`mano-wii