diff options
Diffstat (limited to 'intern/cycles/render/svm.cpp')
-rw-r--r-- | intern/cycles/render/svm.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index 204c8fa2ce7..2dfa9fc98cc 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -11,7 +11,7 @@ * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and - * limitations under the License + * limitations under the License. */ #include "camera.h" @@ -26,6 +26,7 @@ #include "svm.h" #include "util_debug.h" +#include "util_logging.h" #include "util_foreach.h" #include "util_progress.h" @@ -41,12 +42,14 @@ SVMShaderManager::~SVMShaderManager() { } -void SVMShaderManager::reset(Scene *scene) +void SVMShaderManager::reset(Scene * /*scene*/) { } void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) { + VLOG(1) << "Total " << scene->shaders.size() << " shaders."; + if(!need_update) return; @@ -367,7 +370,7 @@ uint SVMCompiler::attribute(AttributeStandard std) return shader_manager->get_attribute_id(std); } -bool SVMCompiler::node_skip_input(ShaderNode *node, ShaderInput *input) +bool SVMCompiler::node_skip_input(ShaderNode * /*node*/, ShaderInput *input) { /* nasty exception .. */ if(current_type == SHADER_TYPE_DISPLACEMENT && input->link && input->link->parent->name == ustring("bump")) @@ -403,9 +406,9 @@ void SVMCompiler::generate_node(ShaderNode *node, set<ShaderNode*>& done) current_shader->has_heterogeneous_volume = true; } - /* detect if we have a blackbody converter, to prepare lookup table */ - if(node->has_converter_blackbody()) - current_shader->has_converter_blackbody = true; + if(node->has_object_dependency()) { + current_shader->has_object_dependency = true; + } } void SVMCompiler::generate_svm_nodes(const set<ShaderNode*>& nodes, set<ShaderNode*>& done) @@ -752,10 +755,10 @@ void SVMCompiler::compile(Shader *shader, vector<int4>& global_svm_nodes, int in shader->has_surface_transparent = false; shader->has_surface_bssrdf = false; shader->has_bssrdf_bump = false; - shader->has_converter_blackbody = false; shader->has_volume = false; shader->has_displacement = false; shader->has_heterogeneous_volume = false; + shader->has_object_dependency = false; /* generate surface shader */ compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); |