diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-03-13 20:37:09 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-03-13 20:37:09 +0300 |
commit | 2d4a4fa0c1b617a8d68299c6d4501306867d51fa (patch) | |
tree | a109ae3a33cbce162fee201289ea5faa29414759 | |
parent | 18a9e0776c2e9400449a43f28707cc3e62b0c160 (diff) | |
parent | 6eeac735f2425ce4dffaee747b7e8823a793e464 (diff) |
Merge branch 'blender2.7'
-rw-r--r-- | build_files/build_environment/cmake/openal.cmake | 31 | ||||
-rw-r--r-- | intern/cycles/render/osl.cpp | 4 | ||||
-rw-r--r-- | intern/cycles/render/osl.h | 2 | ||||
-rw-r--r-- | intern/cycles/render/shader.cpp | 4 |
4 files changed, 32 insertions, 9 deletions
diff --git a/build_files/build_environment/cmake/openal.cmake b/build_files/build_environment/cmake/openal.cmake index 3cd3a0aac72..7a693b1fce2 100644 --- a/build_files/build_environment/cmake/openal.cmake +++ b/build_files/build_environment/cmake/openal.cmake @@ -18,18 +18,31 @@ if(BUILD_MODE STREQUAL Release) set(OPENAL_EXTRA_ARGS - -DALSOFT_UTILS=Off - -DALSOFT_NO_CONFIG_UTIL=On - -DALSOFT_EXAMPLES=Off - -DALSOFT_TESTS=Off - -DALSOFT_CONFIG=Off - -DALSOFT_HRTF_DEFS=Off - -DALSOFT_INSTALL=On - -DALSOFT_BACKEND_SNDIO=Off + -DALSOFT_UTILS=OFF + -DALSOFT_NO_CONFIG_UTIL=ON + -DALSOFT_EXAMPLES=OFF + -DALSOFT_TESTS=OFF + -DALSOFT_CONFIG=OFF + -DALSOFT_HRTF_DEFS=OFF + -DALSOFT_INSTALL=ON + -DALSOFT_BACKEND_SNDIO=OFF ) if(UNIX) - set(OPENAL_EXTRA_ARGS ${OPENAL_EXTRA_ARGS} -DLIBTYPE=STATIC) + set(OPENAL_EXTRA_ARGS + ${OPENAL_EXTRA_ARGS} + -DLIBTYPE=STATIC + ) + endif() + + if(UNIX AND NOT APPLE) + # Ensure we have backends for playback. + set(OPENAL_EXTRA_ARGS + ${OPENAL_EXTRA_ARGS} + -DALSOFT_REQUIRE_ALSA=ON + -DALSOFT_REQUIRE_OSS=ON + -DALSOFT_REQUIRE_PULSEAUDIO=ON + ) endif() ExternalProject_Add(external_openal diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp index 3fbc7d33a74..c603dc69a16 100644 --- a/intern/cycles/render/osl.cpp +++ b/intern/cycles/render/osl.cpp @@ -66,6 +66,10 @@ OSLShaderManager::~OSLShaderManager() { shading_system_free(); texture_system_free(); +} + +void OSLShaderManager::free_memory() +{ #ifdef OSL_HAS_BLENDER_CLEANUP_FIX /* There is a problem with llvm+osl: The order global destructors across * different compilation units run cannot be guaranteed, on windows this means diff --git a/intern/cycles/render/osl.h b/intern/cycles/render/osl.h index e196e0be787..93cc3139608 100644 --- a/intern/cycles/render/osl.h +++ b/intern/cycles/render/osl.h @@ -70,6 +70,8 @@ public: OSLShaderManager(); ~OSLShaderManager(); + static void free_memory(); + void reset(Scene *scene); bool use_osl() { return true; } diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index a1a9cfd25f3..21bac460255 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -693,6 +693,10 @@ void ShaderManager::get_requested_features(Scene *scene, void ShaderManager::free_memory() { beckmann_table.free_memory(); + +#ifdef WITH_OSL + OSLShaderManager::free_memory(); +#endif } float ShaderManager::linear_rgb_to_gray(float3 c) |