EEVEE: LightCache: Add warning if the cache cannot be saved

This commit is contained in:
Clément Foucault 2020-08-05 02:26:16 +02:00
parent 6390b530d0
commit fce71a255c
Notes: blender-bot 2023-02-14 02:22:13 +01:00
Referenced by issue #77348, Blender LTS: Maintenance Task 2.83
1 changed files with 22 additions and 0 deletions

View File

@ -203,6 +203,21 @@ static bool eevee_lightcache_version_check(LightCache *lcache)
}
}
static bool eevee_lightcache_can_be_saved(LightCache *lcache)
{
if (lcache->grid_tx.data) {
if (MEM_allocN_len(lcache->grid_tx.data) >= INT_MAX) {
return false;
}
}
if (lcache->cube_tx.data) {
if (MEM_allocN_len(lcache->cube_tx.data) >= INT_MAX) {
return false;
}
}
return true;
}
static int eevee_lightcache_irradiance_sample_count(LightCache *lcache)
{
int total_irr_samples = 0;
@ -246,6 +261,13 @@ void EEVEE_lightcache_info_update(SceneEEVEE *eevee)
return;
}
if (!eevee_lightcache_can_be_saved(lcache)) {
BLI_strncpy(eevee->light_cache_info,
TIP_("Error: LightCache is too large and will not be saved to disk"),
sizeof(eevee->light_cache_info));
return;
}
char formatted_mem[15];
BLI_str_format_byte_unit(formatted_mem, eevee_lightcache_memsize_get(lcache), false);