Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-05-23 15:09:27 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-05-23 15:09:27 +0300
commit2aa4b6045a1d249025bb8eb2f19fcc72d0739341 (patch)
tree913ca3e5207daa420febb572793011cbc30ed955 /intern/cycles/render/graph.h
parent6894bb055554b8db0af1fcfdec6e3fa5f088e777 (diff)
Cycles: Fix wrong closure counter in feature adaptive kernel
Some closures were missing from calculation, leading to an array under-allocation, presumable causing memory corruption issues with emission shaders on OpenCL and was causing issues with Volume 3D textures with CUDA. The issue was identified by Thomas Dinges, the patch is different from the original D2006. See the brief discussion there. Current approach is similar (or the same) as Brecht suggested.
Diffstat (limited to 'intern/cycles/render/graph.h')
-rw-r--r--intern/cycles/render/graph.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h
index b1ebdbfd51d..bd3f5ca689a 100644
--- a/intern/cycles/render/graph.h
+++ b/intern/cycles/render/graph.h
@@ -237,6 +237,9 @@ public:
*/
virtual int get_feature() { return bump == SHADER_BUMP_NONE ? 0 : NODE_FEATURE_BUMP; }
+ /* Get closure ID to which the node compiles into. */
+ virtual ClosureType get_closure_type() { return CLOSURE_NONE_ID; }
+
/* Check whether settings of the node equals to another one.
*
* This is mainly used to check whether two nodes can be merged