EEVEE: Volumetrics
When viewport samples are set to 1 simple scenes with volumetrics crash. EEVEE volumetrics needs to init the post processing buffers. With recent changes the need for post processing buffers are known after the cache init. But they are constructed before the cache init. This lead to null pointers. Reviewed By: fclem Maniphest Tasks: T64922 Differential Revision: https://developer.blender.org/D4942
This commit is contained in:
parent
d8f096406b
commit
5986160dd0
|
@ -174,16 +174,6 @@ void EEVEE_effects_init(EEVEE_ViewLayerData *sldata,
|
|||
effects->enabled_effects |= EFFECT_ALPHA_CHECKER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ping Pong buffer
|
||||
*/
|
||||
if ((effects->enabled_effects & EFFECT_POST_BUFFER) != 0) {
|
||||
SETUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb);
|
||||
}
|
||||
else {
|
||||
CLEANUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb);
|
||||
}
|
||||
|
||||
/**
|
||||
* MinMax Pyramid
|
||||
*/
|
||||
|
@ -385,6 +375,16 @@ void EEVEE_effects_draw_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *ve
|
|||
else {
|
||||
CLEANUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ping Pong buffer
|
||||
*/
|
||||
if ((effects->enabled_effects & EFFECT_POST_BUFFER) != 0) {
|
||||
SETUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb);
|
||||
}
|
||||
else {
|
||||
CLEANUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb);
|
||||
}
|
||||
}
|
||||
|
||||
#if 0 /* Not required for now */
|
||||
|
|
|
@ -221,7 +221,7 @@ void EEVEE_volumes_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
|
|||
current_sample = effects->taa_current_sample - 1;
|
||||
effects->volume_current_sample = -1;
|
||||
}
|
||||
else {
|
||||
else if (DRW_state_is_image_render()) {
|
||||
const uint max_sample = (ht_primes[0] * ht_primes[1] * ht_primes[2]);
|
||||
current_sample = effects->volume_current_sample = (effects->volume_current_sample + 1) %
|
||||
max_sample;
|
||||
|
|
Loading…
Reference in New Issue