Deduplicate CUDA and OpenCL wranglers
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 5 Aug 2014 07:57:50 +0000 (13:57 +0600)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 5 Aug 2014 07:57:50 +0000 (13:57 +0600)
commit77b7e1fe9abb882b7bd1d60f5273e03f079d8a54
tree5b23af40e4995e79e584f3ea700f809e7ffbf276
parenta3fac84c733f2bf0837dd2719199ee9b76bb7b36
Deduplicate CUDA and OpenCL wranglers

For now it was mainly about OpenCL wrangler being duplicated
between Cycles and Compositor, but with OpenSubdiv work those
wranglers were gonna to be duplicated just once again.

This commit makes it so Cycles and Compositor uses wranglers
from this repositories:

  - https://github.com/CudaWrangler/cuew
  - https://github.com/OpenCLWrangler/clew

This repositories are based on the wranglers we used before
and they'll be likely continued maintaining by us plus some
more players in the market.

Pretty much straightforward change with some tricks in the
CMake/SCons to make this libs being passed to the linker
after all other libraries in order to make OpenSubdiv linked
against those wranglers in the future.

For those who're worrying about Cycles being less standalone,
it's not truth, it's rather more flexible now and in the future
different wranglers might be used in Cycles. For now it'll
just mean those libs would need to be put into Cycles repository
together with some other libs from Blender such as mikkspace.

This is mainly platform maintenance commit, should not be any
changes to the user space.

Reviewers: juicyfruit, dingto, campbellbarton

Reviewed By: juicyfruit, dingto, campbellbarton

Differential Revision: https://developer.blender.org/D707
46 files changed:
SConstruct
build_files/cmake/macros.cmake
extern/CMakeLists.txt
extern/SConscript
extern/clew/CMakeLists.txt [new file with mode: 0644]
extern/clew/SConscript [new file with mode: 0644]
extern/clew/include/clew.h [new file with mode: 0644]
extern/clew/src/clew.c [new file with mode: 0644]
extern/cuew/CMakeLists.txt [moved from intern/opencl/CMakeLists.txt with 88% similarity]
extern/cuew/LICENSE [new file with mode: 0644]
extern/cuew/README [new file with mode: 0644]
extern/cuew/SConscript [moved from intern/opencl/SConscript with 85% similarity]
extern/cuew/auto/cuda_errors.py [new file with mode: 0644]
extern/cuew/auto/cuda_extra.py [new file with mode: 0644]
extern/cuew/auto/cuew_gen.py [new file with mode: 0644]
extern/cuew/auto/cuew_gen.sh [new file with mode: 0755]
extern/cuew/auto/stdlib.h [new file with mode: 0644]
extern/cuew/include/cuew.h [new file with mode: 0644]
extern/cuew/src/cuew.c [new file with mode: 0644]
intern/CMakeLists.txt
intern/SConscript
intern/cycles/SConscript
intern/cycles/app/CMakeLists.txt
intern/cycles/device/CMakeLists.txt
intern/cycles/device/device.cpp
intern/cycles/device/device_cuda.cpp
intern/cycles/device/device_intern.h
intern/cycles/device/device_opencl.cpp
intern/cycles/util/CMakeLists.txt
intern/cycles/util/util_cuda.cpp [deleted file]
intern/cycles/util/util_cuda.h [deleted file]
intern/cycles/util/util_opencl.cpp [deleted file]
intern/cycles/util/util_opencl.h [deleted file]
intern/opencl/OCL_opencl.h [deleted file]
intern/opencl/intern/OCL_opencl.c [deleted file]
intern/opencl/intern/clew.c [deleted file]
intern/opencl/intern/clew.h [deleted file]
source/blender/compositor/CMakeLists.txt
source/blender/compositor/SConscript
source/blender/compositor/intern/COM_NodeOperation.h
source/blender/compositor/intern/COM_OpenCLDevice.cpp
source/blender/compositor/intern/COM_OpenCLDevice.h
source/blender/compositor/intern/COM_WorkScheduler.cpp
source/blender/compositor/intern/COM_compositor.cpp
source/blender/compositor/operations/COM_DirectionalBlurOperation.cpp
source/blenderplayer/CMakeLists.txt