Cycles: Remove meaningless volume shaders
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 21 Mar 2017 16:18:25 +0000 (17:18 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 18 Apr 2017 09:20:39 +0000 (11:20 +0200)
commitdd356ec08d07ac61c7cf1ddba3772b2df1e176a6
tree9c4707b0bcfa8967161e0cc0355095eabb39c442
parentbb8f7784ce1b159cd47d0f960589a18c90ceb32f
Cycles: Remove meaningless volume shaders

This is possible to use surface-only nodes and connect them to volume output.
If there was something connected to surface output those extra connections
will not change anything visually but will force volume features to be included
into feature-adaptive kernels.

In fact, this exact reason seems to be causing slowdown of Barcelone file
comparing AMD OpenCL to NVidia CUDA.

Currently only supported by the final F12 renders because of the current design
of what gets optimized out when and how feature-adaptive kernel accesses
list of required features.

Reviewers: dingto, nirved, maiself, lukasstockner97, brecht

Reviewed By: brecht

Subscribers: bliblubli

Differential Revision: https://developer.blender.org/D2569
intern/cycles/render/graph.cpp
intern/cycles/render/graph.h
intern/cycles/render/nodes.h