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