From 2bec6f1f06dff400d3b5abd08064ef05312a29bf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 24 Mar 2020 01:27:38 +0100 Subject: Cycles: work around OpenCL performance regression after AOVs and vector rotate We appear to be hitting some limit where adding any amount of code causes a significant performance regression, no matter what it does. To work around that a new node level was added. Ref T71479 --- intern/cycles/render/nodes.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'intern/cycles/render/nodes.h') diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index e79de34bc2c..e201118574b 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -197,6 +197,11 @@ class OutputAOVNode : public ShaderNode { ustring name; + virtual int get_group() + { + return NODE_GROUP_LEVEL_4; + } + /* Don't allow output node de-duplication. */ virtual bool equals(const ShaderNode & /*other*/) { @@ -339,7 +344,7 @@ class PointDensityTextureNode : public ShaderNode { SHADER_NODE_NO_CLONE_CLASS(PointDensityTextureNode) virtual int get_group() { - return NODE_GROUP_LEVEL_3; + return NODE_GROUP_LEVEL_4; } ~PointDensityTextureNode(); -- cgit v1.2.3