Page MenuHome

Update OIDN to 1.2.0
Needs ReviewPublic

Authored by Ray molenkamp (LazyDodo) on Wed, May 6, 5:25 PM.
"Love" token, awarded by amonpaike."Love" token, awarded by EAW."Love" token, awarded by 14AUDDIN.


  • Update cmake builder
  • Windows
  • Mac
  • Linux - cmake builder
  • Linux - install deps

Oh boy, sometimes bumping a version is as easy as changing version.cmake, this is not one of those.

Notes OIDN:

  • New build time dependency on ISPC, so I added the latest ISPC version
  • the ISPC version we used defines uint8/16/32 which OIDN also does, so that collided, fixed with an ifdef
  • OIDN_STATIC_LIB, I don't know where to begin here, it just doesn't work, I can't see how it would work, and can't see how it ever worked. Generally I try to do as few changes as possible and when I do them, and I'll try to stick to something that we may be able to upstream, once more not one of those, I pretty much bluntly changed what was needed to make it build, regardless if it made any sense or not. Out of the box enabling OIDN_STATIC_LIB makes cmake not even finish the configuration phrase
  • They changed a bunch of their library names
  • Not tested with any of the other OS's, and I'm fairly it needs some further tweaks for those.

Notes ISPC

  • Given it is a build time requirement and is not needed at link time for blender, there is not harvest/post build install stage for it, no libs or binaries need to be added to SVN
  • ISPC is counting on clang and llvm sharing a root folder, which we don't, so that needed some small tweaks in their CMakeLists.txt
  • Needed M4 at build time, added to the mingw setup, going on a stretch here and assume every linux/mac will have it

Diff Detail

rB Blender
arcpatch-D7641 (branched from master)
Build Status
Buildable 8200
Build 8200: arc lint + arc unit

Event Timeline

Ray molenkamp (LazyDodo) requested review of this revision.Wed, May 6, 5:25 PM
Ray molenkamp (LazyDodo) created this revision.
Ray molenkamp (LazyDodo) edited the summary of this revision. (Show Details)Wed, May 6, 5:45 PM

Given the hassle it is to build static and there's very few upsides, how committed are we to the whole "link what we can statically" ?

I'm not particularly committed to it, I'm not even sure it's all that helpful. I'm fine with using dynamic linking more, it will help improve build times as well.

Think the only thing against dynamic linking would be clutter in the binary folder, but D6399 should deal with that nicely.

Fix Linux and macOS build