Blender Git Commits

Blender Git "master" branch commits.

Page: 2470 / 5574

November 25, 2015, 10:51 (GMT)
MOD_weightvg: switch from OMP to BLI_task's parallelized 'for loop'.

Also gives about 5-6% speedup...
November 25, 2015, 10:01 (GMT)
BLI_task: BLI_task_parallel_range_ex: add some per-chunk userdata.

This mimics OpenMP's 'firstprivate' feature. It is sometimes handy to have some persistent local data during a whole chunk.

Reviewers: sergey

Reviewed By: sergey

Subscribers: campbellbarton

Differential Revision: https://developer.blender.org/D1635
November 25, 2015, 08:46 (GMT)
Fix T46782: Updating Shaders very slow with complex nodegraph

The issue was caused by not really optimal graph traversal for gathering nodes
dependencies which could have exponential complexity with a long tree branches
connected with multiple connections between them.

Now we optimize the depth traversal and perform early output if the node was
already traversed.

Please note that this adds some limitations to the use of SVM compiler's
find_dependencies() in the cases when skip_node is not NULL and one wants to
perform dependencies find sequentially with the same set. This doesn't happen
in the code, but one should be aware of this.
November 25, 2015, 08:07 (GMT)
Cycles: Ensure order of shader nodes in the dependnecies set

The issue was than nodes dependencies were stored as set<ShaderNode*> which
is actually a so called "strict weak ordered", meaning order of nodes in
the set is strictly defined, but based on the ShaderNode pointer. This means
that between different render invokations order of original nodes could be
different due to different pointers allocated for ShaderNode.

This commit makes it so dependencies and maps used for ShaderNodes are based
on the node->id which has much more predictable order. It's still possible
to trick the system by doing some crazy edits during viewport rendfer and
cause difference between viewport and final render stacks.

Reviewers: brecht

Reviewed By: brecht

Subscribers: LazyDodo

Differential Revision: https://developer.blender.org/D1630
November 25, 2015, 08:01 (GMT)
Cycles: Fix wrong volume stack update with SSS object intersecting the volume

There's no need in moving ray at all, stack should always be updated from the
original hit point to the scattered one.
November 25, 2015, 08:01 (GMT)
Cycles: Trace indirect subsurface rays by restarting the integrator loop

This gives much lower stack usage on GPU and reduces kernel memory size to
around 448MB on GTX560Ti (comparing to 652MB with previous commit and 946MB
with official release). There's also a barely measurable speedup of around
5%, but this is to be confirmed still.

At this stage we're using only ~3% for the experimental kernel and SSS
rendering seems to be faster by 40% and after some further testing we might
consider making SSS and CMJ official features and remove experimental
precompiled kernels.
November 25, 2015, 08:01 (GMT)
Cycles: Delay shooting SSS indirect rays

The idea is to delay shooting indirect rays for the SSS sampling and
trace them after the main integration loop was finished.

This reduces GPU stack usage even further and brings it down to around
652MB (comparing to 722MB before the change and 946MB with previous
stable release).

This also solves the speed regression happened in the previous commit
and now simple SSS scene (SSS suzanne on the floor) renders in 0:50
(comparing to 1:16 with previous commit and 1:03 with official release).
November 25, 2015, 08:01 (GMT)
Cysles: Avoid having ShaderData on the stack

This commit introduces a SSS-oriented intersection structure which is replacing
old logic of having separate arrays for just intersections and shader data and
encapsulates all the data needed for SSS evaluation.

This giver a huge stack memory saving on GPU. In own experiments it gave 25%
memory usage reduction on GTX560Ti (722MB vs. 946MB).

Unfortunately, this gave some performance loss of 20% which only happens on GPU.
This is perhaps due to different memory access pattern. Will be solved in the
future, hopefully.

Famous saying: won in memory - lost in time (which is also valid in other way
around).
Revision e6fff42 by Mike Erwin
November 25, 2015, 06:49 (GMT)
OpenGL: set geometry shader input length implicitly

Input array length is implicitly set at link time, based on the geometry
shader's layout. Specifying the wrong value here is an error; specifying
no value is the same as getting it right. (inspired by a recent codegen
change)
November 25, 2015, 01:08 (GMT)
BMesh: raise exception face-split w/ adjacent loops

Was raising "internal error".
November 25, 2015, 00:55 (GMT)
BMesh: remove double faces when triangulating
November 25, 2015, 00:28 (GMT)
Fix error in recent check for duplicate tris
November 24, 2015, 22:18 (GMT)
OSX bump python to 3.5
November 24, 2015, 20:40 (GMT)
Sculpting optimization: Avoid iterating the PBVH for intersection during
the paint cursor drawing when a stroke is underway; this information is
already available from the stroke itself.

Should improve performance when "show brush" is enabled (which is
always, for sane people). Finding an intersection is not always cheap,
especially on heavy meshes.

Cudos to the dyntopo test thread for the report and the sculpt love :)
November 24, 2015, 19:29 (GMT)
Fix T46855: Limit Location Max value limited to 1000 units.

Those should be UI limits, not hard absolute limits...
November 24, 2015, 14:36 (GMT)
Fix previous own fix - second message was actually OK, first one had bad comma placement...

Thanks to psy-fi for the head-up.
November 24, 2015, 14:14 (GMT)
Fix broken windows 'MessageBox' calls (UI messages).

Reported by Bzzt_Ploink on IRC.
November 24, 2015, 10:25 (GMT)
Fix T46851: Crash on multires more than million

yet another bug introduced by recent shadowing changes -- q and r CCG arrays
were overwritten by the temporary evaluation because the code was changed to
use global pointers instead of the local ones.

Naming of the variables could be changed to be a bit more accurate.
November 24, 2015, 09:45 (GMT)
Buildbot: Switch Linux builds to Python 3.5
November 24, 2015, 09:44 (GMT)
Fix T46839: New dependency graph missed time update on motrack constraints
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021