From f5535fcb83fd7c1374697923b43565c9e303d225 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 3 Jul 2017 05:25:27 +0200 Subject: Fi T51023: MixRGB constant folding not effective with clamp option. --- intern/cycles/render/constant_fold.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'intern/cycles/render') diff --git a/intern/cycles/render/constant_fold.cpp b/intern/cycles/render/constant_fold.cpp index 2569d9eec27..9db875ea4f1 100644 --- a/intern/cycles/render/constant_fold.cpp +++ b/intern/cycles/render/constant_fold.cpp @@ -160,8 +160,15 @@ bool ConstantFolder::try_bypass_or_make_constant(ShaderInput *input, bool clamp) bypass(input->link); return true; } - - return false; + else { + /* disconnect other inputs if we can't fully bypass due to clamp */ + foreach(ShaderInput *other, node->inputs) { + if(other != input && other->link) { + graph->disconnect(other); + } + } + return false; + } } bool ConstantFolder::is_zero(ShaderInput *input) const -- cgit v1.2.3