Fix T73921: Eevee volume render test memory leak in Mantaflow
Fixed memory leak that showed up after the original issue (crash) had been fixed in93ac4709eb. The fix ensures that light cache bakes free up GPU smoke textures and the smoke domain list correctly. This commit also removes the workaround (f3a33a9298) that disabled light cache bakes for fluid objects.
This commit is contained in:
@@ -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,7 +79,6 @@ def setup():
|
||||
eevee.gi_visibility_resolution = '16'
|
||||
eevee.gi_irradiance_smoothing = 0
|
||||
|
||||
if use_light_cache_bake:
|
||||
bpy.ops.scene.light_cache_bake()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user