diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-04-16 04:03:24 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-04-23 19:53:37 +0300 |
commit | c07bce5bf2b35d66a5574b40f8d9378086e9117f (patch) | |
tree | 82deef172b78fc85bb5b037fdceeae0dac5b3a5c | |
parent | 8982f0cfee417f3cc9612666db1eac4f3e965de9 (diff) |
Fix T63796: Cycles OSL shader with closure not working in final render.
-rw-r--r-- | intern/cycles/render/session.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index d4b1a5e843b..beb82f2ab7d 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -1131,6 +1131,12 @@ void Session::collect_statistics(RenderStats *render_stats) int Session::get_max_closure_count() { + if (scene->shader_manager->use_osl()) { + /* OSL always needs the maximum as we can't predict the + * number of closures a shader might generate. */ + return MAX_CLOSURE; + } + int max_closures = 0; for(int i = 0; i < scene->shaders.size(); i++) { int num_closures = scene->shaders[i]->graph->get_num_closures(); |