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
2016-05-11Fix crash snapping to mesh with no geometryCampbell Barton
2016-05-11Fix incorrect FLT_MIN useCampbell Barton
2016-05-11Transform Volume rewrite/refactorGermano Cavalcante
Take advantage of the efficiency provided by the snap_context. Also fixes errors: - volume snap fails based on view angle (T48394). - multiple instances of dupli-objects break volume calculation.
2016-05-11BMesh: correct fix for face-join removing attached facesCampbell Barton
2016-05-11Fix for inline documentation of FOREACH_NODETREE.Lukas Tönne
Was missing id macro variable.
2016-05-11Fix for node tree ID tagging in new depsgraph.Lukas Tönne
Nested node trees are not handled in BKE_main_id_tag_all.
2016-05-11Depsgraph: Add some missing relationsSergey Sharybin
Those cases requires not only geometry component, but also a transform one to be ready before evaluation can start.
2016-05-11BLI_kdopbvh: Use distance for BLI_bvhtree_ray_cast_allCampbell Barton
Pass distance argument so its possible to limit the range we get all hits from. Other changes: - Use boundbox test before calling callback, avoids redundant calls. - Remove meaningless return value. - Add doc string, explaining purpose of this function.
2016-05-10Fix T48387: Mirror weights keeps groups assignedCampbell Barton
Swapping the weights kept zero weight verts assigned.
2016-05-10BMesh: only remove loose geometry when joining facesCampbell Barton
Joining faces could remove faces that happened to share an edge that would normally be removed.
2016-05-10BLI_task: nano-optimizations to BLI_task_parallel_range feature.Bastien Montagne
This commit makes use of new taskpool feature (instead of allocating own tasks), and removes the spinlock used to generate chunks (using atomic ops instead). In best cases (dynamic scheduled loop with light processing func callback), we get a few percents of speedup, in most cases there is no sensible enhancement.
2016-05-10Depsgraph: A bit of experiment with skipping where_is_bone if channels is ↵Sergey Sharybin
taged as done This is what old dependency graph was doing and apparently this avoids some updates, however it's not really clear why those nodes are considering done. Maybe just because of the way how relations are working. But needs a closer investigation.
2016-05-10Avoid per-constraint-target call of strlenSergey Sharybin
It's enough to do one single comparison to see if the string is empty or not.
2016-05-10Optimize action constraint by avoid memory allocationSergey Sharybin
2016-05-10Revert "Task scheduler: Avoid mutex lock in number manipulation functions"Sergey Sharybin
Appears mutex was guarateeing number of tasks is not modified at moments when it's not expected. Removing those mutexes resulted in some hard-to-catch locks where worker thread were waiting for work by all the tasks were already done. This reverts commit a1d8fe052ccd8945f14be5a50bd5af581b89c643.
2016-05-10Depsgraph: Use some more threading when tagging and finalizing evaluationSergey Sharybin
Also don't reset values there which were re-set on the next evaluation anyway.
2016-05-10Task scheduler: Avoid mutex lock in number manipulation functionsSergey Sharybin
It seems using atomic operations here we can avoid having mute without breaking anything. Thanks Bastien for double-checking the changes!
2016-05-10Fix own mistake in rBd617de965ea20e5d5 from late December 2015.Bastien Montagne
Brain melt here, intention was to reduce number of tasks in case we have not much chunks of data to loop over, not to increase it! Note that this only affected dynamic scheduling.
2016-05-10Depsgraph: For big graphs update pending parents in threadsSergey Sharybin
Gives additional speedup from ~88 to ~91 fps with a test rig.
2016-05-10Depsgraph: Comment evaluation priority out for nowSergey Sharybin
It uses some additional compute power and the evaluation priority is not even used. This brings fps 88.2 with blenrig_for_debugging.blend on this desktop.
2016-05-10Depsgraph: Avoid multipel editors update per same IDSergey Sharybin
Simple thing, and apparently fps goes up to 80 with the demo file from jpbouza. Not sure why at this point fps is so much higher than the old dependency graph here now. And it's definitely something what others should verify as well.
2016-05-10Depsgraph: Don't leave active thread if there's only one children nodeSergey Sharybin
This reduces stress on the task scheduler and avoids some unwanted overhead caused by all the threading business in the cases when there's only one children node. We try to immediately switch to it's evaluation now, keeping active thread up and running. This bumps FPS from 58 to 64 on the blenrig test file from jpbouza.
2016-05-10Task scheduler: Add thread-aware task push routinesSergey Sharybin
This commit implements new function BLI_task_pool_push_from_thread() who's main goal is to have less parasitic load on the CPU bu avoiding memory allocations as much as possible, making taks pushing cheaper. This function expects thread ID, which must be 0 for the thread from which pool is created from (and from which wait_work() is called) and for other threads it mush be the ID which was sent to the thread working function. This reduces allocations quite a bit in the new dependency graph, hopefully gaining some visible speedup on a fewzillion core machines (on my own machine can only see benefit in profiler, which shows significant reduce of time wasted in the memory allocation).
2016-05-10Correct armature-sketch snap context useCampbell Barton
Use scene snap mode. Also allow passing NULL ray-depth which falls back to BVH_RAYCAST_DIST_MAX.
2016-05-10Fix T48369: Missing suport for main '+' key.Bastien Montagne
Many keyboard layouts (italian, spanish, german...) have direct access to '+' key on main keyboard area (not the numpad one), ans x11 has own define for this key, so use it instead of generating an unkown key event. Note that we most likely have much more missing 'specific' keycodes for non-US keyboard layout, but think since we already had a 'minus' keyevent, supporting 'plus' one is totally consistent. And we had a spare space in our defined values just for it even! This keyevent is only supported/generated by x11 and cocoa Ghost backends for now, neither SDL nor win32 seem to have matching key events...
2016-05-09View selected support for grease-pencilCampbell Barton
2016-05-09Cleanup: header, styleCampbell Barton
2016-05-09Fix T48388: Undo history sculpt mode not visibleCampbell Barton
2016-05-09Cleanup and refactor our atomic library.Bastien Montagne
This commit: * Removes most of all dirty internal details from public atomi_ops.h file, and move them into /intern private subdir. * Removes unused 'architectures' (__apple__ and jemalloc). * Split each implementation into its own file. * Makes use of C99's limits.h system header to determine pointer and int size, instead of using fix hardcoded list of architectures. * Introduces new 'faked' atomics ops for floats. Note that we may add a lot more real and 'faked' atomic operations over integers and floats (multiplication, division, bitshift, bitwise booleans, etc.), as needs arise. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1982
2016-05-09Fix weight-mirror reporting invalid failed mirror vertsCampbell Barton
Use vertex tagging instead of clearing mirror index.
2016-05-09Depsgraph: Avoid unneeded relations update when canceling transformSergey Sharybin
This was originally done for T46320 in order to re-store depsgraph state after all the constraint modifications. However, it relations were updated if there's any IK chain the the pose, which is a bit too annoying.
2016-05-09Missed last commitCampbell Barton
2016-05-09Remove redundant error checks in grease-pencil tessellationCampbell Barton
2016-05-09Docs: comment polyfill2d functionsCampbell Barton
2016-05-09Task scheduler: Don't calloc in performance-critical areasSergey Sharybin
Majority of the fields are being overwritten anyway, so calloc it kinda waste of CPU ticks.
2016-05-09Depsgraph: Store node input/output links in a vector rather than in setSergey Sharybin
Set is much slower to iterate through (due to cache misses and such) and the only advantage of using set is faster removal of link. However, we are iterating links much much more often than removing them, and even when we are removing links we don't really need to remove link from nodes which it connects -- we don't support partial depsgraph updates, so removing links from nodes on destruction is a waste of time. If we ever want to support partial updates we can have dedicated function to remove link from nodes it connects. This gives a surprising increase of fps from 42 to 56 with test file from Mr. J.P.Bouza (blenrig_for_debugging.blend). Surprising because old DEG is actually slower here (52 fps). Didn't see any regressions (and don't see why they will happen), so let's ask our riggers and animators to perform further speed tests ;)
2016-05-09Depsgraph: Avoid having per-node lock when scheduling childrenSergey Sharybin
Use atomic operations instead, should in theory improve timing of scheduling. However, probably not so visible yet because actual task scheduling still have some locks and memory allocations. Baby steps, what would i say.
2016-05-09Fix makesdna not checking alignment for a non-native platformSergey Sharybin
This was causing alignment issues which were only visible on a platform of particular bitness, so it was easy to break stuff for 32bit when working on 64bit platform and vice versa.
2016-05-09Fixes for GPencil Copy and PasteJoshua Leung
* Fix "Attempt to free NULL pointer" when copying strokes for the first time * Fix poll callback on "paste" operator, so that it is possible to paste strokes when there are no editable strokes visible.
2016-05-09Fix error introduced by removing faces before executing bridgeCampbell Barton
Commit 86abddc9, caused an error when the face-region included boundary edges. Since removing the faces first, caused the edges along the boundaries to be removed. Add support for deleting faces and internal edges, that keeps boundaries.
2016-05-09Fix error in recent snap refactorGermano Cavalcante
Crash in edge snapping
2016-05-09Fix crash introduced w/ snap refactorCampbell Barton
Create snapping context when in the 3d view, transforming pose bones and grease-pencil crashed.
2016-05-09GPencil: Added operators to select first and last points of strokesJoshua Leung
These are useful for removing overshoots at the end of closed strokes (for fills)
2016-05-09Graph Editor: Ctrl-Click keyframing now deselects all existing keyframes by ↵Joshua Leung
default Now, when creating new keyframes in the graph editor by ctrl-clicking, only the newly created keyframes will be selected. This is a little workflow tweak to make it faster to work, as you no longer have to deselect all, and then re-select the newly added keys in order to manipulate them. The old behaviour (not modifying the selection status of the old keys) has been kept, but is now available via Shift-Ctrl-Click. Feature request from @Shhlife
2016-05-08Fix T48372: missing OS X trackpad scroll support for increasing loop cut / ↵Brecht Van Lommel
bevel segments.
2016-05-08Docs: explain some details of RNA enumsCampbell Barton
2016-05-08Cleanup: warningsCampbell Barton
2016-05-08GPencil Onion Skinning: Setting before/after to -1 will turn off ↵Joshua Leung
onionskinning in that direction This is an experimental option that I found would have been useful to have, when making my earlier anim test. The only contentious point is whether it's better to use a separate boolean flag (perhaps bound to the labels) instead of overloading this setting (and describing the usage in the tooltip).
2016-05-08Fix: Toggling "lock layer" for GPencil layers in the dopesheet didn't update ↵Joshua Leung
the layers UI
2016-05-08Fix: Lasso select for Grease Pencil doesn't work in the Nodes EditorJoshua Leung
In the nodes editor, Ctrl-LMB-drag is taken by "Cut", and it seems impossible for any other keymap to override that. Instead, the default lasso select hotkey there is Ctrl-Alt-LMB-drag instead. To get Grease Pencil lasso select (in GP Editmode) to work in the Nodes Editor too, this commit adds the Ctrl-Alt-LMB-drag binding here too. However, to make things easier, this extra binding will be part of the Grease Pencil keymap everywhere. There doesn't seem to be any conflicts with having this in place - until we find them, this should be ok to have.