diff options
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_effects.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_effects.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c index 91426b36415..79569216399 100644 --- a/source/blender/draw/engines/eevee/eevee_effects.c +++ b/source/blender/draw/engines/eevee/eevee_effects.c @@ -160,8 +160,8 @@ void EEVEE_effects_init(EEVEE_ViewLayerData *sldata, effects->enabled_effects |= EEVEE_temporal_sampling_init(sldata, vedata); effects->enabled_effects |= EEVEE_occlusion_init(sldata, vedata); effects->enabled_effects |= EEVEE_screen_raytrace_init(sldata, vedata); - effects->enabled_effects |= EEVEE_volumes_init(sldata, vedata); + EEVEE_volumes_init(sldata, vedata); EEVEE_subsurface_init(sldata, vedata); /* Force normal buffer creation. */ @@ -263,16 +263,6 @@ void EEVEE_effects_init(EEVEE_ViewLayerData *sldata, GPU_FRAMEBUFFER_FREE_SAFE(fbl->double_buffer_depth_fb); } - /** - * Setup double buffer so we can access last frame as it was before post processes. - */ - if ((effects->enabled_effects & EFFECT_DOUBLE_BUFFER) != 0) { - SETUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); - } - else { - CLEANUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); - } - if ((effects->enabled_effects & (EFFECT_TAA | EFFECT_TAA_REPROJECT)) != 0) { SETUP_BUFFER(txl->taa_history, fbl->taa_history_fb, fbl->taa_history_color_fb); } @@ -384,6 +374,23 @@ void EEVEE_effects_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) } } +void EEVEE_effects_draw_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata) +{ + EEVEE_FramebufferList *fbl = vedata->fbl; + EEVEE_TextureList *txl = vedata->txl; + EEVEE_EffectsInfo *effects = vedata->stl->effects; + DefaultTextureList *dtxl = DRW_viewport_texture_list_get(); + /** + * Setup double buffer so we can access last frame as it was before post processes. + */ + if ((effects->enabled_effects & EFFECT_DOUBLE_BUFFER) != 0) { + SETUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); + } + else { + CLEANUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); + } +} + #if 0 /* Not required for now */ static void min_downsample_cb(void *vedata, int UNUSED(level)) { |