diff options
Diffstat (limited to 'intern/cycles/render/light.cpp')
-rw-r--r-- | intern/cycles/render/light.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp index cd19b03ac53..9adf8e5341a 100644 --- a/intern/cycles/render/light.cpp +++ b/intern/cycles/render/light.cpp @@ -181,7 +181,6 @@ bool Light::has_contribution(Scene *scene) LightManager::LightManager() { need_update = true; - need_update_background = true; use_light_visibility = false; } @@ -902,7 +901,7 @@ void LightManager::device_update(Device *device, VLOG(1) << "Total " << scene->lights.size() << " lights."; - device_free(device, dscene, need_update_background); + device_free(device, dscene); use_light_visibility = false; @@ -916,11 +915,9 @@ void LightManager::device_update(Device *device, if (progress.get_cancel()) return; - if (need_update_background) { - device_update_background(device, dscene, scene, progress); - if (progress.get_cancel()) - return; - } + device_update_background(device, dscene, scene, progress); + if (progress.get_cancel()) + return; device_update_ies(dscene); if (progress.get_cancel()) @@ -932,17 +929,14 @@ void LightManager::device_update(Device *device, } need_update = false; - need_update_background = false; } -void LightManager::device_free(Device *, DeviceScene *dscene, const bool free_background) +void LightManager::device_free(Device *, DeviceScene *dscene) { dscene->light_distribution.free(); dscene->lights.free(); - if (free_background) { - dscene->light_background_marginal_cdf.free(); - dscene->light_background_conditional_cdf.free(); - } + dscene->light_background_marginal_cdf.free(); + dscene->light_background_conditional_cdf.free(); dscene->ies_lights.free(); } @@ -995,7 +989,6 @@ int LightManager::add_ies(const string &content) ies_slots[slot]->hash = hash; need_update = true; - need_update_background = true; return slot; } @@ -1014,7 +1007,6 @@ void LightManager::remove_ies(int slot) /* If the slot has no more users, update the device to remove it. */ need_update |= (ies_slots[slot]->users == 0); - need_update_background |= need_update; } void LightManager::device_update_ies(DeviceScene *dscene) |