Age | Commit message (Collapse) | Author |
|
Use the libraries if they exist in ../lib/linux_x86_64 or similar, so
that you can run "make deps && make full" to get a full static build.
Note that install_deps.sh is still the only officially supported way to
build Blender dependencies on Linux, but this may be useful to some.
Differential Revision: https://developer.blender.org/D2980
|
|
|
|
Gives same kind of speedup too, 8.7ms with old OMP code, 2.7ms with new
one, with same level-4 multires monkey head.
|
|
New code is over three times quicker than old one here (e.g. Suzanne
subdiv level 4, 250k tris, threaded part is now 1.4ms instead of 4.5ms
with OMP).
|
|
Remove the critical OMP sections used to protect mem allocation.
First one can be done in a separate loop before main, parallelized one.
Second one only affect 'private' data, so we only need to ensure
guardedalloc thread safety is enabled.
This is committed as separated step to ease troubleshooting in case
bisecting becomes necesary.
|
|
|
|
This helps avoiding threading overhead when having lots of system threads..
|
|
Gives measurable speedup on layout scenes from Spring.
Actual value for chunk size is a subject for more scientific research.
|
|
Allow threading using subset of all available threads. Makes it faster to
evaluate lower resolution mesh but with complex deform groups and such.
|
|
Gives about 40% speedup of object which has simple-ish deformation applied
on top of subdivided mesh.
This might easily happen with single character animation.
|
|
Helps in cases of not very complex scenes and lots of system threads available.
A bit hard to measure change on it's own, it works best with the upcoming
changes and gives measurable improvements.
|
|
Mutex is now local to particular CCGDM, and guarding edge hash which is only
used by a single function only. There is no need to acquire read lock after
edge hash was created.
|
|
same value).
Nice typo from rBc4046e9082f6, tssk. ;)
|
|
When the edge is aligned with it's own normals,
transform orientation wasn't aligned with the edge.
|
|
|
|
Request for simplified Blender template,
this may be extended to limit access to other UI changes
that could be pressed by accident.
|
|
Outline drawing was running even when there were no verts to draw.
Causes an assert in 2.8.
|
|
This was disabled previously due to CUDA compiler bugs, see T32900.
Differential Revision: https://developer.blender.org/D2937
|
|
Regression caused by own commit 16fbb47c886,
this is really an edge case though since calling normalize twice fixes.
|
|
|
|
|
|
This is not expected to fix all issues. Also adds some more details
to error reporting to investigate failures.
|
|
Ensure each OpenCL device has a unique ID even if the hardware ID is not
unique for some reason.
|
|
Conventions were already followed nearly everywhere.
|
|
mv is a mesh vertex, not loop.
|
|
|
|
|
|
|
|
Those pointers are never to be aliased, so let's be explicit about this and hope
compiler does save some CPU ticks.
|
|
|
|
This is quite common to have 64GB memory now, and even 128. There is no reason
to add any artificial caps on the cache and undo memory here. We can not protect
against using too much memory in one cases and allow use of full computer
potential in others.
Now 32 bit will use 2GB max (as it used to be), but 64bit will use whatever
number of megabytes fits into integer.
Reviewers: campbellbarton, mont29
Subscribers: sebastian_k
Differential Revision: https://developer.blender.org/D2972
|
|
|
|
|
|
This reverts change to BKE_brush_add,
callers now remove the extra user.
Note this isn't very convenient for callers but
is consistent with other ID types.
In the future we will probably remove this and have new
ID's created with zero users.
|
|
RNA API was compensating for the extra user.
|
|
Update attribute and use empty file operator
|
|
New brushes had 2 users on adding.
Caused assert removing them after.
|
|
|
|
When using a tablet, detecting absolute motion only worked
when activating a tool with the tablet.
Pressing Enter to run a tool for e.g. would use relative motion.
Now store is_motion_absolute in the event,
set for new events based on the most recent motion events.
|
|
|
|
RNA_pointer_as_string could return NULL instead of a valid string in some cases.
|
|
|
|
|
|
|
|
This seems to only cause extra rthreading overhead on systems with 10s of
threads, without actually solving anything.
|
|
The idea is to support following: allow doing parallel for on a small range,
each iteration of which takes lots of compute power, but limit such range to
a subset of threads.
For example, on a machine with 44 threads we can occupy 4 threads to handle
range of 64 elements, 16 elements per thread, where each block of 16 elements
is very complex to compute.
The idea should be to use this setting instead of global use_threading flag,
which is only based on size of array. Proper use of the new flag will improve
threadability.
This commit only contains internal task scheduler changes, this setting is not
used yet by any areas.
|
|
Basically, split it up and avoid extra abstraction level.
|
|
Now all the fine-tuning is happening using parallel range settings structure,
which avoid passing long lists of arguments, allows extend fine-tuning further,
avoid having lots of various functions which basically does the same thing.
|
|
Wrap all arguments into TLS type of argument. Avoids some branching and also
makes it easier to extend things in the future.
|
|
Constraint
|