Cycles / OSL:
* Assume OSL libs in the libdir. 

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50286 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #32450: edge slide with multiple loops selected could move some loops
in the wrong direction.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50287 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #32447: mouse selection in uv editor is now no longer registerd as last
operator, same as 3d view.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50288 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #32408: image editor does not show paint brush circle on loading a .blend
file that has paint mode enabled.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50289 954f8c5b-7b00-dc11-b283-0030488c597c
Fix part of #32376: mirror vertex groups with flip group names did not keep
the same vertex group active.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50290 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #32458: changing UV image in image editor not working when the active face
was not selected. Now changed it so that the active face must also have its
UVs shown in the image editor to be used as the source of the image shown.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50292 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #32329: inset produces incorrect result, epsilon was too small to handle
floating point error.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50293 954f8c5b-7b00-dc11-b283-0030488c597c
Fix for #32184 and redesign of particle storage in Cycles.

The particle data used by the Particle Info node was stored in cycles as a list in each object. This is a problem when the particle emitter mesh is hidden: Objects in cycles are only intended as instances of renderable meshes, so when hiding the emitter mesh the particle data doesn't get stored either. Also the particle data can potentially be copied to multiple instances of the same object, which is a waste of texture space.

The solution in this patch is to make a completely separate list of particle systems in the Cycles scene data. This way the particle data can be generated even when the emitter object itself is not visible.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50294 954f8c5b-7b00-dc11-b283-0030488c597c
Added a bunch of additional particle state attributes to the Cycles particle info node:

* Location: Basically the same as the location from Object Info node for object instances on particles, but in principle there could be additional offsets for dupli objects, so included for completeness.
* Size: Single float scale of the particle. Also directly translates to object scale for current dupli objects, but handy to have as a single float to start with instead of a scale vector (currently not even exposed in Object Info).
* Rotation: This is a quaternion, which are not yet supported by Cycles nodes. The float4 is copied to internal Cycles data and stored in the particles texture data, but the node doesn't have a socket for it yet and the data is not yet written to the stack. Code is just commented out so could be enabled quickly if/when rotation support is added to cycles.
* Velocity: Linear velocity vector of particles.
* Angular Velocity: Angular velocity around principle axes.

The texture data is currently packed tightly into the particles texture, which saves a few bytes, but requires an additional texture lookup for some vector attributes which spread over two float4s. Could also add another float4 to particle size to avoid this.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50295 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: Tag particle systems after syncing to make sure the particle system manager updates the device data.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50296 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: Start the particle index for object instances at 1 instead 0. The first particle in the device texture is a dummy for non-instance objects using the particle info node.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50297 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: Fully initialize the dummy particle at index 0.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50298 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles: Fix for particle info node crash: The particle 'alive' state can be set to 'dying', which is just an indicator that the particle will be removed, but it is is used for instancing. This would lead to insufficient texture size and assert crash.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50299 954f8c5b-7b00-dc11-b283-0030488c597c
Possible fix for [#32462] blender cannot load bmp files (Windows OS).
* Typo in the CHECK_HEADER_FIELD macro. 

Patch by kjym3 in IRC, thanks! 

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50300 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles / OSL:
* Fixes for changes in r40163. Removed unused code and fixed emissive_eval function. 

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50301 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles / OSL:
* OSL namespace fixes for osl_shader.cpp. 

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@50302 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles / OSLGlobals:
* Fixes for changes in the Open Shading Langauge API from version 0.6.0: https://github.com/imageworks/OpenShadingLanguage/commit/11ce51418b45e975ace4d919a4bdd8c2001ba300

* Removed the need for ShadingSystemImpl.

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