Commit: 9f18e3acd6bffb15a268e4375394328d9869ac38
Author: Sergey Sharybin
Date:   Thu Jul 28 12:31:01 2016 +0200
Branches: master
https://developer.blender.org/rB9f18e3acd6bffb15a268e4375394328d9869ac38

Cycles: Fix wrong order of light manager update tag

Shader's has_surface_emission will only be known for sure after compilation.

===================================================================

M       intern/cycles/render/svm.cpp

===================================================================

diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp
index f0e7ee2..1a16688 100644
--- a/intern/cycles/render/svm.cpp
+++ b/intern/cycles/render/svm.cpp
@@ -65,20 +65,21 @@ void SVMShaderManager::device_update(Device *device, 
DeviceScene *dscene, Scene
                svm_nodes.push_back(make_int4(NODE_SHADER_JUMP, 0, 0, 0));
                svm_nodes.push_back(make_int4(NODE_SHADER_JUMP, 0, 0, 0));
        }
-       
+
        foreach(Shader *shader, scene->shaders) {
                if(progress.get_cancel()) return;
 
                assert(shader->graph);
 
-               if(shader->use_mis && shader->has_surface_emission)
-                       scene->light_manager->need_update = true;
-
                SVMCompiler::Summary summary;
                SVMCompiler compiler(scene->shader_manager, 
scene->image_manager);
                compiler.background = (shader == scene->default_background);
                compiler.compile(scene, shader, svm_nodes, shader->id, 
&summary);
 
+               if(shader->use_mis && shader->has_surface_emission) {
+                       scene->light_manager->need_update = true;
+               }
+
                VLOG(2) << "Compilation summary:\n"
                        << "Shader name: " << shader->name << "\n"
                        << summary.full_report();

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to