forked from bartvdbraak/blender
Fix T73921: Eevee volume render test memory leak in Mantaflow
Fixed memory leak that showed up after the original issue (crash) had been fixed in 93ac4709ebe8. The fix ensures that light cache bakes free up GPU smoke textures and the smoke domain list correctly. This commit also removes the workaround (f3a33a92987f) that disabled light cache bakes for fluid objects.
This commit is contained in:
parent
7d56c425f8
commit
5260aaf3b1
@ -777,6 +777,8 @@ static void eevee_lightbake_delete_resources(EEVEE_LightBake *lbake)
|
||||
if (!lbake->resource_only) {
|
||||
BLI_mutex_unlock(lbake->mutex);
|
||||
}
|
||||
|
||||
EEVEE_volumes_free_smoke_textures();
|
||||
}
|
||||
|
||||
/* Cache as in draw cache not light cache. */
|
||||
|
@ -178,8 +178,6 @@ void EEVEE_volumes_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
|
||||
|
||||
const float *viewport_size = DRW_viewport_size_get();
|
||||
|
||||
BLI_listbase_clear(&e_data.smoke_domains);
|
||||
|
||||
const int tile_size = scene_eval->eevee.volumetric_tile_size;
|
||||
|
||||
/* Find Froxel Texture resolution. */
|
||||
|
@ -35,13 +35,6 @@ def setup():
|
||||
# mat.use_screen_refraction = True
|
||||
mat.use_sss_translucency = True
|
||||
|
||||
# Workaround for crash with Mantaflow (T73921).
|
||||
use_light_cache_bake = True
|
||||
for ob in bpy.data.objects:
|
||||
for mod in ob.modifiers:
|
||||
if mod.type == 'FLUID':
|
||||
use_light_cache_bake = False
|
||||
|
||||
cubemap = None
|
||||
grid = None
|
||||
# Does not work in edit mode
|
||||
@ -86,8 +79,7 @@ def setup():
|
||||
eevee.gi_visibility_resolution = '16'
|
||||
eevee.gi_irradiance_smoothing = 0
|
||||
|
||||
if use_light_cache_bake:
|
||||
bpy.ops.scene.light_cache_bake()
|
||||
bpy.ops.scene.light_cache_bake()
|
||||
|
||||
|
||||
# When run from inside Blender, render and exit.
|
||||
|
Loading…
Reference in New Issue
Block a user