[Bf-blender-cvs] [9f18e3a] master: Cycles: Fix wrong order of light manager update tag
Sergey Sharybin
noreply at git.blender.org
Thu Jul 28 12:51:47 CEST 2016
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();
More information about the Bf-blender-cvs
mailing list