Revision 95bc838 by Bastien Montagne November 25, 2015, 10:51 (GMT) |
MOD_weightvg: switch from OMP to BLI_task's parallelized 'for loop'. Also gives about 5-6% speedup... |
Revision 0f609d5 by Bastien Montagne 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 |
Revision 8294452 by Sergey Sharybin 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. |
Revision 443b159 by Sergey Sharybin 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 |
Revision de35827 by Sergey Sharybin 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. |
Revision 26f1c51 by Sergey Sharybin 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. |
Revision 2a5c1fc by Sergey Sharybin 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). |
Revision 8bca34f by Sergey Sharybin 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) |
Revision 22ec7b1 by Campbell Barton November 25, 2015, 01:08 (GMT) |
BMesh: raise exception face-split w/ adjacent loops Was raising "internal error". |
Revision b6084d5 by Campbell Barton November 25, 2015, 00:55 (GMT) |
BMesh: remove double faces when triangulating |
Revision 69cdddd by Campbell Barton November 25, 2015, 00:28 (GMT) |
Fix error in recent check for duplicate tris |
Revision e8b3a14 by Martijn Berger November 24, 2015, 22:18 (GMT) |
OSX bump python to 3.5 |
Revision 697aceb by Antonis Ryakiotakis 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 :) |
Revision fe3aaac by Bastien Montagne 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... |
Revision 1422152 by Bastien Montagne 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. |
Revision 0b42290 by Bastien Montagne November 24, 2015, 14:14 (GMT) |
Fix broken windows 'MessageBox' calls (UI messages). Reported by Bzzt_Ploink on IRC. |
Revision edb2e96 by Sergey Sharybin 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. |
Revision 678fe87 by Sergey Sharybin November 24, 2015, 09:45 (GMT) |
Buildbot: Switch Linux builds to Python 3.5 |
Revision 9ea4202 by Sergey Sharybin November 24, 2015, 09:44 (GMT) |
Fix T46839: New dependency graph missed time update on motrack constraints |
|
|
|


Master Commits
MiikaHweb | 2003-2021