Fix [#37012] The new export split normal does nor produce correct results.

Was a silly error introduced in algo during optimization, vertices having sharp and smooth edges would only get the first poly's normal for each "smooth loop group".

Also done a (minor) optimization, and some comment fixes.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60639 954f8c5b-7b00-dc11-b283-0030488c597c
Fix OSL shader build failing with spaces in the path to build directory,
patch by Campbell.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60643 954f8c5b-7b00-dc11-b283-0030488c597c
fix [#37011] "Save Copy" option misfunction

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60644 954f8c5b-7b00-dc11-b283-0030488c597c
Fix compilation error after recent libmv change

- Tweaked typedefs in stdint so they match
  what we've got in BLI_sys_types (needed to
  explicitly tell sign to MSVC).

  Not so much harmful to be more explicit here,
  but we really better to have single stdint
  int blender.

- Tweaked allocations macros so MSVC is happy
  with structures allocation.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60645 954f8c5b-7b00-dc11-b283-0030488c597c
Libmv: move platform-specific defines into own file

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60646 954f8c5b-7b00-dc11-b283-0030488c597c
Fix windows scons OSL build error, just use quotes now instead of array.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60647 954f8c5b-7b00-dc11-b283-0030488c597c
Libmv: make sure CmakeList.txt is re-created with all needed headers on re-bundle

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60648 954f8c5b-7b00-dc11-b283-0030488c597c
fix save-as-copy option changing the filepath for new files.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60649 954f8c5b-7b00-dc11-b283-0030488c597c
Fix compilation error of OCIO with MSVC

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60650 954f8c5b-7b00-dc11-b283-0030488c597c
style cleanup


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60652 954f8c5b-7b00-dc11-b283-0030488c597c
Weight Paint Tools: Add "Subset" option to "Normalize All"

This option is needed when vertex groups are used for both armature
deformation and the other purpose such as influence of mesh modifier.

Thanks to Campbell for code review!


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60655 954f8c5b-7b00-dc11-b283-0030488c597c
Support for baking vertex colors to textures.

It allows effects such as baking vertex dirt maps to textures.
Also vertex based painting painting may be faster in the future,
so this is useful to have.

Thanks to Sergey for the review!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60656 954f8c5b-7b00-dc11-b283-0030488c597c
Cleanup: Consistent names for draw callbacks in bNodeType.

This aims to establish a common pattern for the various confusing draw callback function pointers in bNodeType:

draw_<purpose>_<nodetype>[_ex]

Currently there are 4 different types of draw callbacks:
* draw_nodetype, draw_nodetype_prepare: Main draw functions, allows specialized node drawing for things like frames and reroute nodes. Not exposed in the API.
* draw_buttons, draw_buttons_ex: Optional non-socket buttons, most commonly used callback. Extended version used in sidebar for verbose buttons that don't fit into a node.
* draw_backdrop: Draw elements in the backdrop (compositor only). Not exposed in the API.
* draw_input, draw_output: Specialized socket drawing for some nodes, only for OutputFile node. Should not be used any further and be removed at some point. Not exposed in the API.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60657 954f8c5b-7b00-dc11-b283-0030488c597c
Lock-free memory allocator

Release builds will now use lock-free allocator by
default without any internal locks happening.

MemHead is also reduces to as minimum as it's possible.
It still need to be size_t stored in a MemHead in order
to make us keep track on memory we're requesting from
the system, not memory which system is allocating. This
is probably also faster than using a malloc's usable
size function.

Lock-free guarded allocator will say you whether all
the blocks were freed, but wouldn't give you a list
of unfreed blocks list. To have such a list use a
--debug or --debug-memory command line arguments.

Debug builds does have the same behavior as release
builds. This is so tools like valgrind are not
screwed up by guarded allocator as they're currently
are.

--
svn merge -r59941:59942 -r60072:60073 -r60093:60094 \
          -r60095:60096 ^/branches/soc-2013-depsgraph_mt



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60658 954f8c5b-7b00-dc11-b283-0030488c597c
Bake vertex colors should include vertex color alpha as well.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60659 954f8c5b-7b00-dc11-b283-0030488c597c
NodeSocket RNA property 'in_out' renamed as boolean 'is_output'. This is a more useful name and follows the API naming conventions better.
http://wiki.blender.org/index.php/Extensions:2.6/Py/API_Changes#Node_Socket_in_out

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60660 954f8c5b-7b00-dc11-b283-0030488c597c
Change to node output socket drawing: Instead of always drawing only the socket label for outputs, leave this check up to the socket type draw function. This gives custom node scripts more flexibility in
how to draw socket values by allowing buttons on output sockets as well.

http://wiki.blender.org/index.php/Extensions:2.6/Py/API_Changes#Python_Node_Output_Drawing

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60661 954f8c5b-7b00-dc11-b283-0030488c597c
Get rid of the draw_input/draw_output callbacks for nodes. These are pretty useless wrappers around socket draw functions. Only use-case is the File Output node, which draws socket format type instead of
an input value. This is now a special case in the standard socket type drawing, but should eventually become a socket type of its own for the File Output node.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60662 954f8c5b-7b00-dc11-b283-0030488c597c
Made node socket flags into enum.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60663 954f8c5b-7b00-dc11-b283-0030488c597c
ocio build fix for Windows
report by email and patch by Benoit Bolsee

"It is a basic compilation bug (variable defined in a c file and declared
in the c++ file: name decoration will change the name in the c++ file
and the linker will not find it)"

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@60664 954f8c5b-7b00-dc11-b283-0030488c597c