From 0f8ad228c38a26f467c3ea5f2932f04247986f9f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 6 Feb 2014 21:09:46 +0100 Subject: Fix T38526: crash using blackbody node on background with multiple importance sampling. --- intern/cycles/render/scene.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'intern') diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp index da790b6fcc9..71f5a9dafed 100644 --- a/intern/cycles/render/scene.cpp +++ b/intern/cycles/render/scene.cpp @@ -136,7 +136,7 @@ void Scene::device_update(Device *device_, Progress& progress) * - Image manager uploads images used by shaders. * - Camera may be used for adapative subdivison. * - Displacement shader must have all shader data available. - * - Light manager needs final mesh data to compute emission CDF. + * - Light manager needs lookup tables and final mesh data to compute emission CDF. */ image_manager->set_pack_images(device->info.pack_images); @@ -171,6 +171,16 @@ void Scene::device_update(Device *device_, Progress& progress) if(progress.get_cancel()) return; + progress.set_status("Updating Film"); + film->device_update(device, &dscene, this); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Lookup Tables"); + lookup_tables->device_update(device, &dscene); + + if(progress.get_cancel()) return; + progress.set_status("Updating Meshes"); mesh_manager->device_update(device, &dscene, this, progress); @@ -186,21 +196,11 @@ void Scene::device_update(Device *device_, Progress& progress) if(progress.get_cancel()) return; - progress.set_status("Updating Film"); - film->device_update(device, &dscene, this); - - if(progress.get_cancel()) return; - progress.set_status("Updating Integrator"); integrator->device_update(device, &dscene, this); if(progress.get_cancel()) return; - progress.set_status("Updating Lookup Tables"); - lookup_tables->device_update(device, &dscene); - - if(progress.get_cancel()) return; - progress.set_status("Updating Device", "Writing constant memory"); device->const_copy_to("__data", &dscene.data, sizeof(dscene.data)); } -- cgit v1.2.3