Revision 038cb9c by Sergey Sharybin July 31, 2013, 21:55 (GMT) |
Code cleanup: get rid of unneeded thread count in statistics structure |
Revision c756a44 by Sergey Sharybin July 31, 2013, 21:55 (GMT) |
Added check for whether thread lock is being removed while thread is using guarded alloc. |
Revision c847198 by Sergey Sharybin July 31, 2013, 21:55 (GMT) |
Use one global task scheduler for all the tasks Instead of allocating scheduler and starting threads on every object_update call make it so scheduler is global and threads are always ready to run. This was we could avoid quite hacky thing which is counting how much objects need to be updated before starting threaded update. It'll also allow using the same scheduler to do all sorts of tasks, not only objects update in the same scheduler. This is nice from load balancing point of view. Couple of changes were needed to be done in task scheduler itself: - Free tas before sending notifier. - Free TaskThread structures outside from thread. This is needed to make it possible use begin/end threaded malloc from the main thread before/after running the pool. Without this change it was possible that allocation will switch to non-thread mode while thread is freeing the task. This required storing TaskThread array in Scheduler, but it's not so much bad actually, since it also reduces memory overhead caused by per-thread allocation. |
Revision 853f2e0 by Sergey Sharybin July 31, 2013, 21:55 (GMT) |
Optimization and threading fix for shapekeys weights calculation This commit fixes two different issues, which were caused by how weights are being calculated for relative shapekeys. Weights for key block used to saved in KeyBlock DNA structure, which lead to situations when different objects could start writing to the same weights array if they're sharing the same key datablock. Solved this in a way so weights are never stored in KeyBlock and being passed to shapekeys routines as an array of pointers. This way weights are still computed run-time (meaning they're calculated before shapekey evaluation and freed afterwards). This required some changes to GameEngine as well, to make it never cache weights in the key blocks. Another aspect of this commit makes it so weight for a given vertex group is only computed once. So if multiple key blocks are using the same influence vertex group, they'll share the same exact weights array. This gave around 1.7x speedup in test chinchilla file which is close enough to if we've been caching weights permanently in DNA (test machine is dual-code 4 threads laptop). Some further speed is optimization possible, but it could be done later as well. Thanks Brecht for idea of how the things might be solved in really clear way. |
Revision 0d93644 by Thomas Dinges July 31, 2013, 21:49 (GMT) |
Merged revision(s) 58779, 58783-58784 from trunk/blender into soc-2013-dingto. |
Revision e48acb7 by Thomas Dinges July 31, 2013, 21:40 (GMT) |
Code cleanup, use bools here. Forgot to change that. |
Revision 7913604 by Campbell Barton July 31, 2013, 21:34 (GMT) |
remove unused headers and NULL check |
Revision 2a2f031 by Thomas Dinges July 31, 2013, 21:27 (GMT) |
Cycles / HSV Separator and Combine node: * Added nodes to separate and combine hsv colors. Part of my GSoC 2013 project, SVN merge of r57981. |
Revision 34009da by Thomas Dinges July 31, 2013, 21:18 (GMT) |
Cycles / Vector Transform node: * Add a note to convert a Vector, Point or Normal between World <=> Camera <=> Object coordinate space. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Vector_Transform Part of my GSoC 2013 project, SVN merge of r57599, r57670, r57918, r57919, r58245 and r58775. |
Revision 6d9720e by Thomas Dinges July 31, 2013, 20:56 (GMT) |
Cycles / Blackbody to RGB node: * Added a node to convert a temperature in Kelvin to an RGB color. This can be used e.g. for lights, to easily find the right color temperature. = Some common temperatures = Candle light: 1500 Kelvin Sunset/Sunrise: 1850 Kelvin Studio lamps: 3200 Kelvin Horizon daylight: 5000 Kelvin Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Blackbody Thanks to Philipp Oeser (lichtwerk), who essentially contributed to this with a patch! :) This is part of my GSoC 2013 project. SVN merge of r57424, r57487, r57507, r57525, r58253 and r58774 |
Revision 22dae3e by Campbell Barton July 31, 2013, 20:50 (GMT) |
fix for BLI_ghash_clear from Sv. Lockal (lockal) |
Revision 86cb81a by Sergey Sharybin July 31, 2013, 20:49 (GMT) |
Revision 3840e0b by Thomas Dinges July 31, 2013, 20:30 (GMT) |
Cycles / Ray Depth: * Added a Ray Depth output to the Light Path node, which gives the user access to the current bounce. This can be used to limit the maximum ray bounce on a per shader basis. Another use case is to restrict light influence with this, to have a lamp only contribute to the direct lighting. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Light_Path This is part of my GSoC 2013 project. SVN merge of r58091 and r58772 from soc-2013-dingto. |
Revision 2a25acb by Thomas Dinges July 31, 2013, 20:05 (GMT) |
Cycles / Vector Transform node: * Code cleanup to avoid duplicated enum code. * Added a third type for conversion next to Point and Vector: Normal. This is basically the same result as with the Vector type, but normalizes the vector at the end. Thanks to Brecht for code review! |
Revision b6024a0 by Thomas Dinges July 31, 2013, 19:03 (GMT) |
Cycles / Blackbody Node: * Some optimizations to avoid divisions on runtime, avoid possible division by zero and code cleanup. Thanks to Brecht for code review! |
Revision 380ee3d by Thomas Dinges July 31, 2013, 18:46 (GMT) |
Cycles / Non-Progressive integrator: * Code cleanup, to avoid separate code for CPU and GPU. |
Revision 6a902d1 by Thomas Dinges July 31, 2013, 18:40 (GMT) |
Cycles / Ray Depth: * Fix some things which came up in code review. Includes some fixes for background lights and changes to variables, to avoid some castings. Thanks to Brecht for code review! :) |
Revision a3e34e5 by Thomas Dinges July 31, 2013, 18:14 (GMT) |
Merged revision(s) 58682-58770 from trunk/blender into soc-2013-dingto. |
Revision c15ae08 by Joseph Mansfield July 31, 2013, 13:48 (GMT) |
Code cleanup: libmv C API Clean up inconsistencies in the libmv C API: - All type identifiers are libmv_TypeName - All function identifiers libmv_functionName - Prefer libmv_nounVerb function names (e.g. libmv_featuresDestroy) - Match Blender code formatting rather than Google - Spelling corrections Code review: https://codereview.appspot.com/11494044/ |
Revision 81fd056 by Lukas Toenne July 31, 2013, 12:26 (GMT) |
Fix #36267 part 2 of 2: Fix for reroute node values in old shader node stack system. They were overwriting stack values from their input nodes, because the system would not detect that these sockets actually just point to existing defined stack values. To make the link check work, set the socket->link pointer if internal node connections exist, this works for both muted and reroute nodes. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021