Page MenuHome

Support for different osl versions.

Authored by Shane Ambler (sambler) on Feb 4 2015, 3:15 PM.



Recently a patch was added to the osl libraries by a blender developer that allows a render engine to specify the alignment used in closure data storage. This patch addressed some stability issues we had and has been added to the osl 1.5.x libraries used to build the recent release of blender.

This patch will only be officially included in osl 1.6.x and will not be added to the osl 1.5.x releases. See comment by Larry Gritz on this commit.

Currently blender only compiles against osl libs containing this patch. My attached patch allows blender to compile against older 1.5.x osl libs that don't include this patch. It is assumed that osl libs from 1.5.11 will unofficially include this patch to be used with blender.

Related to this is the fact that blender currently does not compile with osl 1.4.x libs. With osl 1.6 being considered for release fairly soon, I pose the question of whether we want to include support for osl less than 1.6.0? and is there any need to fix compiling against osl 1.4.x?

If only osl 1.6 is to be supported from the next blender released after osl 1.6, then osl version conditionals could start to be removed and this patch can be discarded. If we don't want to support blender being compiled without the osl patch mentioned above then this can also be discarded.

As there is no technical reason preventing osl 1.6 being compiled on the same machine as blender master and the fact that osl hasn't been overly popular in blender, I vote that there will be no need to maintain support for older osl versions.

Diff Detail

Event Timeline

Shane Ambler (sambler) retitled this revision from to Support for different osl versions..Feb 4 2015, 3:15 PM
Shane Ambler (sambler) updated this object.
Shane Ambler (sambler) set the repository for this revision to rB Blender.
Shane Ambler (sambler) added a project: Cycles.
Shane Ambler (sambler) updated this revision to Diff 3358.
Sergey Sharybin (sergey) requested changes to this revision.

The answer is: we don't want to support OSL prior to the alignment changes. This is because blender is basically unstable with those version of OSL.

We should support few versions of OSL after that fix tho, so blender is not becoming major pain in the butt for system maintainers. Don't see good reasons not to, we did that for until OSL crashes became real issue and we managed to nail them down.

If there's something else to be changed for upcoming OSL 1.6 (apart from those little changes i did some time ago) then i'll be happy to apply. If not i'd just suggest make it OSL>=1.6 after it is officially released and require downstreaming the patch meanwhile.

This revision now requires changes to proceed.Feb 4 2015, 9:47 PM