forked from bartvdbraak/blender
Fix T40195: cycles smoke + persistent images animation render not working correct.
This commit is contained in:
parent
f44e743c72
commit
c6d9b11b70
@ -744,6 +744,17 @@ void ImageManager::device_pack_images(Device *device, DeviceScene *dscene, Progr
|
||||
}
|
||||
}
|
||||
|
||||
void ImageManager::device_free_builtin(Device *device, DeviceScene *dscene)
|
||||
{
|
||||
for(size_t slot = 0; slot < images.size(); slot++)
|
||||
if(images[slot] && images[slot]->builtin_data)
|
||||
device_free_image(device, dscene, slot + tex_image_byte_start);
|
||||
|
||||
for(size_t slot = 0; slot < float_images.size(); slot++)
|
||||
if(float_images[slot] && float_images[slot]->builtin_data)
|
||||
device_free_image(device, dscene, slot);
|
||||
}
|
||||
|
||||
void ImageManager::device_free(Device *device, DeviceScene *dscene)
|
||||
{
|
||||
for(size_t slot = 0; slot < images.size(); slot++)
|
||||
|
@ -62,6 +62,7 @@ public:
|
||||
|
||||
void device_update(Device *device, DeviceScene *dscene, Progress& progress);
|
||||
void device_free(Device *device, DeviceScene *dscene);
|
||||
void device_free_builtin(Device *device, DeviceScene *dscene);
|
||||
|
||||
void set_osl_texture_system(void *texture_system);
|
||||
void set_pack_images(bool pack_images_);
|
||||
|
@ -109,6 +109,8 @@ void Scene::free_memory(bool final)
|
||||
|
||||
if(!params.persistent_data || final)
|
||||
image_manager->device_free(device, &dscene);
|
||||
else
|
||||
image_manager->device_free_builtin(device, &dscene);
|
||||
|
||||
lookup_tables->device_free(device, &dscene);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user