Page MenuHome

CMake: decouple WITH_CYCLES_OPENSUBDIV from WITH_OPENSUBDIV, and enable on OS X.
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Sep 13 2016, 11:11 PM.

Details

Summary

OpenSubdiv is currently disabled on OS X due to OpenGL limitations. But for Cycles it works fine, so this decouples the options so we can enable Cycles OpenSubdiv support in the release.

I've just updated the OS X OpenSubdiv library to 3.0.5 in rBL61726: OS X: update OpenSubdiv to 3.0.5., same version as used on Windows.

Diff Detail

Repository
rB Blender
Branch
c-osd
Build Status
Buildable 161
Build 161: arc lint + arc unit

Event Timeline

Brecht Van Lommel (brecht) retitled this revision from to CMake: decouple WITH_CYCLES_OPENSUBDIV from WITH_OPENSUBDIV, and enable on OS X..
Brecht Van Lommel (brecht) updated this object.
Sergey Sharybin (sergey) requested changes to this revision.Sep 13 2016, 11:25 PM
Sergey Sharybin (sergey) edited edge metadata.

You have to update conig files from build_files/cmake/config.

This revision now requires changes to proceed.Sep 13 2016, 11:25 PM
Brecht Van Lommel (brecht) edited edge metadata.

Update blender_lite.cmake.

blender_lite.cmake was missing WITH_OPENSUBDIV, so I've added both options there now. I don't see anything else that needs updating.

Sergey Sharybin (sergey) edited edge metadata.

From the code itself seems fine now. Couple of related questions tho:

  • Did you compile OSD with deployment target of OSX 10.6?
  • Do we want to be brave and backport this to 2.78 branch? Somehow i don't feel safe about this, especially since can't really test it well and respond to possible issues. Especially since we already crossed RC1 border. Any strong opinion? @Martijn Berger (juicyfruit), @Bastien Montagne (mont29)?
build_files/cmake/platform/platform_apple.cmake
56

Eeh, did we call it OSL for ages??

This revision is now accepted and ready to land.Sep 14 2016, 9:30 AM

I would play it safe and not backport it to 2.78… Cycles' microdisplacement is experimental in this release anyway, so think this can wait for later. Not OSX maintainer though, so will leave final word to guys who know more about it. ;)

This revision was automatically updated to reflect the committed changes.

The libraries were built with deployment target 10.6. I checked that the feature works, and that otool -L shows no new library dependencies.

Personally I think this is relatively safe and I can handle issues if they come up. It's indeed an experimental feature but lots of people are testing it, I would rather have it work the same on all platforms in 2.78 than have to mention the exception in the release notes.

Ok, will backport and let OSX team to handle it from that point :)