Cycles: Fix wrong order of light manager update tag
Shader's has_surface_emission will only be known for sure after compilation.
This commit is contained in:
@@ -71,14 +71,15 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene
|
|||||||
|
|
||||||
assert(shader->graph);
|
assert(shader->graph);
|
||||||
|
|
||||||
if(shader->use_mis && shader->has_surface_emission)
|
|
||||||
scene->light_manager->need_update = true;
|
|
||||||
|
|
||||||
SVMCompiler::Summary summary;
|
SVMCompiler::Summary summary;
|
||||||
SVMCompiler compiler(scene->shader_manager, scene->image_manager);
|
SVMCompiler compiler(scene->shader_manager, scene->image_manager);
|
||||||
compiler.background = (shader == scene->default_background);
|
compiler.background = (shader == scene->default_background);
|
||||||
compiler.compile(scene, shader, svm_nodes, shader->id, &summary);
|
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"
|
VLOG(2) << "Compilation summary:\n"
|
||||||
<< "Shader name: " << shader->name << "\n"
|
<< "Shader name: " << shader->name << "\n"
|
||||||
<< summary.full_report();
|
<< summary.full_report();
|
||||||
|
Reference in New Issue
Block a user