Cycles OpenCL: patch #35514 by Doug Gale
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Mon, 27 May 2013 16:21:07 +0000 (16:21 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Mon, 27 May 2013 16:21:07 +0000 (16:21 +0000)
commit4bdb54a76e3b15f99f2efc149b9d78aeef3203a4
tree24defa9eeb8e4d7d04508fbca6229ffe23e13d9b
parent5460e31d56fda5957cf13f77c910d378d4bd85fb
Cycles OpenCL: patch #35514 by Doug Gale

* Support using devices from all OpenCL platforms, so that you can use e.g. both
  Intel and NVidia OpenCL implementations if you have them installed.
* Fix compile error due to missing fmodf after recent math node change.
* Enable advanced shading for Intel OpenCL.
* CYCLES_OPENCL_DEBUG environment variable for generating debug symbols so you
  can debug with gdb. This crashes the compiler with Intel OpenCL on Linux though.
  To make this work the preprocessed kernel source code is written out, as gdb
  needs this.
* Show OpenCL compiler warnings even if the build succeeded.
* Some small fixes to initialize cdDevice to NULL, add missing NULL check when
  creating buffer and add missing space at end of build options for Apple OpenCL.
* Fix crash with multi device + opencl, now e.g. CPU + GPU render should work.

I did a few tweaks to the code and also:

* Fix viewport render failing sometimes with Apple CPU OpenCL, was not taking
  workgroup size limits into account properly.
* Add compile error when advanced shading in the Blender binary and OpenCL kernel
  are not in sync.
intern/cycles/device/device_opencl.cpp
intern/cycles/kernel/kernel_compat_opencl.h
intern/cycles/kernel/kernel_types.h
intern/cycles/util/util_path.cpp
intern/cycles/util/util_path.h