Campbell Barton
12a9e9ae33
Fix restrict error in BLI_str_format_byte_unit
...
Don't use sprintf to append a string to it's self.
Also correct BLI_str_rstrip_float_zero's return value.
2018-05-27 10:28:04 +02:00
Brecht Van Lommel
ef502854fe
Threads: add spinlock hit for hyperthreading processors on Windows.
...
Suggested by Percy Ross Tiglao.
2018-05-26 22:35:30 +02:00
Diego Gangl
4dee702332
Add number and memory size formatting throughout the UI
...
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-25 22:41:49 +02:00
Lukas Stockner
176e18436c
Fix T55137: Compilation failing on non-x86-64 architectures
...
Some conversion helper functions were (most likely by accident) contained
inside an ifdef for SSE2 support, so on e.g. ARM they would be undefined
and therefore cause compilation to fail.
2018-05-24 01:41:18 +02:00
Campbell Barton
f74d85ffc8
Cleanup: rename char/float conversion functions
...
- FTOCHAR -> unit_float_to_uchar_clamp
- F3TOCHAR3 -> unit_float_to_uchar_clamp_v3 (swap args)
- F4TOCHAR4 -> unit_float_to_uchar_clamp_v4 (swap args)
- FTOUSHORT -> unit_float_to_ushort_clamp
- USHORTTOUCHAR -> unit_ushort_to_uchar
2018-05-07 17:51:40 +02:00
Campbell Barton
905eeb0bc7
Cleanup: move unit char/short/float to functions
...
This caused GCC 8.1 to crash at build time,
but was also not very nice use of macros.
2018-05-07 17:50:25 +02:00
Germano
ac19483e63
BKE bvhtree: Add tree_type parameter to bvhtree_from_mesh_get.
...
This will allow greater control of the bvhtrees that are obtained, and helps identify problems.
It is also an additional step to unify the functions.
2018-05-03 14:26:39 -03:00
Aaron Carlisle
128506eeb1
BLI Color: YUV to/from rgb colorspace option
...
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-29 18:00:45 -04:00
Germano
bb92d9a946
BLI BVHTree Walk DFS: Decreases the size of the stack space used for the recursive function.
...
Each parameter of the function is copied into the memory stack.
This also brought an improvement in peformance of snapping functions between 5% and 12% in my tests.
2018-04-24 09:48:14 -03:00
Campbell Barton
92f36586e3
BLI_math: avoid assert with non-finite numbers
2018-04-23 21:09:01 +02:00
Campbell Barton
46a9038f60
Cleanup: variable naming
2018-04-21 20:22:12 +02:00
Campbell Barton
1e9fb355bf
BLI_bitmap: 2D triangle drawing function
...
Matching polygon filling but no need for allocation or qsort.
2018-04-21 18:34:34 +02:00
Campbell Barton
83cb387944
BLI math: clamped barycentric weight calculation
2018-04-21 18:34:20 +02:00
Campbell Barton
fcac9e8410
Cleanup: style
2018-04-19 08:18:16 +02:00
Sergey Sharybin
5bfe6126f8
Added lock-free single linked list implementation
...
Only supports lock-free insertion for now, can not delete element
or traverse the list at the same time.
2018-04-16 10:18:43 +02:00
Campbell Barton
bfdb88f3f4
Cleanup: rename list count_ex -> count_at_most
2018-04-03 17:05:21 +02:00
Campbell Barton
91d0825b55
BLI_sort_utils: add pointer sorting callback
...
Also rename Pointer -> Ptr
2018-03-31 19:25:27 +02:00
Campbell Barton
e49d66f22c
Cleanup: typo in function name
2018-03-28 11:23:38 +02:00
Campbell Barton
a970ac5d55
BLI_array: utility to check memory is zerod
2018-03-28 11:13:54 +02:00
Campbell Barton
7cc2b27099
Cleanup: stray tabs
...
Tabs in middle of code (mostly for no reason / by accident).
2018-03-23 11:51:19 +01:00
Campbell Barton
1782abf6e2
Fix BLI_assert for MSVC
...
Also use `_BLI_ASSERT` prefix for internal defines.
2018-03-20 11:56:11 +01:00
Joshua Leung
8e5c407fc4
Fix compile error with MSVC2013 - Can't use __func__ (from BLI_assert) in inlined functions
...
ERROR: blenlib/intern/math_base_inline.c:371 - '__func__' : undeclared identifier (C:\blenderdev\master2\blender\source\blender\editors\lattice\editlattice_tools.c) [C2065]
2018-03-20 16:03:43 +13:00
Campbell Barton
2a9f000806
Cleanup: kdopbvh, only set parent nodes once
2018-03-18 05:08:12 +01:00
Campbell Barton
995ccf8168
BLI_assert: extract from BLI_utildefines
...
BLI_utildefines is quite large, defining many unrelated things.
Add BLI_assert to include in inline headers, so math defines don't
pull in too much.
2018-03-16 06:03:29 +11:00
Campbell Barton
71139cedcb
Missed last commit
2018-03-15 11:16:32 +11:00
Campbell Barton
e55c29b4ec
BLI_math: don't use asserts in inline API
...
Requires BLI_utildefines.h to be included first,
(already noted in other inline code).
Possible alternative could be to move BLI_assert into own header.
2018-03-15 11:12:10 +11:00
Campbell Barton
342593f124
Cleanup: rename BLI_array_count -> len
...
Match naming convention used everywhere else.
Count should only be used when this isn't directly accessible.
2018-03-15 01:53:20 +11:00
Campbell Barton
bf8f5f5142
Cleanup: doxygen comments
2018-03-14 02:08:07 +11:00
Campbell Barton
c52df4fc7c
Cleanup: typos
...
D3081 by @rjg, with others.
2018-02-26 19:58:31 +11:00
Campbell Barton
dd77e45151
Cleanup: header guards & style
2018-02-23 12:59:55 +11:00
Campbell Barton
41ad08f3c3
Cleanup: split GHash helpers from implementation
2018-02-18 21:44:56 +11:00
Campbell Barton
deacb3d6b8
Cleanup: add 2d suffix to BLI files
...
Some of these API's can have 3D versions, explicitly name them 2D.
2018-02-18 21:27:33 +11:00
Campbell Barton
2aef87bfae
Cleanup: rename BLI_thread.h API
...
- 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-16 01:13:46 +11:00
Campbell Barton
ccdacf1c9b
Cleanup: use '_len' instead of '_size' w/ BLI API
...
- 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-15 23:39:08 +11:00
Sergey Sharybin
bb3efe6127
Blenlib: Assert when attempting to rotate point around vector and store 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-15 11:53:57 +01:00
Campbell Barton
70f1b8cc40
Cleanup: style
2018-02-15 11:13:54 +11:00
Sergey Sharybin
c09e4ae08a
Math utils: Add clamping functions
2018-02-14 11:21:27 +01:00
Campbell Barton
f088c6b9f6
Mesh: concave quad support
...
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-08 23:38:17 +11:00
Dalai Felinto
0f69026b1c
Fix windows building (log10)
...
Error: math_base_inline.c(402): error C2668: 'log10' : ambiguous call to
overloaded function
2018-01-22 11:37:19 -02:00
Campbell Barton
e767d21b74
Cleanup: BLI_kdopbvh avoid negative array access
...
It's harder to reason about array access with negative indices.
2018-01-21 20:17:29 +11:00
Dalai Felinto
075def8fbd
Util function to determine number of digits from an integer
2018-01-19 16:54:07 -02:00
Campbell Barton
889321e22b
Cleanup: reaname LINKLIST_FOREACH -> LISTBASE
...
LinkList's are a different API, no need to confuse things.
2018-01-19 21:39:18 +11:00
Campbell Barton
7a24e0d175
Cleanup: typos
2018-01-19 15:34:54 +11:00
Campbell Barton
02a01b3505
Cleanup: BLI_ghash
...
Improve hashsizes comment too.
2018-01-14 17:28:15 +11:00
Bastien Montagne
c253fe5e87
Cleanup typo in comment.
2018-01-11 17:55:58 +01:00
Sergey Sharybin
5614193745
Task scheduler: Use restrict pointer qualifier
...
Those pointers are never to be aliased, so let's be explicit about this and hope
compiler does save some CPU ticks.
2018-01-10 12:49:51 +01:00
Sergey Sharybin
518c65460e
Task scheduler: Use more const qualifiers
2018-01-10 12:27:43 +01:00
Sergey Sharybin
f0610563ee
math utils: Add size_t version of min and max functions
2018-01-10 11:06:44 +01:00
Campbell Barton
18f53d8822
Cleanup: comment block alignment
2018-01-10 19:57:02 +11:00
Sergey Sharybin
5fe87a0a8c
Task scheduler: Use single thread branch when range fits into single chunk
2018-01-09 18:10:47 +01:00