Bastien Montagne
a67ca5e30c
Cleanup unused return value (was making coverity sad).
2016-08-16 18:22:03 +02:00
Sergey Sharybin
a74dab86ee
Fix redundant declarations after recent changes in GPU debug
2016-08-16 14:40:23 +02:00
Sergey Sharybin
b1d0432bb7
Fix strict compiler flags with older GCC
2016-08-01 18:01:27 +02:00
Campbell Barton
710ab5be36
Cleanup: spelling, style
2016-07-31 17:41:05 +10:00
Campbell Barton
4e5ee5b75e
Fix own error in recent heap update
2016-07-21 00:35:42 +10:00
Campbell Barton
bd59206b5c
Cleanup: style, spelling
2016-07-19 09:16:38 +10:00
Campbell Barton
c974def837
BLI_heap: replace memarena w/ local allocator
...
- Since element size its known it's less work to do inline.
- In test with high-poly model, gave ~9% overall speedup for decimate modifier.
2016-07-17 19:29:30 +10:00
Campbell Barton
c57d823683
Cleanup: minor edits to BLI_heap
2016-07-17 19:29:30 +10:00
Campbell Barton
b32408eff8
BLI_math: move interp_*_cubic to its own function
2016-07-11 17:16:35 +10:00
Campbell Barton
7a3ea87bbf
Cleanup: use normalize_v#_length
2016-07-08 10:14:49 +10:00
Campbell Barton
6035cf05bf
BLI_math: add normalize functions which fit to a length
...
Convenient since its common to normalize then scale,
since these are inlined, use for regular normalize w/ 1.0 length.
2016-07-08 09:52:29 +10:00
Campbell Barton
f36741c2eb
Fix T48793: Bilinear filter clamps at edge pixels
2016-07-08 02:14:54 +10:00
Brecht Van Lommel
1ba90582f5
Fix a few compiler warnings on OS X / clang.
...
Two were actual bugs, though they existed only in unused code:
* In Freestyle it was unintentionally copying a scene rather than referencing it.
* In BLI_array_store_is_valid there was use of uninitialized memory.
2016-07-04 18:22:10 +02:00
Campbell Barton
9f5621bb4a
Cleanup: comment blocks
2016-07-02 10:08:33 +10:00
Germano Cavalcante
b01a56ee5c
Transform Snap: Optimize edge-snap using BVH tree
...
changes in BLI_kdopbvh:
- `BLI_bvhtree_find_nearest_to_ray` now takes is_ray_normalized and scale argument.
- `BLI_bvhtree_find_nearest_to_ray_angle` has been added (use for perspective view).
changes in BLI_bvhutils:
- `bvhtree_from_editmesh_edges_ex` was added.
changes in math_geom:
- `dist_squared_ray_to_seg_v3` was added.
other changes:
- `do_ray_start_correction` is no longer necessary to snap to verts.
- the way in which the test of depth was done before is being simulated in callbacks.
2016-06-30 17:52:03 +10:00
Campbell Barton
0971749f4c
Cleanup: spelling, indentation
2016-06-29 20:37:54 +10:00
Joshua Leung
14f056144e
Bendy Bones Instability Fix - Second Attempt
...
So the error seems to be in cubic_tangent_factor_circle_v3(),
which was introduced with D2001.
I've tweaked the most obvious culprit here - the epsilon factor.
It used to be 10^-7, but I've reduced it down to 10^-5 now,
and it's looking a lot more stable now :)
---------
BTW, about the derivation of the magic 0.390464 factor I briefly subbed back
as a workaround for this bug, see:
http://www.whizkidtech.redprince.net/bezier/circle/
2016-06-28 02:52:20 +12:00
Campbell Barton
c7a6ff0981
Docs: arg names
2016-06-27 13:21:14 +10:00
Campbell Barton
475b7f5a2c
BLI_array_utils: add BLI_array_rfindindex
...
Array search from back to front.
2016-06-23 11:36:49 +10:00
Campbell Barton
493c6b622f
Cleanup: style
2016-06-22 14:02:51 +10:00
Campbell Barton
2465bd90d5
Cleanup: style, whitespace, doxy filepaths
2016-06-19 06:33:29 +10:00
Campbell Barton
5ea27bec1f
BMesh Decimate: use doubles to calculate optimized position
...
This allows the error threshold for calculating the optimized location to be much lower.
Resolves visible artifacts w/ 1m-tri happy-buddha example.
2016-06-16 19:25:02 +10:00
Campbell Barton
47a5d7d1bc
BLI_math: Add double versions of functions
...
- mul_v3_m3v3_db
- mul_m3_v3_db
- negate_v3_db
2016-06-16 19:20:08 +10:00
Campbell Barton
66b12ef4ab
BLI_math: cleanup arg names
...
project functions arg naming made it hard to tell which vector was projected onto.
2016-06-12 15:39:04 +10:00
Campbell Barton
dccf5afbef
BLI_rand: add BLI_rng_get_char_n
...
Use to fill an array of bytes to random values.
2016-06-12 00:41:02 +10:00
Bastien Montagne
d733826708
Fix T48614: Blender from buildbot crash when Separate selection in this particular scene.
...
Regression from recent rB2c5dc66d5effd4072f438afb, if last item of last chunk of a mempool was valid,
it would not be returned by mempool iterator step, which would always return NULL in that case.
2016-06-09 17:53:51 +02:00
Sergey Sharybin
37fc4b575f
Fix FPE exception happening when converting linear<->srgb using SIMD
2016-06-08 16:00:34 +02:00
Campbell Barton
6ca6d3c4fd
Cleanup: typo
2016-06-08 22:31:35 +10:00
Campbell Barton
e02679f71e
Cleanup: typos
2016-06-08 22:25:23 +10:00
Campbell Barton
0a029e3dd1
BLI_array_store: move helper functions into their own API
2016-06-08 19:12:23 +10:00
Campbell Barton
64663b1f73
Cleanup: warnings in previous commit
2016-06-02 19:48:45 +10:00
Campbell Barton
cc7b817099
Minor edits to last commit
...
Failed with chunk merging disabled
2016-06-02 18:42:09 +10:00
Campbell Barton
0ce98b1ffb
BLI_array_store: Move writing many chunks into a function
...
Minor optimization, avoid some checks each iteration.
2016-06-02 18:13:13 +10:00
Campbell Barton
7980c7c10f
BLI_array_store: store max size in BArrayInfo
2016-06-02 18:05:11 +10:00
Campbell Barton
0bd8d6d194
Add extra validation checks to array-store
2016-06-02 16:41:41 +10:00
Bastien Montagne
57d5ddc251
Revert "BLI_ghash: Fix initial over-allocation of mempool chunks."
...
Useless change in fact, sorry for the noise.
This reverts commit b08473680e .
2016-06-01 17:38:50 +02:00
Campbell Barton
2c5dc66d5e
Optimize mempool iteration
...
Around ~10% improvement in own tests.
2016-06-02 00:07:18 +10:00
Campbell Barton
8cf8679b53
Revert "Correct invalid pointer-pair compare check"
...
This reverts commit d5e0e681ce .
Tsk, these functions return false on a match.
2016-06-01 23:08:40 +10:00
Bastien Montagne
b08473680e
BLI_ghash: Fix initial over-allocation of mempool chunks.
...
Code intended to create only one pool by default here, but code in `mempool_maxchunks()` would make it two.
2016-06-01 12:58:59 +02:00
Campbell Barton
aedeca7d1c
BLI_mempool: Use an 'odd' FREEWORD for big/little endian
...
This also changes freeword to an intptr_t to ensure
not only the first 4 bits of a pointer are tested on 64bit systems.
2016-06-01 02:54:47 +10:00
Campbell Barton
3df30c1a6e
Cleanup: parenthesize defines
2016-06-01 00:19:01 +10:00
Campbell Barton
665cb1b291
Change the hash-table to be 3x total items to hash
2016-05-30 18:00:03 +10:00
Campbell Barton
bd6a64ced7
Remove accidental static var
2016-05-30 17:27:06 +10:00
Campbell Barton
53b60eed45
Add BLI_array_store copy-on-write API
...
This supported in-memory de-duplication,
useful to avoid in-efficient memory use when storing multiple, similar arrays.
2016-05-30 16:18:24 +10:00
Campbell Barton
d5e0e681ce
Correct invalid pointer-pair compare check
2016-05-26 22:20:12 +10:00
Campbell Barton
a17cba339c
BLI_math: Add function to calculate circular cubic curve tangents
2016-05-23 21:35:54 +10:00
Bastien Montagne
22ff9c5568
Fix T48497: Stupid typo in recent own BLI_task forloop work that broke non-parallelized case.
2016-05-22 18:35:44 +02:00
Brecht Van Lommel
2630207ada
Fix GCC/Linux build error after finite/isfinite changes.
2016-05-17 23:40:25 +02:00
Brecht Van Lommel
21fddf7d1c
C99/C++11: replace deprecated finite() by isfinite().
2016-05-17 21:39:16 +02:00
Bastien Montagne
688858d3a8
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).
2016-05-16 17:15:18 +02:00